summaryrefslogtreecommitdiff
path: root/processbot.py
diff options
context:
space:
mode:
Diffstat (limited to 'processbot.py')
-rw-r--r--processbot.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/processbot.py b/processbot.py
new file mode 100644
index 0000000..3bd3038
--- /dev/null
+++ b/processbot.py
@@ -0,0 +1,30 @@
+import subprocess
+
+class BotWrapper(object):
+ def __init__(self, process):
+ self.process = process
+ self.__name__ = 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()
+