Software Systems辅导、讲解Java/Python程序、讲解Python/c++

- 首页 >> Java编程

Module2 Software Systems

2018/2019

25 November 2018

Updated: 18 December 2018

Project game

Spectrangle

Rules

Spectrangle is a family game for two to four players. This game can also be played in

teams, but we ignore this option in this description. Here we describe the board version of

Spectrangle, which you will implement as a client-server game in the programming project.

Material

Game board

36 coloured triangular tiles

8 score counters in 4 colours

1 bag

Figure 1 shows a schematic representation of the Spectrangle board. The game board has

special bonus spaces, which are indicated with their bonus values (2, 3 and 4, respectively).

Figure 1. Spectrangle game board.

Figure 2 shows some Spectrangle tiles placed on the board.

2

Figure 2. Spectrangle tiles placed on a board.

The 36 Spectrangle tiles have sides with the following colours and points:

All red, all blue, all green, all yellow, all purple (6 points each).

2 x red and yellow, 2 x red and purple, 2 x blue and red, 2 x blue and purple, 2 x green

and red, 2 x green and blue, 2 x yellow and green, 2 x yellow and blue, 2 x purple and

yellow, 2x purple and green (5 points each)

2 x red and blue, 2 x red and green, 2 x blue and green, 2 x blue and yellow, 2 x green

and yellow, 2 x green and purple, 2 x yellow and red, 2 x yellow and purple, 2 x

purple and red, 2 x purple and blue (4 points each).

[yellow, blue, purple], [red, green, yellow], [blue, green, purple], [green, red, blue] (3

points each)

[blue, red, purple], [yellow, purple, red], [yellow, purple, green] (2 points each)

[green, red, purple], [blue, yellow, green], [red, yellow, blue] (1 point each)

All white (joker, 1 point)

In the official game the tiles are coloured on both sides, providing the player with the option

of flipping the tiles upside down. In our implementation we assume the tiles are only

coloured on one side and therefore can only be placed with the above colours facing up.

Preparation

1. Put all the tiles into the bag.

2. Each player takes one tile from the bag. The one who gets the tile with the highest

value starts the game. In case of a draw, all players take one more tile from the bag,

until there is no more draw.

3. Each player now takes 3 more tiles from the bag, so that they have 4 tiles in total. The

tiles are put on the table so that the other players can see them clearly.

Objective

The objective of the game is to score the highest number of points. You achieve this by

aiming to score as high as possible and by trying to block other player(s) or teams.

The game

The first player places a tile on the board; she may choose where she places the tile but bonus

spaces (space with a number) cannot be chosen in the beginning. The player scores the

number of points on the tile that they placed on the board. Now the player takes another tile

out of the bag to restore the amount of tiles to four. The turn then moves clockwise. Each

player places a new tile when it is her turn; part of this tile must match at least one colour on

one of the tiles already on the board, so that matching colours adjoin. An exception is the

3

joker (the all-white tile), which can be used for all colours. Once the joker is on the board,

any tile can be placed adjacent to it. Once a tile has been placed it cannot be moved (this also

applies to the joker!). A player MUST play if able to do so.

If a player cannot place a tile, then she can choose between:

1. Missing a turn.

2. Exchanging one of her tiles for a new one and then pass her turn.

Each player must draw another tile at the end of their turn; if a player forgets to do this, then

she must take another tile as soon as this has been discovered. It may happen that a player

cannot place a tile but as soon as this is possible, this player is obliged to do so. The game is

over when the bag is empty and no one can place another tile.

Score calculation

The coloured score counters record the points of each player. Points are calculated like this:

1. The first tile on the board and each following tile that matches on one side. Score: the

value of the tile.

2. A tile matches on two or three sides. Score: the number of matching sides times the

value of the tile. For example, two matching sides with a tile value of 5 would be

5x2=10.

3. A tile is placed on a bonus space (the spaces with a 2, 3 or 4). Score: the bonus times

the number of matching sides, times the value of the tile.

Your score is always calculated with value of the tile that you place, times the number of

matching sides, times the (possible) bonus. When the game is over and there are players who

have tiles left over, then the value of those tiles is subtracted from their scores. The player

with the highest number of points wins.

Try either to score maximum points or block your opponents as much as possible.

Changelog

12 November 2018

- Added the note that flipping the tiles is not taken into account in our implementation,

as opposed to the official game rules.

18 November 2018

- Added that in case there is a draw when determining which player starts (equally

valued tiles), every player takes another tile until there is no more draw.


站长地图