summaryrefslogtreecommitdiff
path: root/oldbot.py
blob: e27ed397b6b31ac46f6aaaaf44cb1f8d0c9f2066 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import subprocess

class BotWrapper(object):
    def __init__(self, process):
        self.process = process

    def __call__(self, board, (x, y)):
        height = len(board)
        width = len(board[0])

        letter = board[y][x].lower()

        proc = subprocess.Popen(
            [self.process],
            stdin=subprocess.PIPE,
            stdout=subprocess.PIPE,
        )

        board = '\n'.join([''.join(row) for row in board])

        print>>proc.stdin, width, height, letter
        print>>proc.stdin, board
        proc.stdin.close()
        proc.wait()

        assert proc.returncode == 0, 'Snake died.'
        output = proc.stdout.read()
        return output.strip()