Skip to content

realjustice/renju_forbid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ren_forbid

ren_forbid compliant

最全五子棋禁手逻辑实现

目前已实现以下逻辑:

  1. 三三禁手
  2. 四四禁手
  3. 长连禁手

内容列表

安装

本项目使用 go1.15。请确保你本地安装了它们。

$ go get -u github.com/realjustice/renju_forbid

快速开始

$ cat example/main.go
package main

import (
	"fmt"
	"github.com/realjustice/renju_forbid"
)

func main() {
	// 0: 无禁手 1:三三禁手,2:四四禁手,3:长连
    	forbidResult := ren.CheckForbid("(;AP[WGo.js:2]FF[4]GM[1]CA[UTF-8]SZ[15];B[dd];W[];B[fd];W[];B[ec];W[];B[ee];W[];B[ed])")
    
    	// 0:无结果,1:黑胜,-1:白胜
    	OverResult := ren.CheckWin("(;SZ[15]AP[WGo.js:2]FF[4]GM[1]CA[UTF-8];B[dd];B[ed];B[fd];B[ec];W[];B[ee])")
    
    	// 0: 无结果,1:黑五子连珠,-1:白:五子连珠
    	renjuResult := ren.IsRenju("(;AP[WGo.js:2]FF[4]GM[1]CA[UTF-8]SZ[15];B[dd];W[];B[fd];W[];B[ec];W[];B[ee];W[];B[ed];W[];B[ef];W[];B[eg])")
    
    	fmt.Printf("禁手结果:%d\n", forbidResult)
    	fmt.Printf("对局结果:%d\n", OverResult)
    	fmt.Printf("五子连珠结果:%d\n", renjuResult)
}
# run example/main.go
$ go run example/main.go

示例

可以调用下面的方法检查棋谱中是否包含禁手

result := ren.CheckForbid("your sgf")

会得到三种结果,0: 无禁手 1:三三禁手,2:四四禁手,3:长连

可以调用下面的方法判断对局是否结束

result := ren.CheckWin("your sgf")

更多细节,请参考 example

相关仓库

维护者

@realjustice

如何贡献

提一个 Issue 或者提交一个 Pull Request,或者发送邮件至 z_s_c_p@163.com

使用许可

MIT © realjustice

About

五子棋禁手逻辑实现

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages