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.