- unsigned x = i/5, y = i%5;
- uint_fast32_t position;
-
- position = board_position(x, y);
- if (tiles[i] != TILE_EMPTY) {
- if (tiles[i] & 1) board->game[0] |= position;
- if (tiles[i] & 2) board->game[1] |= position;
- if (tiles[i] & 4) board->game[2] |= position;
- } else {
- board->game[3] = ~position;
- board->x = x;
- board->y = y;
+ assign_tile(board->game, tiles[i], i);
+
+ if (tiles[i] == TILE_EMPTY) {
+ board->game[3] = (1ul<<i);
+ board->x = i%5;
+ board->y = i/5;