Format/typo check 2013/morgan2
This commit is contained in:
1 parent
1f92e5153f
commit
4217b3f065
1 file changed
+28
-23
+28
-23
@@ -20,13 +20,6 @@ For the graphical version (X11):
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Try:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
echo "Do or do not. There is no try."
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Judges' remarks:
|
## Judges' remarks:
|
||||||
|
|
||||||
The judges enjoyed playing the game almost to completion; if we remember
|
The judges enjoyed playing the game almost to completion; if we remember
|
||||||
@@ -41,23 +34,28 @@ This program is a domino game. The goal is to place dominoes on the 8x8 grid.
|
|||||||
Each domino is made of 6 squares of the colour red or green. To place a domino,
|
Each domino is made of 6 squares of the colour red or green. To place a domino,
|
||||||
at least one of its side shall match the other side of another domino.
|
at least one of its side shall match the other side of another domino.
|
||||||
|
|
||||||
|
|
||||||
### How to play
|
### How to play
|
||||||
|
|
||||||
|
|
||||||
### Start of the game
|
### Start of the game
|
||||||
|
|
||||||
At the start of the game, the first domino is placed randomly on the grid. You
|
At the start of the game, the first domino is placed randomly on the grid. You
|
||||||
get another domino to place by selecting one empty position in the stack on the
|
get another domino to place by selecting one empty position in the stack on the
|
||||||
right. You can have up to 8 dominoes pending at any time.
|
right. You can have up to 8 dominoes pending at any time.
|
||||||
|
|
||||||
|
|
||||||
### Moving in the stack
|
### Moving in the stack
|
||||||
|
|
||||||
Use `Up` and `Down` key to move the cursor in the stack. Press `Enter` to either
|
Use `Up` and `Down` key to move the cursor in the stack. Press `Enter` to
|
||||||
|
either:
|
||||||
|
|
||||||
* Reveal a new domino if the position was empty.
|
* Reveal a new domino if the position was empty.
|
||||||
* Select the domino to try to place it if the position was not empty.
|
* Select the domino to try to place it if the position was not empty.
|
||||||
|
|
||||||
The currently selected domino is indicated on the top right.
|
The currently selected domino is indicated on the top right.
|
||||||
|
|
||||||
|
|
||||||
### Placing a domino
|
### Placing a domino
|
||||||
|
|
||||||
Once a domino has been selected, the cursor moves to the grid. Use `Up`, `Down`,
|
Once a domino has been selected, the cursor moves to the grid. Use `Up`, `Down`,
|
||||||
@@ -66,39 +64,43 @@ to place the domino.
|
|||||||
|
|
||||||
To go back to selection mode, press `Enter` on an occupied position.
|
To go back to selection mode, press `Enter` on an occupied position.
|
||||||
|
|
||||||
The domino can be placed in an empty position if all its neighbour have matching
|
The domino can be placed in an empty position if all its neighbours have
|
||||||
sides and the domino has at least one neighbour.
|
matching sides and the domino has at least one neighbour.
|
||||||
|
|
||||||
|
|
||||||
### Scoring
|
### Scoring
|
||||||
|
|
||||||
First, depending on the number of dominoes pending in the stack, a bonus is
|
First, depending on the number of dominoes pending in the stack, a bonus is
|
||||||
accorded :
|
accorded:
|
||||||
|
|
||||||
* 1 domino in the stack : 8 points.
|
* 1 domino in the stack: 8 points.
|
||||||
* 2 dominoes in the stack : 4 points.
|
* 2 dominoes in the stack: 4 points.
|
||||||
* 3 or 4 dominoes in the stack : 2 points.
|
* 3 or 4 dominoes in the stack: 2 points.
|
||||||
* 5 or more dominoes in the stack : 0 points.
|
* 5 or more dominoes in the stack: 0 points.
|
||||||
|
|
||||||
Then the bonus is multiplied by the number of matching neighbours the placed domino
|
Then the bonus is multiplied by the number of matching neighbours the placed domino
|
||||||
has (1, 2, 3 or 4). This is added to the score.
|
has (1, 2, 3 or 4). This is added to the score.
|
||||||
|
|
||||||
Finally, the total score is divided by the number of dominoes placed (1 - 64).
|
Finally, the total score is divided by the number of dominoes placed (1 - 64).
|
||||||
|
|
||||||
The 3 numbers on display represent : the total score, the fill count and the
|
The 3 numbers on display represent: the total score, the fill count and the
|
||||||
final score (total score divided by fill count).
|
final score (total score divided by fill count).
|
||||||
|
|
||||||
|
|
||||||
### End of the game
|
### End of the game
|
||||||
|
|
||||||
The game is finished when no more dominos can be placed and you either :
|
The game is finished when no more dominoes can be placed and if one of the
|
||||||
|
following occurs:
|
||||||
|
|
||||||
* Completely filled the grid.
|
* You have completely filled the grid.
|
||||||
* Have 8 pending dominoes in the stack.
|
* You have 8 pending dominoes in the stack.
|
||||||
* No more domino can be revealed in the stack (more than 56 dominoes placed on
|
* No more dominoes can be revealed in the stack (more than 56 dominoes placed on
|
||||||
the grid).
|
the grid).
|
||||||
|
|
||||||
**Note**: There is no real end of game detection implemented in the program,
|
**Note**: There is no real end of game detection implemented in the program,
|
||||||
simply press `q` when you have finished...
|
simply press `q` when you have finished...
|
||||||
|
|
||||||
|
|
||||||
### Strategy
|
### Strategy
|
||||||
|
|
||||||
* Try to minimize the number of dominoes revealed in the stack. The lower the
|
* Try to minimize the number of dominoes revealed in the stack. The lower the
|
||||||
@@ -109,20 +111,23 @@ simply press `q` when you have finished...
|
|||||||
placement. If the corner of a domino does not match another corner diagonally,
|
placement. If the corner of a domino does not match another corner diagonally,
|
||||||
the move is valid but will prevent some future moves.
|
the move is valid but will prevent some future moves.
|
||||||
|
|
||||||
|
|
||||||
### Limitations
|
### Limitations
|
||||||
|
|
||||||
* ASCII character set is assumed.
|
* ASCII character set is assumed.
|
||||||
* Requires both ncurses and X11 at compilation and runtime, but selection could
|
* Requires both ncurses and X11 at compilation and runtime, but selection could
|
||||||
be done at compilation with some extra code (mainly empty stubs).
|
be done at compilation with some extra code (mainly empty stubs).
|
||||||
|
|
||||||
|
|
||||||
### Obfuscation
|
### Obfuscation
|
||||||
|
|
||||||
* 1 letter identifier, reused when possible.
|
* 1 letter identifiers, reused when possible.
|
||||||
* 1 algorithm, 2 different kind of display (ncurses and X11) mixed.
|
* 1 algorithm, 2 different kinds of display (ncurses and X11) mixed.
|
||||||
* No parameters to functions, all variables are global and shared.
|
* No parameters to functions, all variables are global and shared.
|
||||||
* Some variables are not initialized if they have a known value at the time of
|
* Some variables are not initialized if they have a known value at the time of
|
||||||
use.
|
use.
|
||||||
|
|
||||||
|
|
||||||
### Compilation warnings
|
### Compilation warnings
|
||||||
|
|
||||||
With gcc 4.7.2 on Linux Ubuntu 12.10 :
|
With gcc 4.7.2 on Linux Ubuntu 12.10 :
|
||||||
|
|||||||
Reference in new issue
Block a user