]> git.scottworley.com Git - slidingtile/blame - sliding_tile_lib.h
operator<< for printing for debugging
[slidingtile] / sliding_tile_lib.h
CommitLineData
82d6eed5
SW
1#ifndef _SLIDING_TILE_LIB_H
2#define _SLIDING_TILE_LIB_H
3
32688d85 4#include <istream>
cada47bf 5#include <ostream>
32688d85 6
e86755d7
SW
7const int BOARD_DIM = 4;
8const int BOARD_SIZE = BOARD_DIM * BOARD_DIM;
32688d85 9
19bd29f9
SW
10struct Board {
11 signed char board[BOARD_SIZE];
cea272cf
SW
12 bool is_valid() const;
13 signed char hole() const;
19bd29f9 14};
32688d85 15std::istream& operator>>(std::istream& is, Board& board);
cada47bf 16std::ostream& operator<<(std::ostream& os, const Board& board);
32688d85 17
82d6eed5
SW
18extern signed char adjacent[BOARD_SIZE][5];
19
20#endif /* _SLIDING_TILE_LIB_H */