- Adam Schuster (@adamschuster)
- Adam Wexler (@adamwexler01)
- Brandon Goldman (@brandongoldman)
- Bradley Lazar (@lazarbrad)
- Alexander Krepacki (@alexbrucek)
- David Weng (@dkweng)
Our client, Professor Dave Small, presented us with a task of creating an Artificial Intelligence (AI) for a tile-based strategy game. This game, dubbed "TigerZone" is a spinoff of the popular board game "Carcassonne". TigerZone reflects adaptations to Carassonne by including new features such as new scoring features. The full game description and rules can be found on our client's website here.
The objective of this project was to utilize agile software development skills that were discussed throughout the course. Our team utilized sprints to get specific features working and to build our overall project progress in incremental ways that helped with testing. As explained above, the goal of this project was to create an AI that could play against other teams in the class by connecting to a TCP server. A game was won by scoring points strategically by completing game features.
Click each of the sprints below to view the documentation that includes sprint summary and work accomplished by each team member.
Timeline: 10/31/16 - 11/7/16
Timeline: 11/8/16 - 11/14/16
Timeline: 11/15/16 - 11/21/16
Timeline: 11/22/16 - 12/2/16
For this project, our team utilized PivotalTracker to track story progress and issues. Pivotal Tracker is a collaborative & lightweight project management tool developed by Pivotal Labs, a company whose expertise in agile development is widely known. Our PivotalTracker is available here.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. For project documentation, including rules and server protocals, please view the documents in the Related Docs
folder.
Clone the repository locally using a BASH terminal.
git clone https://www.github.com/brandongoldman/TigerZone
To compile TigerZone, navigate to the /src folder and compile TigerClient.java
.
javac TigerClient.java
To run TigerZone on a TCP server, confirm that a server is running. You will need to use the following arguments in your BASH terminal: IP_ADDRESS
, PORT
, TOURNAMENT_PASSWORD
, USERNAME
, and PASSWORD
.
To connect to the tournament server, you need to login with the following command in a BASH terminal.
java TigerClient [IP_ADDRESS] [PORT] [TOURNAMENT_PASSWORD] [USERNAME] [PASSWORD]
If login is successful, you will receive the following message.
THIS IS SPARTA!
If desired, you may run the server on your local machine. Instructions and source code for this can be found here.
All testing files, both acceptance and JUnit, are located in the Tests
folder.
To compile the testing suite, navigate to the /Tests folder and compile GameTest.java
.
javac GameTest.java
To run the test, run GameTest
.
java GameTest
To run the JUnit tests through Eclipse, load in the following files:
BestMoveTest.java
PlacementTest.java
testBusiness.java
testTileReads.java
Run each individual file by pressing the start button in Eclipse. More information about how to run JUnit tests can be found here
For a detailed explanation for each bug, view the Issues tab at the top of the repo.
- Game disconnects if other player forfeits both games
- Game ends if three players are waiting for same game