make
For the console version (ncurses):
./morgan2
For the graphical version (X11):
./morgan2 X
The judges enjoyed playing the game almost to completion; if we remember correctly, we managed to place 59 or 60 dominoes. We wonder, what would be faster: to play the game to completion or to write an unobfuscated version of it?
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, at least one of its side shall match the other side of another domino.
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 right. You can have up to 8 dominoes pending at any time.
Use Up
and Down
key to move the cursor in the stack. Press Enter
to
either:
The currently selected domino is indicated on the top right.
Once a domino has been selected, the cursor moves to the grid. Use Up
, Down
,
Left
and Right
keys to move in the grid. Press Enter
on an empty position
to place the domino.
To go back to selection mode, press Enter
on an occupied position.
The domino can be placed in an empty position if all its neighbours have matching sides and the domino has at least one neighbour.
First, depending on the number of dominoes pending in the stack, a bonus is accorded:
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.
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 final score (total score divided by fill count).
The game is finished when no more dominoes can be placed and if one of the following occurs:
Note: There is no real end of game detection implemented in the program,
simply press q
when you have finished…
With gcc 4.7.2 on Linux Ubuntu 12.10 :
morgan2.c:46:65: warning: value computed is not used [-Wunused-value]
With clang 3.1 on Linux Ubuntu 12.10 :
morgan2.c:23:24: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
!!!!! HAVE FUN !!!!!