All Projects → zhixiangli → gomoku-battle

zhixiangli / gomoku-battle

Licence: other
Gomoku Battle is a cross-language cross-system battle platform.

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects
CSS
56736 projects

Projects that are alternatives of or similar to gomoku-battle

AlphaZero Gobang
Deep Learning big homework of UCAS
Stars: ✭ 29 (+61.11%)
Mutual labels:  gomoku, gobang
alphaFive
alphaGo版本的五子棋(gobang, gomoku)
Stars: ✭ 51 (+183.33%)
Mutual labels:  gomoku, gobang
blackstone
Gomoku (Five in a Row) game manager with a powerful built-in AI, written in Java with a clean, minimal interface.
Stars: ✭ 33 (+83.33%)
Mutual labels:  javafx, gomoku
gobang
一个五子棋AI,使用原生JavaScript开发
Stars: ✭ 22 (+22.22%)
Mutual labels:  gomoku, gobang
Alpha Zero General
A clean implementation based on AlphaZero for any game in any framework + tutorial + Othello/Gobang/TicTacToe/Connect4 and more
Stars: ✭ 2,617 (+14438.89%)
Mutual labels:  gomoku, gobang
Alphazero gomoku
An implementation of the AlphaZero algorithm for Gomoku (also called Gobang or Five in a Row)
Stars: ✭ 2,570 (+14177.78%)
Mutual labels:  gomoku, gobang
Recaf
The modern Java bytecode editor
Stars: ✭ 3,374 (+18644.44%)
Mutual labels:  agent, javafx
Bank-Account-Simulation
A Bank Account Simulation with JavaFX and SQLite back-end. Material UX|UI.
Stars: ✭ 19 (+5.56%)
Mutual labels:  javafx
actlist
📦 Actlist is a utility platform to execute your own action list easily and simply.
Stars: ✭ 85 (+372.22%)
Mutual labels:  javafx
JFXGoogleDrive
A JavaFX Google Drive Client (For Demonstration Purposes Only).
Stars: ✭ 29 (+61.11%)
Mutual labels:  javafx
FXFaceDetection
Real-Time Face Detection App using Computer Vision & JavaFX
Stars: ✭ 50 (+177.78%)
Mutual labels:  javafx
ownNoteEditor
JavaFX editor for the ownNote files locally stored in ownCloud folder
Stars: ✭ 25 (+38.89%)
Mutual labels:  javafx
quiz-app
Quiz for Desktop Application - Java case.
Stars: ✭ 26 (+44.44%)
Mutual labels:  javafx
jfxvnc
JavaFX based VNC client
Stars: ✭ 44 (+144.44%)
Mutual labels:  javafx
Emoji-Tools
Multiple useful tools to help Android and iOS/OSX developers with creating and modifying Emoji Font files.
Stars: ✭ 102 (+466.67%)
Mutual labels:  javafx
blupig-gomoku
A serious Gomoku board game AI written in C++
Stars: ✭ 66 (+266.67%)
Mutual labels:  gomoku
Tutorials
Step by step to learn coding and build Apps 🎉. Code files of Youtube & University tutorials.
Stars: ✭ 80 (+344.44%)
Mutual labels:  javafx
OnlyViewer
A material design picture viewer made with JavaFX and JFoenix. / 用JavaFX编写的Material Design风格的电子图片管理系统
Stars: ✭ 23 (+27.78%)
Mutual labels:  javafx
agent-java-cucumber
Cucumber JVM version [1.0.0; 2.0.0) adapter
Stars: ✭ 21 (+16.67%)
Mutual labels:  agent
OctopusTentacle
| Public | The secure, lightweight, cross-platform agent for Octopus Server which turns any computer into a worker or deployment target for automated deployments and operations runbooks.
Stars: ✭ 25 (+38.89%)
Mutual labels:  agent

GOMOKU BATTLE

An Example Game between Alpha-Beta-Search Agents

an example game between alpha-beta-search agents

Overview

Gomoku, also called Gobang or Five in a Row, is an abstract strategy board game.

Players alternate turns placing a stone of their color on an empty intersection. The winner is the first player to form an unbroken chain of five stones horizontally, vertically, or diagonally.

More details see wikipedia.

Gomoku Battle is a cross-language cross-system battle platform with lots of AI agent.

  • gomoku-battle-core: Basic Gomoku library.

  • gomoku-battle-console: A referee between AI agents. It also sends and receives commands to set up communication with AI agents.

  • gomoku-battle-dashboard: Dashboard is a viewer of a situation of the chessboard.

Launch Battle Platform

git clone https://github.com/zhixiangli/gomoku-battle.git
cd gomoku-battle
sh build.sh
sh battle.sh -c battle.properties

Configuration

AI Agent can be changed by modifying the player.properties

  • player.xxxxx.alias: set an alias for the agent.
  • player.xxxxx.cmd: a shell script to start an agent. No agent will start if the command is empty. Every agent should implement the following command.

A Configuration Example

player.black.cmd=java -jar bin/gomoku-battle-alphabetasearch-0.0.1-SNAPSHOT-jar-with-dependencies.jar
player.black.alias=alpha-beta-search
player.white.cmd=java -jar bin/gomoku-battle-alphabetasearch-0.0.1-SNAPSHOT-jar-with-dependencies.jar
player.white.alias=alpha-beta-search

AI Agent API

The console will create a subprocess for an AI agent.

The communication commands between console and AI agent is by stdin and stdout

Request

Field Description
command NEXT_BLACK (next color is black) or NEXT_WHITE (next color is white)
rows the number of rows in a chessboard
columns the number of columns in a chessboard
chessboard SGF

Sample Request

{"command":"NEXT_BLACK","rows":15,"columns":15,"chessboard":"B[96];W[a5];B[a4];W[95]"}

Response

return the position to make a move

Sample Response

{"rowIndex":3,"columnIndex":10}

AI Agent Example

AI Description Language Command Processor
alpha-beta-search Alpha Beta Search Agent Java AlphaBetaSearchAgent.java

Evaluation

git clone https://github.com/zhixiangli/gomoku-battle.git
cd gomoku-battle
sh build.sh
sh battle.sh -c battle.properties -d
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].