diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..2e52e28f73077f0ea9ddeaf996aae920822411d5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,81 @@
+
+# Created by https://www.toptal.com/developers/gitignore/api/c,visualstudiocode
+# Edit at https://www.toptal.com/developers/gitignore?templates=c,visualstudiocode
+
+### C ###
+# Prerequisites
+*.d
+
+# Object files
+*.o
+*.ko
+*.obj
+*.elf
+
+# Linker output
+*.ilk
+*.map
+*.exp
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Libraries
+*.lib
+*.a
+*.la
+*.lo
+
+# Shared objects (inc. Windows DLLs)
+*.dll
+*.so
+*.so.*
+*.dylib
+
+# Executables
+*.exe
+*.out
+*.app
+*.i*86
+*.x86_64
+*.hex
+
+# Debug files
+*.dSYM/
+*.su
+*.idb
+*.pdb
+
+# Kernel Module Compile Results
+*.mod*
+*.cmd
+.tmp_versions/
+modules.order
+Module.symvers
+Mkfile.old
+dkms.conf
+
+### VisualStudioCode ###
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
+
+# Local History for Visual Studio Code
+.history/
+
+### VisualStudioCode Patch ###
+# Ignore all local history of files
+.history
+.ionide
+
+# Support for Project snippet scope
+!.vscode/*.code-snippets
+
+# End of https://www.toptal.com/developers/gitignore/api/c,visualstudiocode
+
+# Custom gitignore for project
+puissance
\ No newline at end of file
diff --git a/README.md b/README.md
index e1cb64a389e6f1744031ac484ffa4f3f725f49dc..29e3b2e423012d5d775b814db7e32132b8450671 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,25 @@
 # progseq-puissance4
 
-10e travail pratique du cours de programmation séquentielle, 1er année (2021-2022).
\ No newline at end of file
+- **Class** : Programmation séquentielle en C
+- **Creation date** : 14 décembre 2021
+- **Description** : 10e travail pratique
+
+## Makefile configuration
+
+### Compile the project
+> `make`
+
+Use this command to compile the project.
+
+### Clean the project
+> `make clean`
+
+Use this command to clean the project.
+
+### Run the tests
+> `make test`
+>
+> `./test`
+
+Use this command to compile and start the tests.
+
diff --git a/main.c b/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..b651b1289c1bd511537e744ff6f505016a0f2221
--- /dev/null
+++ b/main.c
@@ -0,0 +1,14 @@
+/* Author : Dario GENGA
+ * Date : 14.12.2021
+ * Description : The power 4 game
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "puissance.h"
+
+int main() {
+
+    
+    return EXIT_SUCCESS;
+}
diff --git a/makefile b/makefile
new file mode 100644
index 0000000000000000000000000000000000000000..86ccf0e709171408d7bd94df087555e53e3db3da
--- /dev/null
+++ b/makefile
@@ -0,0 +1,12 @@
+LIB=-lm
+CC=gcc -Wall -Wextra -g
+
+puissance: puissance.o main.o
+	$(CC) $^ -fsanitize=address -fsanitize=leak -o $@ $(LIB)
+
+puissance.o: puissance.c puissance.h
+	$(CC) -c $< $(LIB)
+main.o: main.c
+	$(CC) -c $< $(LIB)
+clean:
+	rm -f *.o puissance test
\ No newline at end of file
diff --git a/puissance.c b/puissance.c
new file mode 100644
index 0000000000000000000000000000000000000000..010f54d50d323211fde103df547823eab600a6d2
--- /dev/null
+++ b/puissance.c
@@ -0,0 +1,7 @@
+/* Author : Dario GENGA
+ * Date : 14.12.2021
+ * Description : The power 4 game
+ */
+
+#include "puissance.h"
+#include <stdio.h>
diff --git a/puissance.h b/puissance.h
new file mode 100644
index 0000000000000000000000000000000000000000..bf975a03ad017268157ba421b173760a9abf7311
--- /dev/null
+++ b/puissance.h
@@ -0,0 +1,12 @@
+/* Author : Dario GENGA
+ * Date : 14.12.2021
+ * Description : The power 4 game
+ */
+
+#ifndef _PUISSANCE_H
+#define _PUISSANCE_H
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+
+#endif
\ No newline at end of file
diff --git a/skeleton_for_students/Makefile b/skeleton_for_students/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..57c7cd62f3d1b3b3db4cf8b9d50106740c620218
--- /dev/null
+++ b/skeleton_for_students/Makefile
@@ -0,0 +1,9 @@
+puissance4: 
+	@echo "first rule which must create the puissance4 executable"
+
+clean:
+	@echo "this rule must clean everything up (including candidate files in testbed)"
+	$(MAKE) -C testbed clean
+
+tests: puissance4
+	$(MAKE) -C testbed
\ No newline at end of file
diff --git a/skeleton_for_students/puissance4 b/skeleton_for_students/puissance4
new file mode 100755
index 0000000000000000000000000000000000000000..c73ed624297549082e6abff83ff60652fc3c34c8
Binary files /dev/null and b/skeleton_for_students/puissance4 differ
diff --git a/skeleton_for_students/testbed/2players/Makefile b/skeleton_for_students/testbed/2players/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..2175d168849f6b54e2b4dcecd1ec5faea9a38740
--- /dev/null
+++ b/skeleton_for_students/testbed/2players/Makefile
@@ -0,0 +1,7 @@
+include ../common.mk
+
+EXE=../../puissance4 3 6 7
+
+title:
+	@echo "=============[2 player tests]============="
+
diff --git a/skeleton_for_students/testbed/2players/test1.in b/skeleton_for_students/testbed/2players/test1.in
new file mode 100644
index 0000000000000000000000000000000000000000..5a09fe75d4bec66d80abd5d418a6e454f0859390
--- /dev/null
+++ b/skeleton_for_students/testbed/2players/test1.in
@@ -0,0 +1 @@
+4 1 4 1 4 1 4
diff --git a/skeleton_for_students/testbed/2players/test1.ref b/skeleton_for_students/testbed/2players/test1.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a40fe3f71b2d5a427f7f139a437e8e9a076f7a6e
--- /dev/null
+++ b/skeleton_for_students/testbed/2players/test1.ref
@@ -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/skeleton_for_students/testbed/2players/test2.in b/skeleton_for_students/testbed/2players/test2.in
new file mode 100644
index 0000000000000000000000000000000000000000..e0c37d39839197eaf3c591ebb4a009f05e941c93
--- /dev/null
+++ b/skeleton_for_students/testbed/2players/test2.in
@@ -0,0 +1 @@
+1 1 2 2 3 3 4
diff --git a/skeleton_for_students/testbed/2players/test2.ref b/skeleton_for_students/testbed/2players/test2.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a8ff64e733c319b5fd9abebdc7524e90141d03a2
--- /dev/null
+++ b/skeleton_for_students/testbed/2players/test2.ref
@@ -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/skeleton_for_students/testbed/2players/test3.in b/skeleton_for_students/testbed/2players/test3.in
new file mode 100644
index 0000000000000000000000000000000000000000..952b0a4b745a6ad24b91c45e60e05808b8a618f2
--- /dev/null
+++ b/skeleton_for_students/testbed/2players/test3.in
@@ -0,0 +1 @@
+1 2 3 4 3 4 3 4 2 1 4
diff --git a/skeleton_for_students/testbed/2players/test3.ref b/skeleton_for_students/testbed/2players/test3.ref
new file mode 100644
index 0000000000000000000000000000000000000000..f9eba0cb5ff80edb36510aa405037f018c69966c
--- /dev/null
+++ b/skeleton_for_students/testbed/2players/test3.ref
@@ -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/skeleton_for_students/testbed/2players/test4.in b/skeleton_for_students/testbed/2players/test4.in
new file mode 100644
index 0000000000000000000000000000000000000000..5e93e4b751c2decf782b66a9396302b64b524035
--- /dev/null
+++ b/skeleton_for_students/testbed/2players/test4.in
@@ -0,0 +1 @@
+1 1 1 1 2 4 3 3 2 2
diff --git a/skeleton_for_students/testbed/2players/test4.ref b/skeleton_for_students/testbed/2players/test4.ref
new file mode 100644
index 0000000000000000000000000000000000000000..81602525b3f80603466f1d1bd63e49685e651884
--- /dev/null
+++ b/skeleton_for_students/testbed/2players/test4.ref
@@ -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/skeleton_for_students/testbed/2players/test5.in b/skeleton_for_students/testbed/2players/test5.in
new file mode 100644
index 0000000000000000000000000000000000000000..456c4881e6b3c4b34b3e817b55fa9c9905971bd3
--- /dev/null
+++ b/skeleton_for_students/testbed/2players/test5.in
@@ -0,0 +1 @@
+1 2 3 4 5 6 7 2 3 4 5 6 7 3 4 5 6 7 4 5 6 7 5 6 7 6 7 1 2 1 3 2 1 4 3 2 1 4 3 2 1 5
diff --git a/skeleton_for_students/testbed/2players/test5.ref b/skeleton_for_students/testbed/2players/test5.ref
new file mode 100644
index 0000000000000000000000000000000000000000..52cf289aeba19f2aad00146cff2c14ad89c11040
--- /dev/null
+++ b/skeleton_for_students/testbed/2players/test5.ref
@@ -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/skeleton_for_students/testbed/Makefile b/skeleton_for_students/testbed/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..c124c27fcc48ddb27f2e6d2abae6ab43e20eca20
--- /dev/null
+++ b/skeleton_for_students/testbed/Makefile
@@ -0,0 +1,11 @@
+all:
+	$(MAKE) -C 2players
+	$(MAKE) -C rand_ai
+	$(MAKE) -C smart_ai
+
+clean:
+	$(MAKE) -C 2players $@
+	$(MAKE) -C rand_ai $@
+	$(MAKE) -C smart_ai $@
+
+.PHONY: clean
diff --git a/skeleton_for_students/testbed/common.mk b/skeleton_for_students/testbed/common.mk
new file mode 100644
index 0000000000000000000000000000000000000000..5faa43d86d7ecac1bcc22e27e39214f1e3149bb1
--- /dev/null
+++ b/skeleton_for_students/testbed/common.mk
@@ -0,0 +1,19 @@
+INPUTS=$(wildcard *.in)
+REFS=$(wildcard *.ref)
+CANDIDATES=$(REFS:%.ref=%.cand)
+
+all: title clean $(CANDIDATES)
+
+tests: $(INPUTS) $(REFS)
+	@echo $(CANDIDATES)
+
+%.cand: %.in %.ref
+	@echo $*
+	@cat $< | $(EXE) > $@
+	-@cmp -s $*.ref $@
+	@echo "-----------------------------"
+
+clean:
+	@rm -f *.cand
+
+.PHONY: clean
\ No newline at end of file
diff --git a/skeleton_for_students/testbed/rand_ai/Makefile b/skeleton_for_students/testbed/rand_ai/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..1ae4cc3da0ad5e719dc71f3e55b23223e4135057
--- /dev/null
+++ b/skeleton_for_students/testbed/rand_ai/Makefile
@@ -0,0 +1,7 @@
+include ../common.mk
+
+EXE=../../puissance4 1 6 7
+
+title:
+	@echo "=============[random AI tests]============="
+
diff --git a/skeleton_for_students/testbed/rand_ai/test1.in b/skeleton_for_students/testbed/rand_ai/test1.in
new file mode 100644
index 0000000000000000000000000000000000000000..ac6474af4055d31655005b8314c16a90d2162c3b
--- /dev/null
+++ b/skeleton_for_students/testbed/rand_ai/test1.in
@@ -0,0 +1 @@
+1 1 1 1
diff --git a/skeleton_for_students/testbed/rand_ai/test1.ref b/skeleton_for_students/testbed/rand_ai/test1.ref
new file mode 100644
index 0000000000000000000000000000000000000000..e28c57bd4e8cffd0bfdedc84a65dc03cd6d93011
--- /dev/null
+++ b/skeleton_for_students/testbed/rand_ai/test1.ref
@@ -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/skeleton_for_students/testbed/rand_ai/test2.in b/skeleton_for_students/testbed/rand_ai/test2.in
new file mode 100644
index 0000000000000000000000000000000000000000..c32f45a4b8bd1ecb65851e0f97f3983892f1f9e8
--- /dev/null
+++ b/skeleton_for_students/testbed/rand_ai/test2.in
@@ -0,0 +1 @@
+2 3 4 1
\ No newline at end of file
diff --git a/skeleton_for_students/testbed/rand_ai/test2.ref b/skeleton_for_students/testbed/rand_ai/test2.ref
new file mode 100644
index 0000000000000000000000000000000000000000..94e7f63ae668cfb8fe45f35d7e57f2e63d9db534
--- /dev/null
+++ b/skeleton_for_students/testbed/rand_ai/test2.ref
@@ -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/skeleton_for_students/testbed/rand_ai/test3.in b/skeleton_for_students/testbed/rand_ai/test3.in
new file mode 100644
index 0000000000000000000000000000000000000000..ee54247e8ea7c4cbf620c972a8e2e77eab24b2d4
--- /dev/null
+++ b/skeleton_for_students/testbed/rand_ai/test3.in
@@ -0,0 +1 @@
+1 2 3 3 4 4 4
\ No newline at end of file
diff --git a/skeleton_for_students/testbed/rand_ai/test3.ref b/skeleton_for_students/testbed/rand_ai/test3.ref
new file mode 100644
index 0000000000000000000000000000000000000000..e856963e177dbeb2443a22199afe5a3c1ebcd274
--- /dev/null
+++ b/skeleton_for_students/testbed/rand_ai/test3.ref
@@ -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/skeleton_for_students/testbed/rand_ai/test4.in b/skeleton_for_students/testbed/rand_ai/test4.in
new file mode 100644
index 0000000000000000000000000000000000000000..2d68c3e9ad9588f624dea470c75e3837b9e52db8
--- /dev/null
+++ b/skeleton_for_students/testbed/rand_ai/test4.in
@@ -0,0 +1 @@
+7 6 6 5 5 1
\ No newline at end of file
diff --git a/skeleton_for_students/testbed/rand_ai/test4.ref b/skeleton_for_students/testbed/rand_ai/test4.ref
new file mode 100644
index 0000000000000000000000000000000000000000..2b346675c58781173979b46b50499e15cb08d256
--- /dev/null
+++ b/skeleton_for_students/testbed/rand_ai/test4.ref
@@ -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/skeleton_for_students/testbed/smart_ai/Makefile b/skeleton_for_students/testbed/smart_ai/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..d0d9a2095a22ac6f083a0b93a06e16844b8fc59d
--- /dev/null
+++ b/skeleton_for_students/testbed/smart_ai/Makefile
@@ -0,0 +1,7 @@
+include ../common.mk
+
+EXE=../../puissance4 2 6 7
+
+title:
+	@echo "=============[smart AI tests]============="
+
diff --git a/skeleton_for_students/testbed/smart_ai/test1.in b/skeleton_for_students/testbed/smart_ai/test1.in
new file mode 100644
index 0000000000000000000000000000000000000000..6bac72ddcca37530434d3f5f6ec82f572947fa70
--- /dev/null
+++ b/skeleton_for_students/testbed/smart_ai/test1.in
@@ -0,0 +1 @@
+1 1 1 2 4 4 2 3 4
diff --git a/skeleton_for_students/testbed/smart_ai/test1.ref b/skeleton_for_students/testbed/smart_ai/test1.ref
new file mode 100644
index 0000000000000000000000000000000000000000..4f1e01992ed3f7b3e1b00121020f379603deb328
--- /dev/null
+++ b/skeleton_for_students/testbed/smart_ai/test1.ref
@@ -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/skeleton_for_students/testbed/smart_ai/test2.in b/skeleton_for_students/testbed/smart_ai/test2.in
new file mode 100644
index 0000000000000000000000000000000000000000..a5adbd35490763b08f8d6ef20d9d536acb9d9bce
--- /dev/null
+++ b/skeleton_for_students/testbed/smart_ai/test2.in
@@ -0,0 +1 @@
+1 2 1 3
\ No newline at end of file
diff --git a/skeleton_for_students/testbed/smart_ai/test2.ref b/skeleton_for_students/testbed/smart_ai/test2.ref
new file mode 100644
index 0000000000000000000000000000000000000000..b6e011dcb0da91e6976f752cc84b703097be140f
--- /dev/null
+++ b/skeleton_for_students/testbed/smart_ai/test2.ref
@@ -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/skeleton_for_students/testbed/smart_ai/test3.in b/skeleton_for_students/testbed/smart_ai/test3.in
new file mode 100644
index 0000000000000000000000000000000000000000..6a233509c24365aa556325ed0772ca716bf9e97d
--- /dev/null
+++ b/skeleton_for_students/testbed/smart_ai/test3.in
@@ -0,0 +1 @@
+1 2 3 4 5 6 7 5
\ No newline at end of file
diff --git a/skeleton_for_students/testbed/smart_ai/test3.ref b/skeleton_for_students/testbed/smart_ai/test3.ref
new file mode 100644
index 0000000000000000000000000000000000000000..515b4fd88ad56d6d51812f73d5ba4dd13594c4e5
--- /dev/null
+++ b/skeleton_for_students/testbed/smart_ai/test3.ref
@@ -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/skeleton_for_students/testbed/smart_ai/test4.in b/skeleton_for_students/testbed/smart_ai/test4.in
new file mode 100644
index 0000000000000000000000000000000000000000..b476b1889c7167245a18b0654fdba8e15c195cb5
--- /dev/null
+++ b/skeleton_for_students/testbed/smart_ai/test4.in
@@ -0,0 +1 @@
+7 6 5 4 6 7 7 5 1 4 6
\ No newline at end of file
diff --git a/skeleton_for_students/testbed/smart_ai/test4.ref b/skeleton_for_students/testbed/smart_ai/test4.ref
new file mode 100644
index 0000000000000000000000000000000000000000..97e668c1b469b6942377d5da55e5d4dff4196e4b
--- /dev/null
+++ b/skeleton_for_students/testbed/smart_ai/test4.ref
@@ -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/skeleton_for_students/testbed/smart_ai/test5.in b/skeleton_for_students/testbed/smart_ai/test5.in
new file mode 100644
index 0000000000000000000000000000000000000000..41bd03814e8fc1911b2cdead2e74ba6263e2de53
--- /dev/null
+++ b/skeleton_for_students/testbed/smart_ai/test5.in
@@ -0,0 +1 @@
+1 3 3 5 6 1 1 
\ No newline at end of file
diff --git a/skeleton_for_students/testbed/smart_ai/test5.ref b/skeleton_for_students/testbed/smart_ai/test5.ref
new file mode 100644
index 0000000000000000000000000000000000000000..2e6a63f5d175f1efdeb513f673aa8bcdc3347f52
--- /dev/null
+++ b/skeleton_for_students/testbed/smart_ai/test5.ref
@@ -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!