Skip to content

Videogame developed in Java for the Software Engineering I course @ PoliMi

Notifications You must be signed in to change notification settings

lauracolazzo/ingsw2022-AM19

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

338 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Engineering I - Final Project - A.Y. 2021/22

  • Prof: Alessandro Margara - Politecnico di Milano
  • Group: AM19
  • Grade: 30/30

Members:


Description

The project was part of the final evaluation for Bachelor of Science in Computer Engineering course at Politecnico di Milano.

The specifications required to develop a Java application resembling an existing board game by Cranio Creations called Eriantys (full rules available here).

Application design

The project is a client-server application that supports the complete game's rules for the two-player and three-player mode on both CLI e GUI. It also supports two advanced functionalities, including character cards implementation and persistence of the game state.

Regarding persistence, the functionality was implemented such that the storing procedure of the application state happens at the end of each round. It means that the first saving happens only once the login phase has ended and all players played their first round. Information about an in progress match are stored in the same directory as the .jar file. When a match is completed, the stored match is automatically deleted.

In case a game is interrupted due to fatal errors, the server needs to be restarted before being able to resume the previous match or before starting a new one.

Progress:

Functionality State
Basic rules 🟢
Complete rules 🟢
Communication Protocol 🟢
GUI 🟢
CLI 🟢
AF 1: Character cards 🟢
AF 2: Persistence 🟢
AF 3: - 🔴

🔴 Uninitiated 🟢 Completed 🟡 Work in progress

Test coverage

Package Class coverage Method coverage Line coverage
Model 100% 85% 88%
Controller* 75% 41% 20%

*Tests were made only where network was not involved

Execution

Server

To run the application in server mode you need to write the following command:

java -jar AM19.jar -s [port number]

Client - CLI

To run the application as client in CLI mode you need to write the following command:

java -jar AM19.jar -cli 

Client - GUI

To run the application as client in GUI mode you can double click on the .jar file or you can write the following command:

java -jar AM19.jar

About

Videogame developed in Java for the Software Engineering I course @ PoliMi

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%