-
Chiara Auriemma (@ChiaraAuriemma)
10722613 chiara.auriemma@mail.polimi.it -
Francesco Benelle (@Benels)
10727489 francesco.benelle@mail.polimi.it -
Giacomo Ballabio (@Jackeeuu)
10769576 giacomo2.ballabio@mail.polimi.it -
Alberto Cavallotti (@Bertos1812)
10721275 alberto1.cavallotti@mail.polimi.it
The goal of the project is to create a software version of the board game "My Shelfie" by Cranio Games.
The client-server application needs to fulfill all the rules of the classic board game.
The game is divided in turns in which a player must take 1,2 or 3 tiles from the LivingRoom board and to put them in a column of his Shelfie. All the tiles that theplayers take must be adjacent to each other and have at least one side free. The main goal of the game is to fill the Shelfie, earning points by completing the tasks on the Coommon & Personal Goal Cards.
Rulebooks: ENG or ITA .
The Server can handle more than one game at the same time. Every player who decide to create a new game will be provided with a GameID to be shared to the friends he wants to play with.
If one or more player from a game disconnect from the game, they have the opportunity to join again the same game and continue playing.
If the player doesn't reconnect in time for his turn, it will be skipped. If only one player is still connected to a certain game, a one-minute timer will start, then the win will be assigned to the only active player if nobody reconnected in time.
Every player can send chat messages to the other players in their game. A player may also send a private message to a specific player of the game.
Functionality | State |
---|---|
UML | 🟢 |
Model | 🟢 |
Controller | 🟢 |
Socket TCP | 🟢 |
RMI | 🟢 |
CLI | 🟢 |
GUI | 🟢 |
Multiple games | 🟢 |
Chat | 🟢 |
Disconnection | 🟢 |
🟢 Already implemented 🟡 Currently work in progress 🔴 Currently not implemented
The Game consists in a jar file named AM04-1.0-SNAPSHOT-jar-with-dependencies
that can be started by command line. In order to start playing you'll need to start the Server and at least two Clients.
> java -jar .\AM04-1.0-SNAPSHOT-jar-with-dependencies.jar server
The command above has to be used in order to start the Server and is the only command you will need until the Server needs to be shut down.
> java -jar .\AM04-1.0-SNAPSHOT-jar-with-dependencies.jar client [Connection] [Interface] [ip address]
Connection:
- tcp
- rmi
Interface:
- cli
- gui
ip address:
- Play Online: set the ip to the server's. Use
ipconfig
in order to retrieve the ip address. - Play Locally: you might not specify the ip address, so it will be set to the deault local ip (127.0.0.1)
The command above has to be used in order to start the Client. Later the player will be asked a nickname and whether he wants to create a new game or join an existing one.
The client can choose the communication protocol that he likes most between RMI and TCP.
The client can also choose the Interface .