feat: 添加gtp坐标转换器

main v1.3.1
NoahLan 11 months ago
parent 20e9de7583
commit 72693f1319

@ -0,0 +1,31 @@
package gtp
import (
"fmt"
"git.noahlan.cn/noahlan/ntool/nmath"
"strings"
)
const alpha = "abcdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ" // 无 'I' 的alpha
func Point(x, y int) string {
if x < 0 || x >= 50 || y < 0 || y >= 50 {
return ""
}
return fmt.Sprintf("%s%d", byteToString(alpha[x]), y+1)
}
func byteToString(b byte) string {
return string([]byte{b})
}
func ParsePoint(pos string) (x, y int) {
x = byteToIndex(pos[0])
y, _ = nmath.Int(pos[1:])
y = y - 1
return
}
func byteToIndex(b byte) int {
return strings.Index(alpha, string([]byte{b}))
}
Loading…
Cancel
Save