DariodAbate / ingsw2022-AM57

Eryantis board game
MIT License
3 stars 2 forks source link
board-game design-patterns java multiplayer-game multithreading mvc software-engineering

Eryantis Board Game

License: MIT latest commit

The development of this project is part of the software engineering course at the Polytechnic University of Milan, and as a final examination, it is necessary for the bachelor's degree in computer engineering. The course was held by prof. Alessandro Margara, Gianpaolo Cugola and Pierluigi San Pietro in the academic year 2021-2022.
Final Score: 30/30 cum laude

Project specification

The project consists of a distributed multi-user application with a graphical interface that emulates a board game.

The official game can be found here

Functionality State
Basic rules 🟒
Complete rules 🟒
Socket 🟒
GUI 🟒
CLI 🟒
Character cards 🟒
Multiple games 🟒
Persistence 🟒
4 players game πŸ”΄
Resilience to disconnections πŸ”΄

Legend

πŸ”΄ Not implemented 🟑 Implementing 🟒 Implemented

Test cases

Coverage criteria: code lines.

Package Tested Class Coverage
Model Global Package 823/963 (85%)

The Team

Tools used

How to use

The software can be run on WIndows, Linux and MacOS.

The software was developed using Java 17.0.0.2 and Java JDK 17.0.0.2, so be sure to use these versions or higher.

  1. Be sure to have Java and Java JDK installed
  2. Download AM57-client.jar and AM57-server.jar (at least one server should be up to play!)
  3. To open the server you need to type -java -jar AM57-server.jar [port number] (this passage is optional if another server is already running)
  4. Open the cmd and then type -java -jar AM57-client.jar [interface] where instead of interface, type CLI or GUI depending on your preferences
  5. Have fun!

When using the CLI mode, we suggest to utilize conEmu on Windows, since some special characters are not correctly visualized in the default Windows shell.

Copyright and license

Eryantis Board Game is copyrighted 2021.

Licensed under the MIT License ; you may not use this software except in compliance with the License.