Added gallow
authorCamil Staps <info@camilstaps.nl>
Sun, 19 Apr 2015 12:17:40 +0000 (14:17 +0200)
committerCamil Staps <info@camilstaps.nl>
Sun, 19 Apr 2015 12:17:40 +0000 (14:17 +0200)
fp2/week1/camil/Galgje.icl
fp2/week1/camil/round-0.txt [new file with mode: 0644]
fp2/week1/camil/round-1.txt [new file with mode: 0644]
fp2/week1/camil/round-2.txt [new file with mode: 0644]
fp2/week1/camil/round-3.txt [new file with mode: 0644]
fp2/week1/camil/round-4.txt [new file with mode: 0644]
fp2/week1/camil/round-5.txt [new file with mode: 0644]
fp2/week1/camil/round-lost.txt [new file with mode: 0644]

index f8dd8f3..4225929 100644 (file)
@@ -26,17 +26,20 @@ randomWord env
 | otherwise = (Just (skip_nl ((shuffle (fromJust ss) seed)!!0)), env)\r
 \r
 // word, guesses, mistakes left, stdio -> (win, new guesses, stdio)\r
-play :: String [Char] Int *File -> (Bool, [Char], *File)\r
-play w g n io\r
+play :: String [Char] Int *File *env -> (Bool, [Char], *File, *env) | FileSystem env\r
+play w g n io world\r
 # io = io <<< stripUnknown w g <<< '\n'\r
-| stripUnknown w g == w = (True, g, io)\r
+| stripUnknown w g == w = (True, g, io, world)\r
+# (round,world) = readFile ("round-" +++ (toString n) +++ ".txt") world\r
+| round == Nothing = abort "Couldn't get gallow"\r
+# io = io <<< (fromJust round)\r
 # io = io <<< "Guess (" <<< toString n <<< "): "\r
 # (ok,g`,io) = freadc io\r
 # (_,io) = freadline io // to read until the next \n\r
 | not ok = abort "Couldn't get guessed letter"\r
-| isMemberString w g` = play w [g`:g] n io\r
-| n == 0 = (False, [g`:g], io)\r
-| otherwise = play w [g`:g] (n-1) io\r
+| isMemberString w g` = play w [g`:g] n io world\r
+| n == 0 = (False, [g`:g], io, world)\r
+| otherwise = play w [g`:g] (n-1) io world\r
 \r
 Start :: *World -> *World\r
 Start world\r
@@ -44,8 +47,10 @@ Start world
 | word == Nothing = abort "Couldn't get random word"\r
 # word = fromJust word\r
 # (io,world) = stdio world\r
-# (win,g,io) = play word [] 5 io\r
-# io = if win (io <<< "You win!\n") (io <<< "You lose!\n")\r
+# (win,g,io,world) = play word [] 5 io world\r
+# (lost,world) = readFile "round-lost.txt" world\r
+| lost == Nothing = abort "Couldn't get gallow"\r
+# io = if win (io <<< "You win!\n") (io <<< "You lose!\n" <<< fromJust lost)\r
 # (ok,world) = fclose io world\r
 | not ok = abort "Couldn't close stdio"\r
 | otherwise = world\r
diff --git a/fp2/week1/camil/round-0.txt b/fp2/week1/camil/round-0.txt
new file mode 100644 (file)
index 0000000..7236e17
--- /dev/null
@@ -0,0 +1,7 @@
+  ------
+  |  \ |
+  o   \|
+ /O\   |
+       |
+       |
+________
diff --git a/fp2/week1/camil/round-1.txt b/fp2/week1/camil/round-1.txt
new file mode 100644 (file)
index 0000000..8694aad
--- /dev/null
@@ -0,0 +1,7 @@
+  ------
+  |  \ |
+  o   \|
+       |
+       |
+       |
+________
diff --git a/fp2/week1/camil/round-2.txt b/fp2/week1/camil/round-2.txt
new file mode 100644 (file)
index 0000000..d46d77c
--- /dev/null
@@ -0,0 +1,7 @@
+  ------
+  |  \ |
+      \|
+       |
+       |
+       |
+________
diff --git a/fp2/week1/camil/round-3.txt b/fp2/week1/camil/round-3.txt
new file mode 100644 (file)
index 0000000..9bdd2ba
--- /dev/null
@@ -0,0 +1,7 @@
+  ------
+     \ |
+      \|
+       |
+       |
+       |
+________
diff --git a/fp2/week1/camil/round-4.txt b/fp2/week1/camil/round-4.txt
new file mode 100644 (file)
index 0000000..41ca216
--- /dev/null
@@ -0,0 +1,7 @@
+
+       |
+       |
+       |
+       |
+       |
+________
diff --git a/fp2/week1/camil/round-5.txt b/fp2/week1/camil/round-5.txt
new file mode 100644 (file)
index 0000000..f29c0dd
--- /dev/null
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+________
diff --git a/fp2/week1/camil/round-lost.txt b/fp2/week1/camil/round-lost.txt
new file mode 100644 (file)
index 0000000..7ec2fa7
--- /dev/null
@@ -0,0 +1,7 @@
+  ------
+  |  \ |
+  o   \|
+ /O\   |
+ / \   |
+       |
+________