Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fitter0happier/arimaa

MVC Arimaa game
https://github.com/fitter0happier/arimaa

java maven mvc

Last synced: 2 days ago
JSON representation

MVC Arimaa game

Awesome Lists containing this project

README

        

Language: Java

Shortname: ARIMAA

Description: Arimaa is a strategy board game for two players that combines elements of a turn-based game with quests and strategy. The goal of my Arimaa project is to create a complete implementation of this game using an object-oriented approach in Java. It will use the MVC design pattern for implementation.

Project features:

- Rules Implementation: The project includes a complete implementation of the Arimaa game rules, including stone movement, player moves, matchmaking, and ways to end the game.
- Graphical User Interface: The project includes a graphical user interface (GUI) that allows players to interact with the game through a graphical interface. The GUI includes drawing the game board, moving pieces, displaying game state and player options.
- Documentation and testing: The project is supplemented with detailed documentation that describes the implementation, the technologies used and instructions for users. It also includes code testing to ensure proper functionality and security of the application.

Developed features:

0. MVC Architecture
1. Proper implementation and application of all official rules.
2. Visual representation of the game board and pieces.
3. Possibility to play user against user on the same computer.
4. Possibility to play the game against the computer. A simple AI that plays random turns.
5. Game clock implementation - how much time each player spent thinking.
6. Ability to save, load and step back. For this, the official Arimaa notation is used.
7. A GUI that includes:
- Main Menu (links to other GUI windows)
- New Game (choose between 2 player game or VS computer)
- Load Game (the ability to continue a game that was started before)
- Board (main game window)
- Settings