You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Charles Hollingsworth d6d3bd7ed4 Fixed base URL for axios calls 1 year ago
client Fixed base URL for axios calls 1 year ago
gradle/wrapper Added Spring Boot project, moved index.html, changed client output directory 2 years ago
src Moved client code back out of separate repo 1 year ago
.gitignore Added axios dependency 2 years ago
LICENSE Added LICENSE 2 years ago
README.md Updated README 2 years ago
build.gradle Added client build back to build.gradle 1 year ago
gradlew Added Spring Boot project, moved index.html, changed client output directory 2 years ago
gradlew.bat Added Spring Boot project, moved index.html, changed client output directory 2 years ago

README.md

ygame

The Game of Y, implemented in Java with Spring Boot

Almost as long as I’ve been interested in programming artificial intelligence applications, I’ve had a mild obsession with the Game of Hex. As part of my research into the game and its strategy, I came across this paper, which introduced me to the Game of Y, and demonstrated that Hex can be thought of as a special case of the Game of Y. It also outlined a clever algorithm for calculating the winner, if any, of any given Y board (and therefore of any given Hex board).

This project is a simple implementation of the Game of Y, using Java and Spring Boot for the backend and Vue.js for the frontend. The user is asked to select the size of the game board from a drop-down menu. With each move, the player has the option to select the algorithm used to compute the computer’s next move from a menu. Currently, there are only two algorithms:
a “dumb” algorithm that just selects the next move completely at random, and a slightly smarter algorithm that uses repeated random playouts (Monte Carlo tree search) to determine the best move.