1 Star 0 Fork 0

larry_dev/gtpengine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

GTPEngine

GTPEngine 是一个基于golang exec.Cmd()实现的Go Text Protocol的GTP连接器,我们可以轻松的使用此连接器快速与围棋AI进行对弈。

Installation

go get -u github.com/tengenteam/gtp-connection

简单的Gnugo实现!

package main

import (
	"fmt"
	"os"
	"github.com/tengenteam/gtp-connection"
	"log"
)

func checkError(err error) {
	if err != nil {
		log.Println(err.Error())
		os.Exit(1)
	}
}
func main() {
	conn, err := gtp.NewGTPConnection("./gnugo_mac", "--mode", "gtp")
	checkError(err)
	client:=gtp.NewGtpClient(conn)
	move,err:=client.GenMove("B")
	fmt.Println(move,err)
	move,err=client.GenMove("W")
	fmt.Println(move,err)
	board,err:=client.ShowBoard()
	fmt.Println(board,err)
}

GTPConnection

如何创建一个连接器,和执行命令

NewGTPConnection(cmd string, args ...string) (*GTPConnection, error)
NewGTPConnectionByPath(cmd string) (*GTPConnection, error)
Exec(cmd string) (string, error)

Client

Client是一个基于连接器封装的与AI对弈的常用指令

NewGtpClient(conn *GTPConnection) *GTPClient
KnowCommand(cmd string) (string, error)
GenMove(color string) (string, error)
Move(color, coor string) (string, error)
LoadSgf(file string) (string, error)
FinalStatusList(cmd string) (string, error)
SetLevel(seed int) (string, error) 
SetRandomSeed(seed int) (string, error)
ShowBoard() (string, error) 
ClearBoard() (string, error) 
PrintSgf() (string, error)
TimeSetting(baseTime, byoTime, byoStones int) (string, error) 
FinalScore() (string, error)
Quit() (string, error) 
SendCMD(cmd string) (string, error)

空文件

简介

`GTPEngine` 是一个基于golang exec.Cmd()实现的Go Text Protocol的GTP连接器,我们可以轻松的使用此连接器快速与围棋AI进行对弈。 展开 收起
取消

发行版 (10)

全部

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/larry_dev/gtpengine.git
git@gitee.com:larry_dev/gtpengine.git
larry_dev
gtpengine
gtpengine
master

搜索帮助