summaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2016-03-28 15:36:42 +0200
committerLoïc Hoguin <[email protected]>2016-03-28 15:36:42 +0200
commitfe3492a98de29942477b061cd02c92246f4bf85a (patch)
tree2255b796a657e6e4dfb72beec1141258d17f1220 /res
downloadninenines.eu-fe3492a98de29942477b061cd02c92246f4bf85a.tar.gz
ninenines.eu-fe3492a98de29942477b061cd02c92246f4bf85a.tar.bz2
ninenines.eu-fe3492a98de29942477b061cd02c92246f4bf85a.zip
Initial commit, new website system
Diffstat (limited to 'res')
-rw-r--r--res/erlanger-preview.pdfbin0 -> 118131 bytes
-rw-r--r--res/tictactoe.erl89
2 files changed, 89 insertions, 0 deletions
diff --git a/res/erlanger-preview.pdf b/res/erlanger-preview.pdf
new file mode 100644
index 00000000..33fc7c18
--- /dev/null
+++ b/res/erlanger-preview.pdf
Binary files differ
diff --git a/res/tictactoe.erl b/res/tictactoe.erl
new file mode 100644
index 00000000..abbc78e0
--- /dev/null
+++ b/res/tictactoe.erl
@@ -0,0 +1,89 @@
+-module(tictactoe).
+
+-export([new/0]).
+-export([play/4]).
+-export([check/1]).
+
+new() ->
+ {undefined, undefined, undefined,
+ undefined, undefined, undefined,
+ undefined, undefined, undefined}.
+
+play(Who, X, Y, Board) ->
+ setelement((Y - 1) * 3 + X, Board, Who).
+
+check(Board) ->
+ case Board of
+ {x, x, x,
+ _, _, _,
+ _, _, _} -> {victory, x};
+
+ {_, _, _,
+ x, x, x,
+ _, _, _} -> {victory, x};
+
+ {_, _, _,
+ _, _, _,
+ x, x, x} -> {victory, x};
+
+ {x, _, _,
+ x, _, _,
+ x, _, _} -> {victory, x};
+
+ {_, x, _,
+ _, x, _,
+ _, x, _} -> {victory, x};
+
+ {_, _, x,
+ _, _, x,
+ _, _, x} -> {victory, x};
+
+ {x, _, _,
+ _, x, _,
+ _, _, x} -> {victory, x};
+
+ {_, _, x,
+ _, x, _,
+ x, _, _} -> {victory, x};
+
+ {o, o, o,
+ _, _, _,
+ _, _, _} -> {victory, o};
+
+ {_, _, _,
+ o, o, o,
+ _, _, _} -> {victory, o};
+
+ {_, _, _,
+ _, _, _,
+ o, o, o} -> {victory, o};
+
+ {o, _, _,
+ o, _, _,
+ o, _, _} -> {victory, o};
+
+ {_, o, _,
+ _, o, _,
+ _, o, _} -> {victory, o};
+
+ {_, _, o,
+ _, _, o,
+ _, _, o} -> {victory, o};
+
+ {o, _, _,
+ _, o, _,
+ _, _, o} -> {victory, o};
+
+ {_, _, o,
+ _, o, _,
+ o, _, _} -> {victory, o};
+
+ {A, B, C,
+ D, E, F,
+ G, H, I} when A =/= undefined, B =/= undefined, C =/= undefined,
+ D =/= undefined, E =/= undefined, F =/= undefined,
+ G =/= undefined, H =/= undefined, I =/= undefined ->
+ draw;
+
+ _ -> ok
+ end.