This software is designed after the game "Santorini". All the copyrights are owned by the real authors of this game, this is just a simplified version made for learning purposes. Do not use it for any non-learning purpose!
Clone the project from this repository.
Once you have all the files you can access to the server settings in the Resources folder (ing-sw-2020-Paolini-Pellini-Sani\src\main\Resources). In the server-settings.txt edit you parameters:
Server IP: YOUR_SERVER_IP
Server Port: YOUR_SERVER_PORT
After that you can generate the JARs, which will be put in the Deliverables folder, by simply calling Maven package. The generated JARs are one for the server and one for the client.
NOTE: You can't modify your server parameters after you generate the JARs, so be sure to enter a valid IP and PORT or run the generation once again after you have correctly set them.
Default parameters are:
Server IP: 127.0.0.1
Server PORT: 12345
Now you are ready to play: simply access the Deliverables folder from your terminals and run
java -jar server.jar
For the server, and
java -jar client.jar
For the client.
In the first stage, choose A to play with GUI or B to play with the CLI:
After that, enter you nickname and choose:
- CREATE A NEW MATCH / NEW GAME (CLI-GUI) If you want to play with your friends. The server will give you a game ID, give it to the other players.
- PLAY WITH YOUR FRIENDS / PLAY WITH FRIENDS (CLI-GUI) To play an existing match. Simply enter the game ID you have been given.
- PLAY WITH STRANGERS / RANDOM GAME (CLI-GUI) To play with other unknown players.
- Regole complete
- Implementazione socket
- CLI e GUI
- 2 FA: Divinità avanzate (Zeus, Charon, Triton, Poseidon e Hypnus) e Partite Multiple
For the testing, we mainly focused on the model and controller package. There are two tests created also for the CLI, but their only purpose was for
us to learn how to use colors and to understand how to print the game window.
Following, we attach screenshots from the coverage report generated by IntelliJ.
Coverage report for the model package:
Coverage report for the controller package:
As shown, we tried to cover all the possible scenarios in model and controller, otherwise, we tested other functionalities by playing.
Giuseppe Paolini 10619082
Riccardo Pellini 10633686
Paolo Sani 10583734