LeonardoBrusini / ingsw2022-AM28

PROVA FINALE (INGEGNERIA DEL SOFTWARE)
3 stars 0 forks source link

ingsw2022-AM28

PROVA FINALE (INGEGNERIA DEL SOFTWARE) Group members:


Eriantys is the final test of "Software Engineering", course of "Computer Science Engineering" held at Politecnico di Milano (2021/2022).

Teacher Alessandro Margara

What has been implemented: Complete rules + socket + CLI + GUI + 2 FA

Project specification


The project consists of a Java version of the board game Eriantys, made by Cranio creation.

You can find the full game here: https://www.craniocreations.it/prodotto/eriantys/.

The final version includes:

Implemented Functionalities


Functionality Status
Basic rules 🟢
Complete rules 🟢
Socket 🟢
CLI 🟢
GUI 🟢
12 Character cards 🟢
Resilience to disconnections 🟡

Legend

🔴 Not Implemented     ðŸŸ¡ Implementing    ðŸŸ¢ Implemented

Tests


Coverage criteria: code lines.

Package Tested Class Methods covered Lines covered
controller Game Manager 87% 91%
controller Turn Manager 90% 95%
controller EndOfGameChecker 100% 78%
controller.commands All 100% 92%
model.board All 100% 97%
model.cards All 100% 96%
model.players All 100% 97%
model ProfessorGroup 100% 100%
model StudentGroup 100% 100%

test coverage as reported by the IntelliJ tool 83% classes, 73% line covered

Requirements


Screen resolution 1920x1080

Windows

Download and install JAVA DEVELOPER KIT - https://www.oracle.com/java/technologies/downloads/#jdk18-windows
Then set JAVA_HOME - \<jdk folder path> and Path - \<jdk folder path>\bin environment variables.

MacOS

Download and install JDK FX - https://www.azul.com/downloads/?version=java-18-sts&os=macos&architecture=arm-64-bit&package=jdk-fx
In order to display correctly the game screen, go to display settings and change scaling resolution to at least 1920x1080

Launch server and clients using JAR file:


CLI configuration on Windows

Open server and CLI client (both Windows and MacOS)

Open server from terminal typing "java -jar \<file path> -s [port]".
Oper CLI client from terminal typing "java -jar \<file path> -c [server ip] [server port]".

GUI (Both Windows and MacOS)

You need at least 1 server and 2 clients are required to start the client if you want to start a client on another pc: