Skip to content

ChiaraAuriemma/IS23-AM04

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prova finale Ingegneria del Software 2023

alt text

Gruppo AM04




About My Shelfie and the project's specifications

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 .

Advanced Functionalities

Multiple Games

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.

Resilience to Disconnections

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.

Chat

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.

Implemented Functionalities

Functionality State
UML 🟢
Model 🟢
Controller 🟢
Socket TCP 🟢
RMI 🟢
CLI 🟢
GUI 🟢
Multiple games 🟢
Chat 🟢
Disconnection 🟢

Legend

🟢 Already implemented     🟡 Currently work in progress     🔴 Currently not implemented





Running The Game

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.

Server

      > 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.

Client

      > 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 .

GUI








CLI








Test Reports



About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages