From 3859439ff146b48d6895c3eb5fb20618e5ce5232 Mon Sep 17 00:00:00 2001
From: Florian Burgener <florian.brgnr@gmail.com>
Date: Tue, 14 Dec 2021 22:05:07 +0100
Subject: [PATCH] Initial commit

---
 testbed/2players/test1.cand | 121 +++++++
 testbed/2players/test2.cand | 121 +++++++
 testbed/2players/test3.cand | 181 ++++++++++
 testbed/2players/test4.cand | 166 +++++++++
 testbed/2players/test5.cand | 646 ++++++++++++++++++++++++++++++++++++
 testbed/rand_ai/test1.cand  | 118 +++++++
 testbed/rand_ai/test2.cand  | 118 +++++++
 testbed/rand_ai/test3.cand  | 205 ++++++++++++
 testbed/rand_ai/test4.cand  | 190 +++++++++++
 testbed/smart_ai/test1.cand | 263 +++++++++++++++
 testbed/smart_ai/test2.cand | 132 ++++++++
 testbed/smart_ai/test3.cand | 248 ++++++++++++++
 testbed/smart_ai/test4.cand | 335 +++++++++++++++++++
 testbed/smart_ai/test5.cand | 219 ++++++++++++
 14 files changed, 3063 insertions(+)
 create mode 100644 testbed/2players/test1.cand
 create mode 100644 testbed/2players/test2.cand
 create mode 100644 testbed/2players/test3.cand
 create mode 100644 testbed/2players/test4.cand
 create mode 100644 testbed/2players/test5.cand
 create mode 100644 testbed/rand_ai/test1.cand
 create mode 100644 testbed/rand_ai/test2.cand
 create mode 100644 testbed/rand_ai/test3.cand
 create mode 100644 testbed/rand_ai/test4.cand
 create mode 100644 testbed/smart_ai/test1.cand
 create mode 100644 testbed/smart_ai/test2.cand
 create mode 100644 testbed/smart_ai/test3.cand
 create mode 100644 testbed/smart_ai/test4.cand
 create mode 100644 testbed/smart_ai/test5.cand

diff --git a/testbed/2players/test1.cand b/testbed/2players/test1.cand
new file mode 100644
index 0000000..a40fe3f
--- /dev/null
+++ b/testbed/2players/test1.cand
@@ -0,0 +1,121 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │X│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Player one won!
diff --git a/testbed/2players/test2.cand b/testbed/2players/test2.cand
new file mode 100644
index 0000000..a8ff64e
--- /dev/null
+++ b/testbed/2players/test2.cand
@@ -0,0 +1,121 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│X│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Player one won!
diff --git a/testbed/2players/test3.cand b/testbed/2players/test3.cand
new file mode 100644
index 0000000..f9eba0c
--- /dev/null
+++ b/testbed/2players/test3.cand
@@ -0,0 +1,181 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Player one won!
diff --git a/testbed/2players/test4.cand b/testbed/2players/test4.cand
new file mode 100644
index 0000000..8160252
--- /dev/null
+++ b/testbed/2players/test4.cand
@@ -0,0 +1,166 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Player two won!
diff --git a/testbed/2players/test5.cand b/testbed/2players/test5.cand
new file mode 100644
index 0000000..52cf289
--- /dev/null
+++ b/testbed/2players/test5.cand
@@ -0,0 +1,646 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│O│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│O│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │O│ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │X│O│ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │O│X│O│ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│X│O│X│O│ │O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│X│O│X│O│O│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│X│O│X│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│X│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│X│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+It is a draw.
diff --git a/testbed/rand_ai/test1.cand b/testbed/rand_ai/test1.cand
new file mode 100644
index 0000000..e28c57b
--- /dev/null
+++ b/testbed/rand_ai/test1.cand
@@ -0,0 +1,118 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Player one won!
diff --git a/testbed/rand_ai/test2.cand b/testbed/rand_ai/test2.cand
new file mode 100644
index 0000000..94e7f63
--- /dev/null
+++ b/testbed/rand_ai/test2.cand
@@ -0,0 +1,118 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│X│ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│X│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│X│X│O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│X│X│O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│X│O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Player one won!
diff --git a/testbed/rand_ai/test3.cand b/testbed/rand_ai/test3.cand
new file mode 100644
index 0000000..e856963
--- /dev/null
+++ b/testbed/rand_ai/test3.cand
@@ -0,0 +1,205 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Player one won!
diff --git a/testbed/rand_ai/test4.cand b/testbed/rand_ai/test4.cand
new file mode 100644
index 0000000..2b34667
--- /dev/null
+++ b/testbed/rand_ai/test4.cand
@@ -0,0 +1,190 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │ │X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│ │O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│ │O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │O│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│ │O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│ │O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│ │O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│ │O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│O│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Computer won!
diff --git a/testbed/smart_ai/test1.cand b/testbed/smart_ai/test1.cand
new file mode 100644
index 0000000..4f1e019
--- /dev/null
+++ b/testbed/smart_ai/test1.cand
@@ -0,0 +1,263 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│O│X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│O│X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│O│X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│O│X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│O│X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│O│O│ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│O│X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Player one won!
diff --git a/testbed/smart_ai/test2.cand b/testbed/smart_ai/test2.cand
new file mode 100644
index 0000000..b6e011d
--- /dev/null
+++ b/testbed/smart_ai/test2.cand
@@ -0,0 +1,132 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│X│X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│O│O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Computer won!
diff --git a/testbed/smart_ai/test3.cand b/testbed/smart_ai/test3.cand
new file mode 100644
index 0000000..515b4fd
--- /dev/null
+++ b/testbed/smart_ai/test3.cand
@@ -0,0 +1,248 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│ │X│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│ │X│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│O│X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│O│X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│O│X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│O│X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │O│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │X│O│O│X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│X│O│O│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Computer won!
diff --git a/testbed/smart_ai/test4.cand b/testbed/smart_ai/test4.cand
new file mode 100644
index 0000000..97e668c
--- /dev/null
+++ b/testbed/smart_ai/test4.cand
@@ -0,0 +1,335 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │ │X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │ │X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│ │O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│O│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │X│O│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │ │X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │X│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │X│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │X│X│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│X│X│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│X│X│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│ │ │O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│X│X│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│ │ │O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│X│X│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│O│ │O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│X│X│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│X│X│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│ │O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │X│ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│O│X│O│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │O│X│X│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│O│O│X│O│X│
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│O│X│O│X│X│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Computer won!
diff --git a/testbed/smart_ai/test5.cand b/testbed/smart_ai/test5.cand
new file mode 100644
index 0000000..2e6a63f
--- /dev/null
+++ b/testbed/smart_ai/test5.cand
@@ -0,0 +1,219 @@
+Board size is 6x7 (rows x col)
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│ │ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │ │ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│ │X│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│ │ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│ │X│ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │X│ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │O│X│ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Column number? (starts at 1):
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│O│O│ │
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+┌─┬─┬─┬─┬─┬─┬─┐
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│ │ │ │ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│ │O│ │ │ │ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│ │X│X│ │
+├─┼─┼─┼─┼─┼─┼─┤
+│X│O│X│O│O│O│O│
+└─┴─┴─┴─┴─┴─┴─┘
+ 1 2 3 4 5 6 7
+Computer won!
-- 
GitLab