Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chess AI Project

Documents

Agent definition document

Simple Agent Document

Advanced AI Research and Application Plan

Experimentation data and results

Agent Information

Internal Agents:
Meta agent that can plug different agents together
Simple rules-based reflex agent
Opening move agent
Search-based by depth agent

Simple AI agent code location:
src\main\java\ithaca\teamfour\player…

How a human can act as an agent:
Make sure to have a human player in the main where the ChessGame line is, it should look like this, but you can replace the MetaAgent with whatever secondary agent you want to play against

ChessGame game = new ChessGame(new Board(),  new HumanPlayer(), new MetaAgent(player1));

Then run the ChessMain and enter coordinates of a move you want to do on your turn

The sensor and actuator interfaces are located in the codebase:
src\main\java\ithaca\teamfour\player\ChessGame.java

How to guide

Write a class that implements our ChessPlayer Interface. To add a piece to the meta agent, write it so that it can try and generate a move in the users own way and if it cannot it returns null so then it would be passed on to another part of the meta agent
Wirte a class that implements ChessPlayer and need to write a chooseMove function that returns a valid move for their side of the board.
Need to import it in the ChessMain.java file. If using the meta agent may also need to update the arraylist that initializes meta agent

Testing

Manual testing and running against other agents linked here

Non-functional

SearchBasedAdvancedAgent: the evaluation function of the agent didn't seem to improve the agent's gameplay so it was left out

Environment Set Up

Credit for chess environment:
https://github.com/bhlangonijr/chesslib

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages