This project is my submission for the CITS3001 unit at UWA where we were tasked to make an AI to play three-player chess.
The
AgentBrutusclass is the manager of the AI (AgentBrutus.java).
It uses iterative deepening to dynamically allocate how much time to spend searching for each move.The
MaximaxStratclass holds the brains of the AI (MaximaxStrat.java).
It decides which moves are the best moves to take from any state.The
GameLogicclass is the muscle of the AI (GameLogic.java).
It quickly evaluates moves, finds available moves, and iteratively updates utility as moves are made.
Submission:
The tournament required us to submit only a single source file. Therefore, the above classes
were combined into the single file, Agent22494652.java
for submission. This file is large
and hard to navigate, so I would suggest looking at the individual classes above instead.
Commands to compile and run this project can be found in USAGE.md.
See the parent repository at drtnf/threeChess.