The game is very simple to play:
There are two players. Player one has blue fields, while player two has red fields.
The playground is filled with this fields, but some of them are grey though.
And each field contains a value: 1 or 0 or 'empty'. That means ON and OFF. The 'empty' fields are not (very) relevant for gameplay.
And there is a 'cursor' containing 8 boolean digits and the field in the middle tells you, what type it is: AND, OR, XOR, ?
The cursor digits are applied to the field below with the operator. An example:
One of the cursor digits is ON and the field just below is OFF. The type of the cursor is OR. When applied the field will turn into ON:
field cursor # AND OR XOR
0 0 # 0 0 0
0 1 # 0 1 1
1 0 # 0 1 1
1 1 # 1 1 0
The '?' means: You don't know what operator it is ;) It's randomly generated.
You can move the cursor by pressing the cursor keys on your keyboard. To apply the cursor on the fields below press ENTER.
First is player one and after he/she pressed ENTER player two get it's chance.
The winner is, who set all of his/her fields to ON (1). If the fields of player one AND the fields of player two are turned to ON (1) in the same turn, the player wins, who's turn it is.
Structure of a map-file:
First come some definitions:
width=VALUE; defines the width of the map
height=VALUE; defines the height of the map
one=CHAR; defines what char is for player one. remember only 1 char
two=CHAR; defines what char is for pl 2
none=CHAR; defines what char is for none-player
on=CHAR; defines the char for ON(1)
off=CHAR; defines the char for OFF(0)
empty=CHAR; defines the char for an empty field (this can be expanded. there can be several 'empty' field types as plain, raised, sunken etc.) so this means only empty (nothing)
penguin=CHAR;
The variables above must be defined before the next part!
start:
Ok, here comes the creative part. Just informing the parser that there are coming some map lines
"<...>"
First there comes the player-line. Within the both '"' you can create your own map with chars from above: one, two, none.
Please check number of chars and compare with your defined width! (they must be equal)
if there is a char within the '"' that is not defined you get an error.
"<...>"
Second comes the values-line. Same as above, but the chars are from on, off and empty!
So there are two "<...>" lines for each map line.
If the parser can't understand what you've written, he'll give you an error.
Now some words about comments:
In the first part (before 'start:') you can write comments where ever you like, but don't use the map-keywords!
You can write comments after a line (after the ';') or in it's own line.
After you reached the end of definition-part you can write only comments after the "<...>".
Don't put comments between the map-lines!
After all map-lines defined you can write full line comments if you like to.
Also take a look at one of my map-files.