関数分け
いまいち

STATE *state
const でいいところもconstが無い

COL/ROW
名前がサイズじゃなくて位置っぽい

board[x][y]
board[y][x]の方が良いことあるかも

key
ifの羅列よりもswitch case

ways
static constをつけよう

directions
return で8個orしてるのがいやだ

名前
規模のわりに名前が長い

srand
なんで何回もよぶ?