ICFPT 2013 Design Competition

ICFPT 2013 Blokus Duo Competition: Rules

123456789abcde
1
2
3
4
5 S
6
7
8
9
a S
b
c
d
e
Fig.1: The Blokus Duo Board
Fig.2 Corner-to-corner Contact
Allowed Prohibited
o o
oo oo
ohh ohh
kohh kohh
ks ks
ksss ksss
kks kks

Rules of Blokus Duo

Board

Blokus Duo is played on a 14x14 board, as shown in Fig.1.

Tiles

Each player has 21 different-shaped tiles (Fig.3). Any rotations of tiles are allowed as Fig.4.

Move Restrictions

Basic rule:
To start, both players have a set of 21 tiles above. Tiles has color to identify the player (i.e., player A has green tiles and player B has red tiles.) Each player places one tile at one time.
First move:
Players must cover one of the cell marked "S" in Fig.1, at (5,5) or(a,a) on their first move. The first tiles are placed at the same time by both players.
Corner-to-corner contact:
Newly placed tile must have at least one corner-to-corner contact with a tile of the same color. Additionally, newly placed tile must NOT have edge-to-edge contact with any tile of the same color. With any tile of different color, edge-to-edge contact is allowed. For example, The right-hand-side situation in Fig.2 violates this rule between "k" tile and "o" tile in red.

Scores

Game continues until both pass, one player plays all tiles, or one player makes an invalid move. Then the players' scores are calculated.

Fig.3 Types of Player Tiles
Monomino: Domino: Trominoes: Tetrominodes:
a: b: c: d: e: f: g: h: i:
Pentominoes:
j: k: l: m: n: o: p: q: r: s: t: u:
Fig.4 Title Rotation Patterns in "t" tile
0: 1: 2: 3: 4: 5: 6: 7:

Communication Protocol

123456789abcde
1
2
3
4
5
6
7
8
9
a
b
c
d
e
Fig.5: The four-letter code example: a4t3

FPGA boards must equip RS-232C (D-Sub 9pin) interface to communicate the host PC. The boards send their team ID (to start the match), their move in each turn, and receives the opponent's move in each turn via RS-232C link.

The details of the communication protocol will be available later.

The four-letter code

The FPT2013 Competition Blokus Duo protocol will use a simple four-letter code to represent a move, between the FPGA boards and host PC.

The four-letter code represents [X, Y, Tile type code, Tile rotation pattern]. The "X and Y coordinate" is written in 1-9 and a-e (lower-case) as in Fig.1 and 5, to point the "center" of a tile to be placed, filled in gray in Fig.3. "Tile type code" indicates the player's tile in Fig.2, in a lower-case alphabet. The last letter stands for the tile's orientation, as in Fig.4.

Fig.5 is an example of the four-letter code "a4t3" alone on the board.

"0000" is a special four-letter code that means "pass."

Communication Protocol (Pre-final: version 0.9.1, Jul.26, 2013)

Important Note: This protocol is pre-final version, modified from version 0.0. The protocol had modified to place the first tiles "without knowing" the opponent's first move.

Jul.26 Update: Player can do a hard reset at the end of a match.

RS-232C link is driven at 115200 bps, no parity and 1 stop bit. All communications are done in ASCII characters, case sensitive.

The protocol / codes above are summarized in table 1.

Table 1: Communication code summary
Code Sent by Description Response Code
0 Host Code 0 initiates the match. Code 1
1XX Board Response to code 0.
XX: team code.
none
2X Host Sent to the first-player board.
X: "5" to the player who covers (5,5) and "A" for (a,a).
Four-letter code
3XXXX Host Move request.
XXXX: Opponent's move.
Four-letter code
4XXXXYYYY Host Second move request.
XXXX/YYYY: Opponent's first/second move.
This code is used only once in a game.
Four-letter code
9 Host Termination. Code "0" may follows to this code.none

Example of Board-Host-Board Communication

An example of the message sequences and resulting board situation are given and illustrated in Table 2 and Fig.6. The team code of board 1 and 2 are "AA" and "BB", respectively. The first player is board 1.

123456789abcde
11111 122
21 12
3 12
4 12
5 12
6 2
7 2
8 2
9 2
a 2
b
c
d
e
Fig.6: The board after message sequence #12 of Table 2.
Table 2: Example of message sequences between Board 1, 2 and Host
Seq # From: Host
To: Board 1
From: Board 1
To: Host
From: Host
To: Board 2
From: Board 2
To: Host
10 0
2 1AA 1BB
325 2A
4 53e0 a8e0
53a8e0
6 21k7
7 453e021k7
8 94j0
9394j0
10 61a0
11 361a0
12 71b3
13371b3
(game continues)

If you find any problem in the protocol, please contact osana at eee.u-ryukyu.ac.jp .