scottkit 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. data/.gitignore +4 -0
  2. data/GPL-2 +339 -0
  3. data/Makefile +5 -0
  4. data/README +75 -0
  5. data/Rakefile +58 -0
  6. data/VERSION +1 -0
  7. data/bin/scottkit +96 -0
  8. data/bin/scottkit.rb +96 -0
  9. data/data/.gitignore +1 -0
  10. data/data/adams/.gitignore +2 -0
  11. data/data/adams/AdamsGames.zip +0 -0
  12. data/data/adams/Makefile +18 -0
  13. data/data/crystal/crystal.map +112 -0
  14. data/data/crystal/crystal.sck +598 -0
  15. data/data/crystal/crystal.solution +82 -0
  16. data/data/dan-and-matt.sck +180 -0
  17. data/data/dan-and-matt.solution +32 -0
  18. data/data/howarth/.gitignore +2 -0
  19. data/data/howarth/Makefile +14 -0
  20. data/data/howarth/mysterious.tar.gz +0 -0
  21. data/data/test/Makefile +18 -0
  22. data/data/test/adams/Makefile +13 -0
  23. data/data/test/adams/adv01.solution +186 -0
  24. data/data/test/adams/adv01.transcript +869 -0
  25. data/data/test/adams/adv01.transcript.md5 +1 -0
  26. data/data/test/adams/adv02.solution +225 -0
  27. data/data/test/adams/adv02.transcript +970 -0
  28. data/data/test/adams/adv02.transcript.md5 +1 -0
  29. data/data/test/adams/adv04.solution +187 -0
  30. data/data/test/adams/adv04.transcript +876 -0
  31. data/data/test/adams/adv04.transcript.md5 +1 -0
  32. data/data/test/crystal.decompile +628 -0
  33. data/data/test/crystal.sao +373 -0
  34. data/data/test/crystal.save-file +62 -0
  35. data/data/test/crystal.save-script +41 -0
  36. data/data/test/crystal.sck +598 -0
  37. data/data/test/crystal.solution +82 -0
  38. data/data/test/crystal.transcript +413 -0
  39. data/data/test/t6.pretty-print +225 -0
  40. data/data/test/t7.sao +110 -0
  41. data/data/test/t7.solution +28 -0
  42. data/data/test/t7.transcript +147 -0
  43. data/data/tutorial/t1.sck +5 -0
  44. data/data/tutorial/t2.sck +14 -0
  45. data/data/tutorial/t3.sck +38 -0
  46. data/data/tutorial/t4.sck +62 -0
  47. data/data/tutorial/t5.sck +87 -0
  48. data/data/tutorial/t6.sck +119 -0
  49. data/data/tutorial/t7.sck +135 -0
  50. data/lib/scottkit/compile.rb +661 -0
  51. data/lib/scottkit/decompile.rb +175 -0
  52. data/lib/scottkit/game.rb +409 -0
  53. data/lib/scottkit/play.rb +474 -0
  54. data/notes/Definition +147 -0
  55. data/notes/Definition.saved-game +9 -0
  56. data/notes/Definition.scottfree-1.14 +142 -0
  57. data/notes/adventureland-maze +20 -0
  58. data/notes/continue-action +51 -0
  59. data/test/test_canonicalise.rb +94 -0
  60. data/test/test_compile.rb +54 -0
  61. data/test/test_decompile.rb +13 -0
  62. data/test/test_play.rb +20 -0
  63. data/test/test_playadams.rb +36 -0
  64. data/test/test_save.rb +31 -0
  65. data/test/withio.rb +15 -0
  66. data/test/withio_test.rb +31 -0
  67. metadata +118 -0
data/data/test/t7.sao ADDED
@@ -0,0 +1,110 @@
1
+ 29168
2
+ 10
3
+ 18
4
+ 19
5
+ 6
6
+ 2
7
+ 1
8
+ 1
9
+ 3
10
+ 26
11
+ 11
12
+ 2
13
+
14
+ 300 0 0 0 0 0 9750 0
15
+ 450 0 0 0 0 0 9900 0
16
+ 600 0 0 0 0 0 9600 0
17
+ 100 29 20 0 0 0 152 8700
18
+ 157 22 60 0 0 0 8164 0
19
+ 758 2 25 80 0 0 11853 0
20
+ 100 0 0 0 0 0 11550 0
21
+ 100 59 0 0 0 0 600 0
22
+ 100 39 20 20 0 0 9305 9600
23
+ 900 0 0 0 0 0 900 0
24
+ 100 328 320 180 80 0 9072 9600
25
+ 100 64 308 0 0 0 8614 0
26
+ 100 84 309 0 0 0 8464 0
27
+ 25 84 0 0 0 0 1050 0
28
+ 1058 122 146 0 0 0 1200 0
29
+ 1058 122 120 160 0 0 10809 9600
30
+ 158 162 100 0 0 0 8164 0
31
+ 100 202 106 0 0 0 1563 0
32
+ 100 202 101 0 0 0 1650 0
33
+
34
+ "AUT" "ANY"
35
+ "GO" "NOR"
36
+ "SCO" "SOU"
37
+ "INV" "EAS"
38
+ "LOO" "WES"
39
+ "RIN" "UP"
40
+ "WAI" "DOW"
41
+ "OPE" "ENT"
42
+ "" "DOO"
43
+ "" "*BEL"
44
+ "TAK" "COI"
45
+ "*GET" "LAM"
46
+ "" "*LAN"
47
+ "" "CRO"
48
+ "" "KEY"
49
+ "" ""
50
+ "" ""
51
+ "" ""
52
+ "LEA" ""
53
+ "*DRO" ""
54
+
55
+ 0 0 0 0 0 0 ""
56
+ 0 0 0 0 0 0 "cave mouth"
57
+ 0 3 0 0 0 0 "gorgeously decorated throne room"
58
+ 2 0 4 1 0 0 "square chamber"
59
+ 6 0 0 3 0 0 "gloomy dungeon"
60
+ 4 0 0 0 0 0 "dungeon cell"
61
+ 0 4 0 0 0 0 "damp, dismal crypt"
62
+
63
+ ""
64
+ "Welcome to the Tutorial adventure."
65
+ "You must find a gold coin and store it."
66
+ "Ding dong!"
67
+ "I hear an ominous rumble."
68
+ "The rocks collapse leaving a way in."
69
+ "Time passes ..."
70
+ "I smell something rotting to the north."
71
+ "It's locked."
72
+ "OK"
73
+ "Vampire bites me! I'm dead!"
74
+ "Vampire cowers away from the cross!"
75
+
76
+ "doorbell" 1
77
+ "entrance to cave" 0
78
+ "Sign says: leave treasure here, then say SCORE" 2
79
+ "*Gold coin*/COI/" 5
80
+ "empty lamp/LAM/" 0
81
+ "Wooden cross/CRO/" 3
82
+ "Locked door" 4
83
+ "Brass key/KEY/" 6
84
+ "Open door leads south" 0
85
+ "old-fashioned brass lamp/LAM/" 2
86
+ "Vampire" 6
87
+
88
+ ""
89
+ ""
90
+ ""
91
+ ""
92
+ ""
93
+ ""
94
+ ""
95
+ ""
96
+ ""
97
+ ""
98
+ "The engine set flag 16 when the lamp runs out"
99
+ ""
100
+ ""
101
+ ""
102
+ ""
103
+ ""
104
+ ""
105
+ "vampire attacks unless cross is carried"
106
+ ""
107
+
108
+ 100
109
+ 31802
110
+ 28893
@@ -0,0 +1,28 @@
1
+ ring bell
2
+ wait
3
+ wait
4
+ go entrance
5
+ get cross
6
+ north
7
+ get lamp
8
+ south
9
+ east
10
+ north
11
+ drop lamp
12
+ get key
13
+ south
14
+ drop key
15
+ north
16
+ get lamp
17
+ south
18
+ drop cross
19
+ get key
20
+ open door
21
+ go door
22
+ drop key
23
+ get coin
24
+ north
25
+ west
26
+ north
27
+ drop coin
28
+ score
@@ -0,0 +1,147 @@
1
+ ScottKit, a Scott Adams game toolkit in Ruby.
2
+ Release 1.0, (C) 2010 Mike Taylor <mike@miketaylor.org.uk>
3
+ Distributed under the GNU software license
4
+ Setting random seed 12368
5
+
6
+ I'm in a cave mouth
7
+ I can also see: doorbell
8
+
9
+ Welcome to the Tutorial adventure.
10
+ You must find a gold coin and store it.
11
+ Tell me what to do ? ring bell
12
+ Ding dong!
13
+ Tell me what to do ? wait
14
+ Time passes ...
15
+ I hear an ominous rumble.
16
+ Tell me what to do ? wait
17
+ Time passes ...
18
+ The rocks collapse leaving a way in.
19
+
20
+ I'm in a cave mouth
21
+ I can also see: doorbell, entrance to cave
22
+
23
+ Tell me what to do ? go entrance
24
+
25
+ I'm in a square chamber
26
+ Obvious exits: North, East, West.
27
+ I can also see: Wooden cross
28
+
29
+ Tell me what to do ? get cross
30
+ O.K.
31
+ Tell me what to do ? north
32
+
33
+ I'm in a gorgeously decorated throne room
34
+ Obvious exits: South.
35
+ I can also see: Sign says: leave treasure here, then say SCORE, old-fashioned brass lamp
36
+
37
+ Tell me what to do ? get lamp
38
+ O.K.
39
+ Tell me what to do ? south
40
+
41
+ I'm in a square chamber
42
+ Obvious exits: North, East, West.
43
+
44
+ Tell me what to do ? east
45
+
46
+ I'm in a gloomy dungeon
47
+ Obvious exits: North, West.
48
+ I can also see: Locked door
49
+
50
+
51
+ I'm in a gloomy dungeon
52
+ Obvious exits: North, West.
53
+ I can also see: Locked door
54
+
55
+ Tell me what to do ? north
56
+
57
+ I'm in a damp, dismal crypt
58
+ Obvious exits: South.
59
+ I can also see: Brass key, Vampire
60
+
61
+ Vampire cowers away from the cross!
62
+ Tell me what to do ? drop lamp
63
+ O.K.
64
+ Vampire cowers away from the cross!
65
+ Tell me what to do ? get key
66
+ O.K.
67
+ Vampire cowers away from the cross!
68
+ Tell me what to do ? south
69
+
70
+ I can't see. It is too dark!
71
+
72
+ I smell something rotting to the north.
73
+ Tell me what to do ? drop key
74
+ O.K.
75
+ I smell something rotting to the north.
76
+ Tell me what to do ? north
77
+ Dangerous to move in the dark!
78
+
79
+ I'm in a damp, dismal crypt
80
+ Obvious exits: South.
81
+ I can also see: old-fashioned brass lamp, Vampire
82
+
83
+ Vampire cowers away from the cross!
84
+ Tell me what to do ? get lamp
85
+ O.K.
86
+ Vampire cowers away from the cross!
87
+ Tell me what to do ? south
88
+
89
+ I'm in a gloomy dungeon
90
+ Obvious exits: North, West.
91
+ I can also see: Locked door, Brass key
92
+
93
+ Tell me what to do ? drop cross
94
+ O.K.
95
+ Tell me what to do ? get key
96
+ O.K.
97
+ Tell me what to do ? open door
98
+ OK
99
+
100
+ I'm in a gloomy dungeon
101
+ Obvious exits: North, West.
102
+ I can also see: Wooden cross, Open door leads south
103
+
104
+ I smell something rotting to the north.
105
+ Tell me what to do ? go door
106
+
107
+ I'm in a dungeon cell
108
+ Obvious exits: North.
109
+ I can also see: *Gold coin*
110
+
111
+ Tell me what to do ? drop key
112
+ O.K.
113
+ Tell me what to do ? get coin
114
+ O.K.
115
+ Tell me what to do ? north
116
+
117
+ I'm in a gloomy dungeon
118
+ Obvious exits: North, West.
119
+ I can also see: Wooden cross, Open door leads south
120
+
121
+ Tell me what to do ? west
122
+
123
+ I'm in a square chamber
124
+ Obvious exits: North, East, West.
125
+
126
+
127
+ I'm in a square chamber
128
+ Obvious exits: North, East, West.
129
+
130
+ Tell me what to do ? north
131
+
132
+ I'm in a gorgeously decorated throne room
133
+ Obvious exits: South.
134
+ I can also see: Sign says: leave treasure here, then say SCORE
135
+
136
+ Your light has run out
137
+
138
+ I'm in a gorgeously decorated throne room
139
+ Obvious exits: South.
140
+ I can also see: Sign says: leave treasure here, then say SCORE
141
+
142
+ Tell me what to do ? drop coin
143
+ O.K.
144
+ Tell me what to do ? score
145
+ I've stored 1 treasures. On a scale of 0 to 100, that rates 100.
146
+ Well done.
147
+ The game is now over.
@@ -0,0 +1,5 @@
1
+ room chamber "square chamber"
2
+ exit east dungeon
3
+
4
+ room dungeon "gloomy dungeon"
5
+ exit west chamber
@@ -0,0 +1,14 @@
1
+ room chamber "square chamber"
2
+ exit east dungeon
3
+
4
+ item sign "Sign says: leave treasure here, then say SCORE"
5
+
6
+ room dungeon "gloomy dungeon"
7
+ exit west chamber
8
+ exit south cell
9
+
10
+ room cell "dungeon cell"
11
+ exit north dungeon
12
+
13
+ item coin "*Gold coin*"
14
+ called "coin"
@@ -0,0 +1,38 @@
1
+ action score: score
2
+ action inventory: inventory
3
+ action look: look
4
+
5
+ room chamber "square chamber"
6
+ exit east dungeon
7
+
8
+ item sign "Sign says: leave treasure here, then say SCORE"
9
+
10
+ room dungeon "gloomy dungeon"
11
+ exit west chamber
12
+
13
+ item door "Locked door"
14
+
15
+ room cell "dungeon cell"
16
+ exit north dungeon
17
+
18
+ item coin "*Gold coin*"
19
+ called "coin"
20
+
21
+ item key "Brass key"
22
+ called "key"
23
+ at chamber
24
+
25
+ item door2 "Open door leads south"
26
+ nowhere
27
+
28
+ action open door when here door and !present key
29
+ print "It's locked."
30
+
31
+ action open door when here door
32
+ swap door door2
33
+ print OK
34
+ look
35
+
36
+ action go door when here door2
37
+ goto cell
38
+ look
@@ -0,0 +1,62 @@
1
+ start dungeon
2
+ treasury throne
3
+
4
+ action score: score
5
+ action inventory: inventory
6
+ action look: look
7
+
8
+ room throne "gorgeously decorated throne room"
9
+ exit south chamber
10
+
11
+ item sign "Sign says: leave treasure here, then say SCORE"
12
+
13
+ room chamber "square chamber"
14
+ exit east dungeon
15
+ exit north throne
16
+
17
+ item cross "Wooden cross"
18
+ called "cross"
19
+
20
+ room dungeon "gloomy dungeon"
21
+ exit west chamber
22
+ exit north crypt
23
+
24
+ item door "Locked door"
25
+
26
+ item key "Brass key"
27
+ called "key"
28
+ at crypt
29
+
30
+ item door2 "Open door leads south"
31
+ nowhere
32
+
33
+ action open door when here door and !present key
34
+ print "It's locked."
35
+
36
+ action open door when here door
37
+ swap door door2
38
+ print OK
39
+ look
40
+
41
+ action go door when here door2
42
+ goto cell
43
+ look
44
+
45
+ room cell "dungeon cell"
46
+ exit north dungeon
47
+
48
+ item coin "*Gold coin*"
49
+ called "coin"
50
+
51
+ room crypt "damp, dismal crypt"
52
+ exit south dungeon
53
+
54
+ item vampire "Vampire"
55
+
56
+ occur when here vampire and !carried cross
57
+ print "Vampire bites me! I'm dead!"
58
+ game_over
59
+ comment "vampire attacks unless cross is carried"
60
+
61
+ occur when here vampire and "carried" cross
62
+ print "Vampire cowers away from the cross!"
@@ -0,0 +1,87 @@
1
+ start cave
2
+ treasury throne
3
+
4
+ action score: score
5
+ action inventory: inventory
6
+ action look: look
7
+
8
+ room cave "cave mouth"
9
+ exit east chamber
10
+
11
+ room throne "gorgeously decorated throne room"
12
+ exit south chamber
13
+
14
+ item sign "Sign says: leave treasure here, then say SCORE"
15
+
16
+ item lamp "old-fashioned brass lamp"
17
+ called "lamp"
18
+
19
+ lightsource lamp
20
+
21
+ room chamber "square chamber"
22
+ exit east dungeon
23
+ exit north throne
24
+ exit west cave
25
+
26
+ # Flag 15 is on when and only when it is dark
27
+ occur when "at" chamber and flag 15
28
+ clear_dark
29
+ look
30
+
31
+ item cross "Wooden cross"
32
+ called "cross"
33
+
34
+ room dungeon "gloomy dungeon"
35
+ exit west chamber
36
+ exit north crypt
37
+
38
+ occur when "at" dungeon and !flag 15
39
+ set_dark
40
+ look
41
+
42
+ occur 25% when "at" dungeon
43
+ print "I smell something rotting to the north."
44
+
45
+ item door "Locked door"
46
+
47
+ item key "Brass key"
48
+ called "key"
49
+ at crypt
50
+
51
+ item door2 "Open door leads south"
52
+ nowhere
53
+
54
+ action open door when here door and !present key
55
+ print "It's locked."
56
+
57
+ action open door when here door
58
+ swap door door2
59
+ print OK
60
+ look
61
+
62
+ action go door when here door2
63
+ goto cell
64
+ look
65
+
66
+ room cell "dungeon cell"
67
+ exit north dungeon
68
+
69
+ item coin "*Gold coin*"
70
+ called "coin"
71
+
72
+ room crypt "damp, dismal crypt"
73
+ exit south dungeon
74
+
75
+ item vampire "Vampire"
76
+
77
+ occur when here vampire and !carried cross
78
+ print "Vampire bites me! I'm dead!"
79
+ game_over
80
+ comment "vampire attacks unless cross is carried"
81
+
82
+ occur when here vampire and "carried" cross
83
+ print "Vampire cowers away from the cross!"
84
+
85
+ verbgroup take get
86
+ verbgroup leave drop
87
+ noungroup lamp lantern
@@ -0,0 +1,119 @@
1
+ start cave
2
+ treasury throne
3
+
4
+ action score: score
5
+ action inventory: inventory
6
+ action look: look
7
+
8
+ occur when !flag 1
9
+ print "Welcome to the Tutorial adventure."
10
+ print "You must find a gold coin and store it."
11
+ set_flag 1
12
+
13
+ room cave "cave mouth"
14
+
15
+ item doorbell "doorbell"
16
+
17
+ item entrance "entrance to cave"
18
+ nowhere
19
+
20
+ action go entrance when here entrance
21
+ goto chamber
22
+ look
23
+
24
+ action ring doorbell when here doorbell and !here entrance
25
+ set_counter 4
26
+ print "Ding dong!"
27
+
28
+ occur
29
+ dec_counter
30
+
31
+ occur when counter_eq 2
32
+ print "I hear an ominous rumble."
33
+
34
+ occur when counter_eq 1
35
+ put entrance cave
36
+ print "The rocks collapse leaving a way in."
37
+ look
38
+
39
+ action wait:
40
+ print "Time passes ..."
41
+
42
+ room throne "gorgeously decorated throne room"
43
+ exit south chamber
44
+
45
+ item sign "Sign says: leave treasure here, then say SCORE"
46
+
47
+ item lamp "old-fashioned brass lamp"
48
+ called "lamp"
49
+
50
+ lightsource lamp
51
+
52
+ room chamber "square chamber"
53
+ exit east dungeon
54
+ exit north throne
55
+ exit west cave
56
+
57
+ # Flag 15 is on when and only when it is dark
58
+ occur when "at" chamber and flag 15
59
+ clear_dark
60
+ look
61
+
62
+ item cross "Wooden cross"
63
+ called "cross"
64
+
65
+ room dungeon "gloomy dungeon"
66
+ exit west chamber
67
+ exit north crypt
68
+
69
+ occur when "at" dungeon and !flag 15
70
+ set_dark
71
+ look
72
+
73
+ occur 25% when "at" dungeon
74
+ print "I smell something rotting to the north."
75
+
76
+ item door "Locked door"
77
+
78
+ item key "Brass key"
79
+ called "key"
80
+ at crypt
81
+
82
+ item door2 "Open door leads south"
83
+ nowhere
84
+
85
+ action open door when here door and !present key
86
+ print "It's locked."
87
+
88
+ action open door when here door
89
+ swap door door2
90
+ print OK
91
+ look
92
+
93
+ action go door when here door2
94
+ goto cell
95
+ look
96
+
97
+ room cell "dungeon cell"
98
+ exit north dungeon
99
+
100
+ item coin "*Gold coin*"
101
+ called "coin"
102
+
103
+ room crypt "damp, dismal crypt"
104
+ exit south dungeon
105
+
106
+ item vampire "Vampire"
107
+
108
+ occur when here vampire and !carried cross
109
+ print "Vampire bites me! I'm dead!"
110
+ game_over
111
+ comment "vampire attacks unless cross is carried"
112
+
113
+ occur when here vampire and "carried" cross
114
+ print "Vampire cowers away from the cross!"
115
+
116
+ verbgroup take get
117
+ verbgroup leave drop
118
+ noungroup lamp lantern
119
+ noungroup doorbell bell