/GooseGame

The Goose Game

Primary LanguageJava

GooseGame
30/09/2014

Team (number 4):
Teddy LEQUETTE - Thomas OSTROWSKI

GooseGame:
A list of three players is pre-initialized, before the beginning of a game.
Each round, the current player throws two dice, so he can move from 2 to 12
cells.
If he reaches a specific cell (GooseCell, TeleportCell, TrapCell, WaitingCell)
his move is modified.
When a player reaches cell 63, he won the game.

To compile the game:
Use the script compile from the GooseGame folder.
(./compile)

To execute:
Use the script execute from the GooseGame folder.
(./execute)

Significant method:

play() : It is the main loop of the Game, it runs until
a player wins the game.

public void play() {

		while (!this.isFinished) {

			previousCell = currentPlayer.getCurrentCell();

			if (currentPlayer.getCurrentCell().canBeLeftNow()) {
				dice = this.throwDie() + this.throwDie();

				targetCell = this.board.cells[board.normalize((currentPlayer
						.getCurrentCell().getIndex() + dice))];
				realCell = computeTargetCell(targetCell, dice);

				movePlayer(realCell);

				displayTrace(previousCell, targetCell, realCell, dice);

				if (currentPlayer.getCurrentCell().getIndex() == 63) {
					this.isFinished = true;
					System.out.println(currentPlayer.getName() + " has won.");
				}

				previousCell.welcome(null);

			} else if (previousCell instanceof WaitingCell
					|| previousCell instanceof TrapCell) {
				String trace = currentPlayer.getName() + " is in cell "
						+ previousCell.getIndex() + ", "
						+ currentPlayer.getName() + " cannot play";
				System.out.println(trace);
			}

			// gives the next player or gives the first player if the current
			// player is the last of the list
			idPlayer = this.board.players.indexOf(this.currentPlayer);
			this.currentPlayer = nextPlayer(idPlayer);
		}

	}