3 | """
4 |
--------------------------------------------------------------------------------
/tests/carrybird.log:
--------------------------------------------------------------------------------
1 | ## Try to carry bird without cage, then kill bird
2 | n
3 | seed 1071883378
4 | in
5 | take lamp
6 | rub lamp
7 | xyzzy
8 | on
9 | eat grate
10 | w
11 | w
12 | take bird
13 | # test intransitive attack on bird
14 | attack
--------------------------------------------------------------------------------
/tests/fail_hint_woods.log:
--------------------------------------------------------------------------------
1 | ## Fail getting wood hint by finding appendage (fuzzed)
2 | n
3 | n
4 | z
5 | z
6 | z
7 | z
8 | w
9 | z
10 | w
11 | z
12 | z
13 | n
14 | z
15 | z
16 | z
17 | z
18 | z
19 | z
20 | z
21 | z
22 | z
23 | z
24 | z
25 | z
26 | z
27 | z
--------------------------------------------------------------------------------
/tests/saveresumeopt.chk:
--------------------------------------------------------------------------------
1 |
2 | You're in front of building.
3 |
4 |
5 | You scored 27 out of a possible 430, using 2 turns.
6 |
7 | You are obviously a rank amateur. Better luck next time.
8 |
9 | To achieve the next higher rating, you need 19 more points.
10 |
--------------------------------------------------------------------------------
/tests/reincarnate.log:
--------------------------------------------------------------------------------
1 | ## Jump into a pit and die, then be reincarnated
2 | n
3 | seed 1495774850
4 | in
5 | take keys
6 | take lamp
7 | out
8 | s
9 | s
10 | s
11 | open grate
12 | d
13 | w
14 | w
15 | light lamp
16 | w
17 | w
18 | w
19 | down
20 | w
21 | jump
22 | y
23 |
--------------------------------------------------------------------------------
/tests/reach_noclimb.log:
--------------------------------------------------------------------------------
1 | ## LOC_NOCLIMB (fuzzed)
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | e
9 | take cage
10 | w
11 | w
12 | w
13 | take bird
14 | w
15 | d
16 | d
17 | free bird
18 | n
19 | d
20 | w
21 | d
22 | w
23 | w
24 | w
25 | w
26 | d
27 | climb
--------------------------------------------------------------------------------
/tests/specials.log:
--------------------------------------------------------------------------------
1 | ## Test special words
2 | n
3 | thank
4 | shazam
5 | help
6 | no
7 | tree
8 | dig
9 | lost
10 | mist
11 | fuck
12 | stop
13 | info
14 | swim
15 | wizard
16 | yes
17 | news
18 | # Too much of a PITA to edit the check file after every release bump.
19 | #version
20 |
--------------------------------------------------------------------------------
/tests/domefail.log:
--------------------------------------------------------------------------------
1 | ## Take nugget and fail to climb to the dome
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | e
9 | take cage
10 | w
11 | w
12 | w
13 | take
14 | w
15 | d
16 | d
17 | free bird
18 | w
19 | e
20 | s
21 | n
22 | u
23 | s
24 | take nugget
25 | n
26 | dome
27 | u
28 |
--------------------------------------------------------------------------------
/tests/ogre_no_dwarves.log:
--------------------------------------------------------------------------------
1 | ## Try to attack ogre with no dwarves present (fuzzed)
2 | n
3 | seed 25508795
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | w
10 | w
11 | w
12 | d
13 | w
14 | wave rod
15 | w
16 | w
17 | w
18 | w
19 | s
20 | sw
21 | se
22 | s
23 | kill machine
24 | s
25 | s
26 | attack
--------------------------------------------------------------------------------
/tests/snake_food.log:
--------------------------------------------------------------------------------
1 | ## Snake must vocally eat bird
2 | n
3 | seed 1951269982
4 | in
5 | get lamp
6 | get keys
7 | out
8 | down
9 | s
10 | s
11 | open
12 | in
13 | west
14 | get cage
15 | w
16 | on
17 | w
18 | w
19 | get bird
20 | w
21 | down
22 | down
23 | inventory
24 | feed snake
25 | inventory
26 |
--------------------------------------------------------------------------------
/tests/hint_dark.log:
--------------------------------------------------------------------------------
1 | ## Elicit hint for dealing with plugh room and darkness (fuzzed)
2 | n
3 | seed 1495951709
4 | in
5 | plugh
6 | plove
7 | z
8 | z
9 | z
10 | z
11 | z
12 | z
13 | z
14 | z
15 | z
16 | z
17 | z
18 | z
19 | z
20 | z
21 | z
22 | z
23 | z
24 | z
25 | z
26 | z
27 | z
28 | z
29 | z
30 | z
31 | y
32 | y
--------------------------------------------------------------------------------
/tests/hint_snake.log:
--------------------------------------------------------------------------------
1 | ## Elicit hint for dealing with snake
2 | n
3 | seed 1951269982
4 | in
5 | get lamp
6 | get keys
7 | out
8 | down
9 | s
10 | s
11 | open
12 | in
13 | west
14 | get cage
15 | w
16 | on
17 | w
18 | w
19 | w
20 | down
21 | down
22 | w
23 | attack
24 | w
25 | eat snake
26 | w
27 | throw snake
28 | w
29 | carry snake
30 | y
31 | y
32 |
--------------------------------------------------------------------------------
/tests/dragon_secret5.log:
--------------------------------------------------------------------------------
1 | ## Check that dead dragon actually moves its location (fuzzed)
2 | n
3 | seed 18084731
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | e
9 | take
10 | w
11 | w
12 | w
13 | cage bird
14 | w
15 | d
16 | d
17 | free bird
18 | w
19 | e
20 | s
21 | u
22 | s
23 | n
24 | d
25 | n
26 | n
27 | plugh
28 | extin
29 | plugh
30 | on
31 | s
32 | s
33 | sw
34 | w
35 | kill drago
36 | y
37 |
--------------------------------------------------------------------------------
/tests/dropcagedbird.log:
--------------------------------------------------------------------------------
1 | ## Try to carry the bird after freeing it instead of listening
2 | n
3 | seed 1495951709
4 | in
5 | take lamp
6 | on
7 | xyzzy
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | wave rod
15 | take bird
16 | drop rod
17 | take bird
18 | take rod
19 | w
20 | free bird
21 | wave rod
22 | take jade
23 | drop rod
24 | take bird
25 | drop cage
26 | d
27 | d
28 | feed snake
--------------------------------------------------------------------------------
/tests/death-jump.log:
--------------------------------------------------------------------------------
1 | ## Jump into a pit and die, refuse reincarnation
2 | n
3 | seed 1495774850
4 | in
5 | take keys
6 | take lamp
7 | out
8 | s
9 | s
10 | s
11 | open grate
12 | d
13 | # go back up and down again because of coverage
14 | u
15 | d
16 | w
17 | w
18 | light lamp
19 | w
20 | w
21 | w
22 | # attempt and fail to traverse the crack because coverage
23 | crack
24 | down
25 | w
26 | jump
27 | n
28 |
--------------------------------------------------------------------------------
/ez80.h:
--------------------------------------------------------------------------------
1 | #ifndef EZ80_H
2 | #define EZ80_H
3 |
4 | extern uint8_t* huffman_tree;
5 | char* decompress_string(void* input, char* output/*, void* tree*/);
6 | void lcd_dim(void);
7 | void lcd_bright(void);
8 | unsigned int get_rtc_seconds(void);
9 | unsigned int get_rtc_seconds_plus(unsigned int offset);
10 | unsigned char get_csc(void);
11 | bool on_key_pressed(void);
12 | void clear_on_key(void);
13 |
14 | #endif
15 |
--------------------------------------------------------------------------------
/tests/reach_planttop.log:
--------------------------------------------------------------------------------
1 | ## LOC_PLANTTOP (fuzzed)
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | e
9 | take
10 | w
11 | w
12 | w
13 | take
14 | w
15 | d
16 | d
17 | free bird
18 | w
19 | e
20 | s
21 | s
22 | n
23 | d
24 | n
25 | n
26 | off
27 | plugh
28 | take water
29 | plugh
30 | on
31 | w
32 | w
33 | w
34 | s
35 | w
36 | s
37 | s
38 | s
39 | w
40 | d
41 | e
42 | s
43 | s
44 | u
45 | n
46 | n
47 | d
48 | bedqu
49 | s
50 | s
51 | d
52 | water plant
53 | climb
--------------------------------------------------------------------------------
/tests/pirate_carry.log:
--------------------------------------------------------------------------------
1 | ## Check that pirate steals loose treasure from ground (fuzzed)
2 | n
3 | seed 1837473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | cage bird
16 | take rod
17 | w
18 | d
19 | d
20 | free bird
21 | w
22 | e
23 | s
24 | n
25 | u
26 | s
27 | n
28 | d
29 | n
30 | n
31 | plugh
32 | extin
33 | plugh
34 | on
35 | s
36 | take silve
37 | s
38 | sw
39 | w
40 | kill drago
41 | y
42 | e
43 | e
44 | u
45 | w
46 | wave rod
47 | w
--------------------------------------------------------------------------------
/tests/pirate_pyramid.log:
--------------------------------------------------------------------------------
1 | ## Pirate mustn't take pyramid from plover/dark rooms (fuzzed)
2 | n
3 | seed 1830473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | e
9 | take cage
10 | w
11 | w
12 | w
13 | take bird
14 | w
15 | d
16 | d
17 | free bird
18 | w
19 | e
20 | s
21 | n
22 | u
23 | s
24 | n
25 | d
26 | n
27 | n
28 | plugh
29 | extin
30 | plugh
31 | on
32 | s
33 | s
34 | sw
35 | w
36 | kill
37 | y
38 | e
39 | e
40 | d
41 | n
42 | n
43 | plugh
44 | out
45 | s
46 | w
47 | n
48 | s
49 | s
50 | n
51 | in
52 | plugh
53 | plove
54 | inven
55 |
--------------------------------------------------------------------------------
/tests/fail_hint_ogre2.log:
--------------------------------------------------------------------------------
1 | ## Quaify for ogre hint but fail due to nearby dwarf (fuzzed)
2 | n
3 | seed 25508795
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take
11 | w
12 | w
13 | w
14 | drop rod
15 | cage bird
16 | take rod
17 | w
18 | d
19 | d
20 | n
21 | u
22 | s
23 | n
24 | d
25 | n
26 | n
27 | plugh
28 | n
29 | plugh
30 | s
31 | sw
32 | w
33 | kill
34 | y
35 | e
36 | e
37 | u
38 | w
39 | wave rod
40 | w
41 | w
42 | w
43 | w
44 | s
45 | sw
46 | se
47 | s
48 | kill machine
49 | s
50 | s
51 | z
52 | z
53 | z
54 | z
55 | z
56 | z
57 | z
58 | z
59 | z
60 | look
61 |
--------------------------------------------------------------------------------
/tests/weirdbird.log:
--------------------------------------------------------------------------------
1 | ## Do pointless things to the bird to test odd cases.
2 | n
3 | seed 694608006
4 | in
5 | take lamp
6 | take keys
7 | rub keys
8 | out
9 | go s
10 | walk s
11 | travel s
12 | attack grate
13 | unlock grate
14 | lock grate
15 | unlock grate
16 | down
17 | w
18 | take cage
19 | w
20 | read
21 | read keys
22 | on lamp
23 | read
24 | take rod
25 | w
26 | w
27 | enter water
28 | listen bird
29 | eat bird
30 | feed bird
31 | cage bird
32 | y
33 | y
34 | drop rod
35 | take bird
36 | get rod
37 | wave rod
38 | attack bird
39 | # Also, test grare as a motion verb.
40 | grate
41 | up
42 | n
43 | n
44 | grate
45 |
--------------------------------------------------------------------------------
/tests/woodshint.log:
--------------------------------------------------------------------------------
1 | ## Test hinting logic - elicit forest hint
2 | # Also some tests of intransitive-verb cases
3 | n
4 | seed 2099333241
5 | in
6 | eat
7 | out
8 | n
9 | e
10 | n
11 | s
12 | w
13 | w
14 | w
15 | n
16 | n
17 | e
18 | e
19 | back
20 | e
21 | e
22 | e
23 | e
24 | e
25 | e
26 | drop
27 | say
28 | nothing
29 | wave
30 | calm
31 | walk
32 | pour
33 | rub
34 | find
35 | fill
36 | break
37 | wake
38 | quit nagging
39 | nothing doing
40 | e
41 | e
42 | e
43 | e
44 | e
45 | e
46 | e
47 | e
48 | e
49 | e
50 | e
51 | e
52 | e
53 | e
54 | e
55 | e
56 | e
57 | y
58 | y
59 | s
60 | w
61 | w
62 | n
63 | n
64 | n
65 | w
66 | n
--------------------------------------------------------------------------------
/tests/dwarf.log:
--------------------------------------------------------------------------------
1 | ## In which the dwarf kills you
2 | n
3 | seed 1494912171
4 | in
5 | take keys
6 | take lamp
7 | out
8 | down
9 | s
10 | s
11 | open grate
12 | down
13 | west
14 | take cage
15 | west
16 | light lamp
17 | take rod
18 | xyzzy
19 | xyzzy
20 | west
21 | drop rod
22 | west
23 | take bird
24 | east
25 | take rod
26 | west
27 | west
28 | down
29 | south
30 | take gold
31 | n
32 | n
33 | drop bird
34 | west
35 | take coins
36 | e
37 | s
38 | drop cage
39 | take jewelry
40 | take axe
41 | n
42 | n
43 | n
44 | plugh
45 | inven
46 | drop jewelry
47 | drop gold
48 | inven
49 | drop keys
50 | plugh
51 | s
52 | s
53 | up
54 | w
55 | wave rod
56 | w
57 | take diamonds
58 | e
59 | n
60 |
--------------------------------------------------------------------------------
/tests/eggs_vanish.log:
--------------------------------------------------------------------------------
1 | ## Vanishing eggs in Giant Room (fuzzed)
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | e
9 | take cage
10 | w
11 | w
12 | w
13 | take
14 | w
15 | d
16 | d
17 | free bird
18 | w
19 | e
20 | s
21 | n
22 | u
23 | s
24 | n
25 | d
26 | n
27 | n
28 | plugh
29 | extin
30 | plugh
31 | on
32 | plugh
33 | take water
34 | plugh
35 | plugh
36 | plugh
37 | s
38 | d
39 | bedqu
40 | slab
41 | s
42 | d
43 | water plant
44 | u
45 | w
46 | u
47 | reser
48 | H'CFL
49 | n
50 | n
51 | take water
52 | s
53 | s
54 | s
55 | s
56 | d
57 | s
58 | d
59 | water plant
60 | climb
61 | w
62 | g
63 | n
64 | fee
65 | fie
66 | foe
67 | foo
68 | # go south, east to arrive at LOC_CAVEIN for coverage
69 | s
70 | e
--------------------------------------------------------------------------------
/tests/vending.log:
--------------------------------------------------------------------------------
1 | ## Get batteries from the vending machine
2 | n
3 | seed 1635997320
4 | in
5 | take lamp
6 | xyzzy
7 | take rod
8 | e
9 | take cage
10 | w
11 | on
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | drop rod
21 | take bird
22 | take jade
23 | e
24 | e
25 | e
26 | off
27 | xyzzy
28 | drop jade
29 | xyzzy
30 | on
31 | w
32 | w
33 | w
34 | take rod
35 | d
36 | w
37 | wave rod
38 | drop rod
39 | e
40 | n
41 | free bird
42 | take bird
43 | w
44 | take coins
45 | up
46 | s
47 | s
48 | sw
49 | se
50 | s
51 | read machine
52 | drop coins
53 | take batteries
54 | read machine
55 | throw batteries
56 | take machine
57 | kill machine
58 | attack
59 | attack machine
60 |
--------------------------------------------------------------------------------
/tests/cheatresume2.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > resume
11 |
12 | You are standing at the end of a road before a small brick building.
13 | Around you is a forest. A small stream flows out of the building and
14 | down a gully.
15 |
16 |
17 | Now let's see you do it without suspending in mid-Adventure.
18 |
19 | You scored 10031 out of a possible 430, using 0 turns.
20 |
21 | You just went off my scale!!
22 |
23 | To achieve the next higher rating would be a neat trick!
24 | Congratulations!!
25 |
--------------------------------------------------------------------------------
/tests/logopt.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > in
11 |
12 | You are inside a building, a well house for a large spring.
13 |
14 | There are some keys on the ground here.
15 |
16 | There is a shiny brass lamp nearby.
17 |
18 | There is food here.
19 |
20 | There is a bottle of water here.
21 |
22 | >
23 |
24 |
25 | You scored 32 out of a possible 430, using 1 turn.
26 |
27 | You are obviously a rank amateur. Better luck next time.
28 |
29 | To achieve the next higher rating, you need 14 more points.
30 |
--------------------------------------------------------------------------------
/hints.adoc:
--------------------------------------------------------------------------------
1 | = Non-spoiler hints =
2 |
3 | Say the words you see. They can have interesting effects.
4 |
5 | Reading is fundamental.
6 |
7 | Yes, the fissure in the Hall of Mists can be bridged. By magic.
8 |
9 | "Free bird": It's more than an epic guitar solo. Do it twice!
10 |
11 | There is a legend that if you drink the blood of a dragon, you will
12 | be able to understand the speech of birds.
13 |
14 | That vending machine? It would be better off dead.
15 |
16 | Ogres laugh at humans, but for some reason dwarves frighten them badly.
17 |
18 | When rust is a problem, oil can be helpful.
19 |
20 | A lucky rabbit's foot might help you keep your footing.
21 |
22 | The troll might go away when you are no longer unbearable.
23 |
--------------------------------------------------------------------------------
/tests/barehands.log:
--------------------------------------------------------------------------------
1 | ## Get to dragon, refuse to use bare hands
2 | # Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
3 | n
4 | seed 1635997320
5 | in
6 | take lamp
7 | xyzzy
8 | take rod
9 | e
10 | take cage
11 | w
12 | on
13 | w
14 | w
15 | drop rod
16 | take bird
17 | take rod
18 | w
19 | free bird
20 | wave rod
21 | drop rod
22 | take bird
23 | take jade
24 | e
25 | e
26 | e
27 | off
28 | xyzzy
29 | drop jade
30 | xyzzy
31 | on
32 | w
33 | w
34 | w
35 | take rod
36 | d
37 | w
38 | wave rod
39 | drop rod
40 | e
41 | n
42 | free bird
43 | take bird
44 | s
45 | take jewelry
46 | n
47 | sw
48 | w
49 | drop bird
50 | extinguish dragon
51 | kill dragon
52 |
53 | green
54 | n
55 | kill dragon
56 | y
57 | kill dragon
58 |
--------------------------------------------------------------------------------
/TODO:
--------------------------------------------------------------------------------
1 | = Open Adventure TODO =
2 |
3 | The FORTRANish mess that once was is now mostly idiomatic C. Some issues
4 | remain to be cleaned up:
5 |
6 | * The program is still pretty much typeless. Some attempt has been
7 | made to introduce semantic types, but the job is barely started.
8 |
9 | * More possible vase tests: FILL VASE while it's on the ground next to you;
10 | DROP VASE in the Soft Room; DROP VASE in the well house and confirm
11 | that you do/don't get points for it; die while carrying the vase and
12 | confirm that it doesn't break.
13 |
14 | We are aware that the lamp currently used as the project logo is a
15 | hurricane lamp, not a proper miner's lamp. Submissions of potential
16 | replacement images would be welcome.
17 |
18 |
--------------------------------------------------------------------------------
/tests/fail_hint_maze.log:
--------------------------------------------------------------------------------
1 | ## Fail to get maze hint by being empty-handed (fuzzed)
2 | n
3 | seed 25508795
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | e
9 | take cage
10 | w
11 | w
12 | w
13 | take
14 | w
15 | d
16 | d
17 | free bird
18 | w
19 | w
20 | w
21 | e
22 | s
23 | s
24 | z
25 | z
26 | z
27 | z
28 | z
29 | z
30 | z
31 | z
32 | z
33 | z
34 | z
35 | z
36 | z
37 | z
38 | z
39 | z
40 | z
41 | z
42 | z
43 | z
44 | z
45 | z
46 | z
47 | z
48 | z
49 | z
50 | z
51 | z
52 | z
53 | z
54 | z
55 | z
56 | z
57 | z
58 | z
59 | z
60 | z
61 | z
62 | z
63 | z
64 | z
65 | z
66 | z
67 | z
68 | z
69 | z
70 | z
71 | z
72 | z
73 | z
74 | z
75 | z
76 | z
77 | z
78 | z
79 | z
80 | z
81 | z
82 | z
83 | z
84 | z
85 | z
86 | z
87 | z
88 | z
89 | z
90 | z
91 | z
92 | z
93 | z
94 | z
95 | z
96 | z
97 |
--------------------------------------------------------------------------------
/tests/carryfreebird.log:
--------------------------------------------------------------------------------
1 | ## Try to carry the bird after freeing it instead of listening
2 | n
3 | seed 1495951709
4 | attack
5 | in
6 | take lamp
7 | on
8 | xyzzy
9 | take rod
10 | e
11 | take cage
12 | w
13 | w
14 | w
15 | drop rod
16 | take bird
17 | take rod
18 | w
19 | free bird
20 | wave rod
21 | take jade
22 | drop rod
23 | take bird
24 | take rod
25 | d
26 | w
27 | wave rod
28 | drop rod
29 | e
30 | n
31 | free bird
32 | take bird
33 | s
34 | take jewelry
35 | n
36 | sw
37 | w
38 | kill dragon
39 | yes
40 | drink blood
41 | take rug
42 | e
43 | e
44 | n
45 | take silver
46 | n
47 | plugh
48 | drop silver
49 | drop jewelry
50 | drop jade
51 | drop rug
52 | out
53 | s
54 | w
55 | n
56 | take appendage
57 | drop cage
58 | look
59 | take cage
60 | free bird
61 | carry bird
62 |
--------------------------------------------------------------------------------
/tests/resumefail2.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > resume
11 | Can't open file y, try again.
12 |
13 | I'm sorry, but that Adventure was begun using Version -133.-7 of the
14 | save file format, and this program uses Version 2.9. You must find an instance
15 | using that other version in order to resume that Adventure.
16 |
17 | You're in front of building.
18 |
19 |
20 | You scored 32 out of a possible 430, using 1 turn.
21 |
22 | You are obviously a rank amateur. Better luck next time.
23 |
24 | To achieve the next higher rating, you need 14 more points.
25 |
--------------------------------------------------------------------------------
/tests/resumefail.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1240742801
11 |
12 | Seed set to 1240742801
13 |
14 | You're in front of building.
15 |
16 | > resume
17 |
18 | To resume an earlier Adventure, you must abandon the current one.
19 |
20 | Is this acceptable?
21 |
22 | > y
23 |
24 | OK
25 | Can't open file /badfilename, try again.
26 |
27 | You're in front of building.
28 |
29 |
30 | You scored 32 out of a possible 430, using 1 turn.
31 |
32 | You are obviously a rank amateur. Better luck next time.
33 |
34 | To achieve the next higher rating, you need 14 more points.
35 |
--------------------------------------------------------------------------------
/tests/saveresume.1.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1240742801
11 |
12 | Seed set to 1240742801
13 |
14 | You're in front of building.
15 |
16 | > save
17 |
18 | I can suspend your Adventure for you so that you can resume later, but
19 | it will cost you 5 points.
20 |
21 | Is this acceptable?
22 |
23 | > n
24 |
25 | OK
26 |
27 | > save
28 |
29 | I can suspend your Adventure for you so that you can resume later, but
30 | it will cost you 5 points.
31 |
32 | Is this acceptable?
33 |
34 | > y
35 |
36 | OK
37 |
38 | To resume your Adventure, start a new game and then say "RESUME".
39 |
--------------------------------------------------------------------------------
/tests/water_plant2.log:
--------------------------------------------------------------------------------
1 | ## Check that pour correctly switches among plant states (fuzzed)
2 | n
3 | seed 183847312
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | e
9 | take cage
10 | w
11 | w
12 | w
13 | take bird
14 | w
15 | d
16 | d
17 | free bird
18 | w
19 | e
20 | n
21 | n
22 | d
23 | n
24 | n
25 | plugh
26 | extin
27 | plugh
28 | on
29 | s
30 | s
31 | sw
32 | w
33 | kill
34 | y
35 | e
36 | e
37 | u
38 | d
39 | n
40 | n
41 | off
42 | plugh
43 | out
44 | s
45 | w
46 | n
47 | s
48 | s
49 | n
50 | in
51 | take water
52 | plugh
53 | on
54 | s
55 | s
56 | s
57 | u
58 | w
59 |
60 | s
61 | w
62 | s
63 | w
64 | n
65 | n
66 | n
67 | d
68 | e
69 | u
70 | n
71 | n
72 | d
73 | bedqu
74 | slab
75 | s
76 | d
77 | water plant
78 | u
79 | w
80 | u
81 | reser
82 | n
83 | take water
84 | s
85 | s
86 | s
87 | d
88 | s
89 | water plant
90 |
--------------------------------------------------------------------------------
/tests/savefail.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1240742801
11 |
12 | Seed set to 1240742801
13 |
14 | You're in front of building.
15 |
16 | > save
17 |
18 | I can suspend your Adventure for you so that you can resume later, but
19 | it will cost you 5 points.
20 |
21 | Is this acceptable?
22 |
23 | > y
24 |
25 | OK
26 | Can't open file /, try again.
27 |
28 | You're in front of building.
29 |
30 |
31 | You scored 32 out of a possible 430, using 1 turn.
32 |
33 | You are obviously a rank amateur. Better luck next time.
34 |
35 | To achieve the next higher rating, you need 14 more points.
36 |
--------------------------------------------------------------------------------
/tests/saveresume.4.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > resume
11 | Can't open file y, try again.
12 |
13 | You're at sw end.
14 |
15 | The grate is locked.
16 |
17 | > blast
18 |
19 | There is a loud explosion, and a twenty-foot hole appears in the far
20 | wall, burying the dwarves in the rubble. You march through the hole
21 | and find yourself in the main office, where a cheering band of
22 | friendly elves carry the conquering adventurer off into the sunset.
23 |
24 | You scored 423 out of a possible 430, using 468 turns.
25 |
26 | Your score puts you in Master Adventurer Class A.
27 |
28 | To achieve the next higher rating, you need 4 more points.
29 |
--------------------------------------------------------------------------------
/tests/issue36.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 826186526
11 |
12 | Seed set to 826186526
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > get
29 |
30 | Get what?
31 |
32 | > food
33 |
34 | OK
35 |
36 |
37 | You scored 32 out of a possible 430, using 3 turns.
38 |
39 | You are obviously a rank amateur. Better luck next time.
40 |
41 | To achieve the next higher rating, you need 14 more points.
42 |
--------------------------------------------------------------------------------
/tests/intransitivecarry.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > in
11 |
12 | You are inside a building, a well house for a large spring.
13 |
14 | There are some keys on the ground here.
15 |
16 | There is a shiny brass lamp nearby.
17 |
18 | There is food here.
19 |
20 | There is a bottle of water here.
21 |
22 | > carry lamp
23 |
24 | OK
25 |
26 | > out
27 |
28 | You're in front of building.
29 |
30 | > drop lamp
31 |
32 | OK
33 |
34 | > carry
35 |
36 | OK
37 |
38 |
39 | You scored 32 out of a possible 430, using 5 turns.
40 |
41 | You are obviously a rank amateur. Better luck next time.
42 |
43 | To achieve the next higher rating, you need 14 more points.
44 |
--------------------------------------------------------------------------------
/tests/oldstyle.chk:
--------------------------------------------------------------------------------
1 | Initialising...
2 |
3 | Welcome to Adventure!! Would you like instructions?
4 |
5 | n
6 |
7 | You are standing at the end of a road before a small brick building.
8 | Around you is a forest. A small stream flows out of the building and
9 | down a gully.
10 |
11 | i
12 |
13 | Sorry, I don't know the word "I".
14 |
15 | l
16 |
17 | Sorry, I don't know the word "L".
18 |
19 | x
20 |
21 | Sorry, I don't know the word "X".
22 |
23 | z
24 |
25 | Sorry, I don't know the word "Z".
26 |
27 | go south
28 |
29 | You are in a valley in the forest beside a stream tumbling along a
30 | rocky bed.
31 |
32 | quit
33 |
34 | Do you really want to quit now?
35 |
36 | yes
37 |
38 | OK
39 |
40 | You scored 32 out of a possible 430, using 6 turns.
41 |
42 | You are obviously a rank amateur. Better luck next time.
43 |
44 | To achieve the next higher rating, you need 14 more points.
45 |
--------------------------------------------------------------------------------
/tests/issue37.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > in
11 |
12 | You are inside a building, a well house for a large spring.
13 |
14 | There are some keys on the ground here.
15 |
16 | There is a shiny brass lamp nearby.
17 |
18 | There is food here.
19 |
20 | There is a bottle of water here.
21 |
22 | > food
23 |
24 | What do you want to do with the food?
25 |
26 | > get
27 |
28 | OK
29 |
30 | > inventory
31 |
32 | You are currently holding the following:
33 | Tasty food
34 |
35 |
36 | You scored 32 out of a possible 430, using 4 turns.
37 |
38 | You are obviously a rank amateur. Better luck next time.
39 |
40 | To achieve the next higher rating, you need 14 more points.
41 |
--------------------------------------------------------------------------------
/tests/cheatresume.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > resume
11 |
12 | You are standing at the end of a road before a small brick building.
13 | Around you is a forest. A small stream flows out of the building and
14 | down a gully.
15 |
16 |
17 | Now let's see you do it without suspending in mid-Adventure.
18 |
19 | You scored 9031 out of a possible 430, using 0 turns.
20 |
21 | 'Adventuredom stands in awe -- you have now joined the ranks of the
22 | W O R L D C H A M P I O N A D V E N T U R E R S !
23 | It may interest you to know that the Dungeon-Master himself has, to
24 | my knowledge, never achieved this threshold in fewer than 330 turns.'
25 |
26 | To achieve the next higher rating, you need 969 more points.
27 |
--------------------------------------------------------------------------------
/calc.h:
--------------------------------------------------------------------------------
1 | #ifndef CALC_H
2 | #define CALC_H
3 | #include
4 |
5 | void exit_clean(int n);
6 | void exit_apd(void);
7 | void exit_main(int n);
8 | void exit_fail(char* message);
9 | void* malloc_safe(size_t size);
10 |
11 | sk_key_t wait_any_key();
12 | sk_key_t wait_any_key_msg(char* msg);
13 | extern char paginate_message[];
14 |
15 | unsigned long time(unsigned char* ignored);
16 |
17 | char* readline_len(char* prompt, unsigned char max_len, char* default_text);
18 | char* readline(char* prompt);
19 |
20 | bool valid_name(const char* filename);
21 |
22 | #define APD_DIM_TIME 90
23 | #define APD_QUIT_TIME 210
24 |
25 | #define COMMAND_STRING(A_STRING_DEFINE_ON_COMMAND_LINE) ZILOGS_COMPILER_DOESNT_SUPPORT_PASSING_DIRECTLY(A_STRING_DEFINE_ON_COMMAND_LINE)
26 | #define ZILOGS_COMPILER_DOESNT_SUPPORT_PASSING_DIRECTLY(A_STRING_DEFINE_ON_COMMAND_LINE) #A_STRING_DEFINE_ON_COMMAND_LINE
27 | #define VERSION_STRING COMMAND_STRING(VERSION)
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/tests/birdweight.log:
--------------------------------------------------------------------------------
1 | ## Verify that the bird is weightless in inventory
2 | # Checks fix for GitLab issue #40
3 | n
4 | #seed 687800971
5 | seed 976729036
6 | in
7 | take lamp
8 | take food
9 | take bottle
10 | inventory
11 | out
12 | s
13 | w
14 | n
15 | take appendage
16 | s
17 | s
18 | n
19 | in
20 | xyzzy
21 | on
22 | e
23 | take cage
24 | w
25 | w
26 | w
27 | take bird
28 | e
29 | e
30 | take rod
31 | w
32 | w
33 | w
34 | d
35 | inventory
36 | w
37 | wave rod
38 | drop rod
39 | e
40 | s
41 | take gold
42 | n
43 | w
44 | w
45 | drop gold
46 | take diamonds
47 | w
48 | w
49 | w
50 | inventory
51 | s
52 | sw
53 | se
54 | s
55 | drop food
56 | drop water
57 | take axe
58 | kill machine
59 | s
60 | s
61 | drop diamonds
62 | w
63 | w
64 | n
65 | # Back at vending machine
66 | n
67 | n
68 | nw
69 | d
70 | e
71 | e
72 | e
73 | take gold
74 | w
75 | w
76 | w
77 | s
78 | sw
79 | se
80 | s
81 | take bottle
82 | take food
83 | s
84 | s
85 | throw appendage
86 | kill ogre
87 | take appendage
88 |
--------------------------------------------------------------------------------
/control:
--------------------------------------------------------------------------------
1 | # This is not a real Debian control file
2 | # It's project metadata for the shipper tool
3 |
4 | Package: open-adventure
5 |
6 | Description: Colossal Cave Adventure, the 1995 430-point version.
7 | This is the last descendant of the original 1976 Colossal Cave Adventure
8 | worked on by the original authors - Crowther & Woods. It has sometimes
9 | been known as Adventure 2.5. The original PDP-10 name 'advent' is used
10 | for the built program to avoid collision with the BSD Games version.
11 |
12 | XBS-Destinations: mailto:ubuntu-devel-discuss@lists.ubuntu.com
13 |
14 | Homepage: http://www.catb.org/~esr/open-adventure
15 |
16 | XBS-HTML-Target: index.html
17 |
18 | XBS-Repository-URL: https://gitlab.com/esr/open-adventure
19 |
20 | XBS-Debian-Packages: open-adventure
21 |
22 | XBS-IRC-Channel: irc://chat.freenode.net/#open-adventure
23 |
24 | XBS-Project-Tags: Games/Entertainment
25 |
26 | XBS-VC-Tag-Template: %(version)s
27 |
28 | XBS-Logo: lamp.png
29 |
30 | XBS-Validate: make check
31 |
--------------------------------------------------------------------------------
/tests/weirddwarf.log:
--------------------------------------------------------------------------------
1 | ## Exercise various verbs on a dwarf
2 | n
3 | seed 1071883378
4 | in
5 | take lamp
6 | xyzzy
7 | take rod
8 | e
9 | take cage
10 | w
11 | on
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | drop rod
21 | take bird
22 | take jade
23 | e
24 | e
25 | e
26 | off
27 | xyzzy
28 | drop jade
29 | xyzzy
30 | on
31 | w
32 | w
33 | w
34 | take rod
35 | d
36 | w
37 | wave rod
38 | drop rod
39 | e
40 | n
41 | free bird
42 | take bird
43 | s
44 | take jewelry
45 | n
46 | sw
47 | w
48 | kill dragon
49 | yes
50 | drink blood
51 | e
52 | e
53 | n
54 | take silver
55 | n
56 | off
57 | plugh
58 | drop jewelry
59 | drop rug
60 | drop silver
61 | out
62 | s
63 | w
64 | n
65 | take appendage
66 | free bird
67 | drop cage
68 | listen
69 | s
70 | s
71 | n
72 | in
73 | take food
74 | plugh
75 | on
76 | plover
77 | ne
78 | take pyramid
79 | take axe
80 | s
81 | plover
82 | s
83 | d
84 | u
85 | s
86 | # The actual test - rest was just setup.
87 | read dwarf
88 | feed dwarf
89 | carry
90 | carry dwarf
91 | find dwarf
92 | attack
93 | feed
94 |
--------------------------------------------------------------------------------
/tests/saveresume.2.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > in
11 |
12 | You are inside a building, a well house for a large spring.
13 |
14 | There are some keys on the ground here.
15 |
16 | There is a shiny brass lamp nearby.
17 |
18 | There is food here.
19 |
20 | There is a bottle of water here.
21 |
22 | > resume
23 |
24 | To resume an earlier Adventure, you must abandon the current one.
25 |
26 | Is this acceptable?
27 |
28 | > n
29 |
30 | OK
31 |
32 | > resume
33 |
34 | To resume an earlier Adventure, you must abandon the current one.
35 |
36 | Is this acceptable?
37 |
38 | > y
39 |
40 | OK
41 |
42 | You're in front of building.
43 |
44 | > quit
45 |
46 | Do you really want to quit now?
47 |
48 | > yes
49 |
50 | OK
51 |
52 | You scored 27 out of a possible 430, using 3 turns.
53 |
54 | You are obviously a rank amateur. Better luck next time.
55 |
56 | To achieve the next higher rating, you need 19 more points.
57 |
--------------------------------------------------------------------------------
/tests/mazehint.log:
--------------------------------------------------------------------------------
1 | ## Elicit the maze hint.
2 | n
3 | seed 1071883378
4 | in
5 | take lamp
6 | say xyzzy
7 | take rod
8 | e
9 | take cage
10 | w
11 | on
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | drop rod
21 | take bird
22 | take jade
23 | e
24 | e
25 | e
26 | off
27 | xyzzy
28 | drop jade
29 | xyzzy
30 | on
31 | w
32 | w
33 | w
34 | take rod
35 | d
36 | w
37 | wave rod
38 | drop rod
39 | ew
40 | w
41 | w
42 | s
43 | s
44 | s
45 | n
46 | look
47 | w
48 | e
49 | e
50 | w
51 | n
52 | n
53 | sw
54 | up
55 | take axe
56 | e
57 | e
58 | w
59 | w
60 | w
61 | w
62 | w
63 | w
64 | w
65 | w
66 | w
67 | w
68 | w
69 | w
70 | w
71 | w
72 | w
73 | w
74 | w
75 | w
76 | w
77 | w
78 | w
79 | w
80 | w
81 | w
82 | w
83 | w
84 | throw axe
85 | take axe
86 | w
87 | w
88 | w
89 | w
90 | throw axe
91 | take axe
92 | throw axe
93 | take axe
94 | throw axe
95 | take axe
96 | w
97 | w
98 | w
99 | w
100 | w
101 | w
102 | w
103 | w
104 | w
105 | w
106 | w
107 | w
108 | w
109 | n
110 | s
111 | e
112 | w
113 | n
114 | s
115 | e
116 | sw
117 | y
118 | y
119 |
--------------------------------------------------------------------------------
/tests/footslip.log:
--------------------------------------------------------------------------------
1 | ## Coverage of LOC_FOOTSLIP
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | d
19 | d
20 | free bird
21 | w
22 | take coins
23 | e
24 | s
25 | take n
26 | u
27 | s
28 | n
29 | d
30 | n
31 | n
32 | plugh
33 | extin
34 | plugh
35 | on
36 | s
37 | s
38 | sw
39 | take
40 | w
41 | kill drago
42 | y
43 | e
44 | e
45 | u
46 | d
47 | n
48 | n
49 | off
50 | plugh
51 | out
52 | s
53 | w
54 | n
55 | s
56 | s
57 | n
58 | in
59 | take water
60 | plugh
61 | on
62 | plove
63 | s
64 | plove
65 | s
66 | s
67 | u
68 | w
69 | wave rod
70 | west
71 | w
72 | w
73 | w
74 | s
75 | s
76 | e
77 | s
78 | kill machi
79 | s
80 | s
81 | n
82 | s
83 | w
84 | n
85 | n
86 | n
87 | nw
88 | d
89 | e
90 | e
91 | e
92 | e
93 | e
94 | n
95 | n
96 | n
97 | off
98 | plugh
99 | plugh
100 | on
101 | s
102 | s
103 | u
104 | n
105 | n
106 | d
107 | bedqu
108 | throw axe
109 | slab
110 | s
111 | d
112 | water plant
113 | u
114 | w
115 | u
116 | reser
117 | H'CFL
118 | n
119 | n
120 | w
121 | u
122 | u
123 | u
124 | u
125 | u
--------------------------------------------------------------------------------
/tests/fillfail.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > in
11 |
12 | You are inside a building, a well house for a large spring.
13 |
14 | There are some keys on the ground here.
15 |
16 | There is a shiny brass lamp nearby.
17 |
18 | There is food here.
19 |
20 | There is a bottle of water here.
21 |
22 | > carry lamp
23 |
24 | OK
25 |
26 | > carry bottle
27 |
28 | OK
29 |
30 | > drop water
31 |
32 | OK
33 |
34 | > carry bottle
35 |
36 | OK
37 |
38 | > drink
39 |
40 | The bottle of water is now empty.
41 |
42 | > fill bottle
43 |
44 | Your bottle is now full of water.
45 |
46 | > xyzzy
47 |
48 | >>Foof!<<
49 |
50 | It is now pitch dark. If you proceed you will likely fall into a pit.
51 |
52 | > fill lamp
53 |
54 | You can't fill that.
55 |
56 | > fill bottle
57 |
58 | Your bottle is already full.
59 |
60 |
61 | You scored 32 out of a possible 430, using 10 turns.
62 |
63 | You are obviously a rank amateur. Better luck next time.
64 |
65 | To achieve the next higher rating, you need 14 more points.
66 |
--------------------------------------------------------------------------------
/tests/ogrehint.log:
--------------------------------------------------------------------------------
1 | ## Elicit the ogre hint.
2 | n
3 | seed 437547289
4 | seed 1071883378
5 | in
6 | take lamp
7 | xyzzy
8 | take rod
9 | e
10 | take cage
11 | w
12 | on
13 | w
14 | w
15 | drop rod
16 | take bird
17 | take rod
18 | w
19 | free bird
20 | wave rod
21 | drop rod
22 | take bird
23 | take jade
24 | e
25 | e
26 | e
27 | off
28 | xyzzy
29 | drop jade
30 | xyzzy
31 | on
32 | w
33 | w
34 | w
35 | take rod
36 | d
37 | w
38 | wave rod
39 | drop rod
40 | e
41 | n
42 | free bird
43 | take bird
44 | s
45 | take jewelry
46 | n
47 | sw
48 | w
49 | kill dragon
50 | yes
51 | drink blood
52 | e
53 | e
54 | n
55 | take silver
56 | n
57 | off
58 | plugh
59 | drop jewelry
60 | drop rug
61 | drop silver
62 | out
63 | s
64 | w
65 | n
66 | take appendage
67 | free bird
68 | drop cage
69 | listen
70 | s
71 | s
72 | n
73 | in
74 | take food
75 | plugh
76 | on
77 | plover
78 | ne
79 | take pyramid
80 | take axe
81 | s
82 | plover
83 | s
84 | d
85 | u
86 | s
87 | up
88 | w
89 | w
90 | w
91 | w
92 | w
93 | s
94 | sw
95 | se
96 | s
97 | kill machine
98 | s
99 | s
100 | n
101 | n
102 | kill dwarf
103 | throw axe
104 | take axe
105 | throw axe
106 | take axe
107 | throw axe
108 | feed ogre
109 | y
110 | y
111 | w
112 | drop food
113 | back
114 | feed ogre
115 | inven
116 |
--------------------------------------------------------------------------------
/tests/troll_returns.log:
--------------------------------------------------------------------------------
1 | ## See that troll returns if we stole eggs from him before crossing
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | d
19 | d
20 | free bird
21 | w
22 | e
23 | s
24 | n
25 | u
26 | s
27 | n
28 | d
29 | n
30 | n
31 | plugh
32 | extin
33 | plugh
34 | on
35 | s
36 | s
37 | sw
38 | w
39 | kill
40 | y
41 | e
42 | e
43 | u
44 | d
45 | n
46 | n
47 | off
48 | plugh
49 | out
50 | s
51 | w
52 | n
53 | s
54 | s
55 | n
56 | in
57 | take water
58 | plugh
59 | on
60 | plove
61 | plove
62 | s
63 | s
64 | u
65 | w
66 | wave rod
67 | west
68 | w
69 | w
70 | w
71 | s
72 | s
73 | e
74 | s
75 | kill machi
76 | s
77 | s
78 | n
79 | s
80 | w
81 | n
82 | n
83 | n
84 | nw
85 | d
86 | e
87 | e
88 | e
89 | e
90 | e
91 | n
92 | n
93 | n
94 | off
95 | on
96 | s
97 | d
98 | bedqu
99 | slab
100 | s
101 | d
102 | water plant
103 | u
104 | w
105 | u
106 | reser
107 | H'CFL
108 | n
109 | n
110 | take water
111 | s
112 | s
113 | s
114 | s
115 | d
116 | s
117 | d
118 | water plant
119 | u
120 | e
121 | d
122 | g oil
123 | u
124 | w
125 | d
126 | climb
127 | w
128 | n
129 | oil door
130 | s
131 | g
132 | n
133 | n
134 | w
135 | d
136 | sw
137 | u
138 | toss egg
139 | fee
140 | fie
141 | foe
142 | foo
143 | look
144 | over
145 |
--------------------------------------------------------------------------------
/tests/README:
--------------------------------------------------------------------------------
1 | = Notes on the test machinery =
2 |
3 | == Understanding and running tests ==
4 |
5 | A .log extension means it's a game log
6 | A .chk extension means it's expected output from a test
7 |
8 | The test files are run in alphabetical order. This allows you to
9 | ensure certain tests are run in a particular order merely by giving
10 | them appropriate names, e.g.: test.1.log, test.2.log, test.3.log. This
11 | is useful for testing save and resume.
12 |
13 | In general, a file named foo.chk is the expected output from the game log
14 | foo.log. To add new tests, just drop log files in this directory.
15 |
16 | To see summary lines from all tests, 'make testlist'. The summary lines
17 | are those led with ##; you should have one such descriptive line at the
18 | head of each file.
19 |
20 | To run the tests, "make regress".
21 |
22 | To remake the check files, "make buildregress".
23 |
24 | == Composing tests ==
25 |
26 | The simplest way to make a test is to simply play a game with the -l
27 | option giving a log path. Commands will be captured to that log.
28 |
29 | To re-use a command sequence from an existing log, run advent and
30 | paste it to the advent command log from the clipboard.
31 |
32 | To see where we can use more tests, have a look at our test coverage
33 | report:
34 |
35 | http://esr.gitlab.io/open-adventure/coverage/
36 |
37 | Improvements in test coverage are always welcome.
38 |
39 | // end
40 |
41 |
--------------------------------------------------------------------------------
/COPYING:
--------------------------------------------------------------------------------
1 | BSD LICENSE
2 |
3 | Copyright (c) 1977, 2005 by Will Crowther and Don Woods
4 | Copyright (c) 2017 by Eric S. Raymond
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are
8 | met:
9 |
10 | 1. Redistributions of source code must retain the above copyright
11 | notice, this list of conditions and the following disclaimer.
12 |
13 | 2. Redistributions in binary form must reproduce the above copyright
14 | notice, this list of conditions and the following disclaimer in the
15 | documentation and/or other materials provided with the distribution.
16 |
17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/style.h:
--------------------------------------------------------------------------------
1 | #ifndef STYLE_H
2 | #define STYLE_H
3 | #include
4 | #include
5 | #include
6 |
7 | #define FORMAT_CENTERING '\1'
8 | #define ZERO_WIDTH_SPACE '\6'
9 |
10 | extern char* times_pack_name;
11 | extern char* drsans_pack_name;
12 | extern unsigned char foreground_color;
13 | extern unsigned char background_color;
14 | extern unsigned char print_lines_printed;
15 |
16 | void gfx_resume_render_splash(void);
17 | void font_missing(char* name);
18 | fontlib_font_t* set_font(char* name, uint8_t size, uint8_t weight, uint8_t style_set, uint8_t style_reset, fontlib_load_options_t options);
19 | fontlib_font_t* set_times(uint8_t size, fontlib_load_options_t options);
20 | fontlib_font_t* set_drsans(uint8_t size, uint8_t weight, fontlib_load_options_t options);
21 | void draw_compressed(int message);
22 | void print_centered(const char* string);
23 | void print_centered_compressed(int message);
24 | void print_right(int message);
25 | void fontlib_reverse_colors(void);
26 | void print_disable_pagination(void);
27 | void print_reset_pagination(void);
28 | char* print_word_wrap(const char* string, bool fake_print);
29 | void print_centered_word_wrap(const char* string);
30 | void print_configure(char* name, uint8_t size, uint8_t weight, fontlib_load_options_t options);
31 | void print_clear(void);
32 | void print_newline(void);
33 | void print_compressed(int message);
34 | void print(const char* string);
35 |
36 |
37 | #endif
38 |
--------------------------------------------------------------------------------
/tests/dwarf_alternative.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 383847
11 |
12 | Seed set to 383847
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > xyzzy
29 |
30 | >>Foof!<<
31 |
32 | It is now pitch dark. If you proceed you will likely fall into a pit.
33 |
34 | > w
35 |
36 | It is now pitch dark. If you proceed you will likely fall into a pit.
37 |
38 | > w
39 |
40 | It is now pitch dark. If you proceed you will likely fall into a pit.
41 |
42 | > w
43 |
44 | It is now pitch dark. If you proceed you will likely fall into a pit.
45 |
46 | > d
47 |
48 | It is now pitch dark. If you proceed you will likely fall into a pit.
49 |
50 | > d
51 |
52 | A little dwarf just walked around a corner, saw you, threw a little
53 | axe at you which missed, cursed, and ran away.
54 |
55 | You fell into a pit and broke every bone in your body!
56 |
57 | Oh dear, you seem to have gotten yourself killed. I might be able to
58 | help you out, but I've never really done this before. Do you want me
59 | to try to reincarnate you?
60 |
61 |
--------------------------------------------------------------------------------
/tests/hint_urn.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1495951709
11 |
12 | Seed set to 1495951709
13 |
14 | You're in front of building.
15 |
16 | > u
17 |
18 | You have walked up a hill, still in the forest. The road slopes back
19 | down the other side of the hill. There is a building in the distance.
20 |
21 | > n
22 |
23 | You are wandering aimlessly through the forest.
24 |
25 | > n
26 |
27 | You are wandering aimlessly through the forest.
28 |
29 | > n
30 |
31 | The forest thins out here to reveal a steep cliff. There is no way
32 | down, but a small ledge can be seen to the west across the chasm.
33 |
34 | A small urn is embedded in the rock.
35 |
36 | > z
37 |
38 | OK
39 |
40 | > z
41 |
42 | OK
43 |
44 | > z
45 |
46 | OK
47 |
48 | > z
49 |
50 | OK
51 |
52 | > z
53 |
54 | OK
55 |
56 | > z
57 |
58 | OK
59 |
60 | > z
61 |
62 | OK
63 |
64 | Are you wondering what to do here?
65 |
66 | > y
67 |
68 | I am prepared to give you a hint, but it will cost you 2 points.
69 |
70 | Do you want the hint?
71 |
72 | > y
73 |
74 | This section is quite advanced. Find the cave first.
75 |
76 |
77 |
78 | You scored 30 out of a possible 430, using 11 turns.
79 |
80 | You are obviously a rank amateur. Better luck next time.
81 |
82 | To achieve the next higher rating, you need 16 more points.
83 |
--------------------------------------------------------------------------------
/tests/axeorama.log:
--------------------------------------------------------------------------------
1 | ## Test throwing axe at non-dwarves.
2 | # Added coverage of LOC_DEADCRAWL and CROSS_BRIDGE
3 | n
4 | seed 1838473132
5 | in
6 | take lamp
7 | xyzzy
8 | on
9 | take rod
10 | e
11 | take cage
12 | w
13 | w
14 | w
15 | drop rod
16 | cage bird
17 | take rod
18 | w
19 | free bird
20 | wave rod
21 | take necklace
22 | drop rod
23 | cage bird
24 | take rod
25 | d
26 | d
27 | free bird
28 | drop rod
29 | drop cage
30 | take cage
31 | cage bird
32 | take rod
33 | w
34 | e
35 | s
36 | take jewelry
37 | n
38 | up
39 | s
40 | take gold
41 | n
42 | d
43 | n
44 | n
45 | plugh
46 | extinguish lamp
47 | drop coins
48 | drop jewelry
49 | drop necklace
50 | drop gold
51 | plugh
52 | on
53 | s
54 | take silver
55 | s
56 | sw
57 | take axe
58 | w
59 | throw axe
60 | take axe
61 | kill dragon
62 | y
63 | inven
64 | e
65 | e
66 | u
67 | # Go to vending machine and ogre from Hall of Mists
68 | w
69 | wave rod
70 | w
71 | w
72 | w
73 | w
74 | s
75 | sw
76 | se
77 | s
78 | throw axe
79 | kill machine
80 | s
81 | s
82 | throw axe
83 | take axe
84 | # Return to Hall of Mists
85 | w
86 | n
87 | n
88 | n
89 | # Vending machine
90 | nw
91 | d
92 | e
93 | e
94 | e
95 | e
96 | e
97 | # Hall of Mists
98 | n
99 | n
100 | take knife
101 | throw axe
102 | take axe
103 | d
104 | w
105 | d
106 | w
107 | # Bedquilt
108 | n
109 | feed dwarf
110 | throw axe
111 | take axe
112 | n
113 | n
114 | n
115 | out
116 | sw
117 | up
118 | # Troll bridge
119 | throw axe
120 | jump
121 |
--------------------------------------------------------------------------------
/tests/fail_hint_woods.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > n
11 |
12 | You are wandering aimlessly through the forest.
13 |
14 | > z
15 |
16 | OK
17 |
18 | > z
19 |
20 | OK
21 |
22 | > z
23 |
24 | OK
25 |
26 | > z
27 |
28 | OK
29 |
30 | > w
31 |
32 | You are wandering aimlessly through the forest.
33 |
34 | > z
35 |
36 | OK
37 |
38 | > w
39 |
40 | You are wandering aimlessly through the forest.
41 |
42 | > z
43 |
44 | OK
45 |
46 | > z
47 |
48 | OK
49 |
50 | > n
51 |
52 | You are wandering aimlessly through the forest.
53 |
54 | Your keen eye spots a severed leporine appendage lying on the ground.
55 |
56 | > z
57 |
58 | OK
59 |
60 | > z
61 |
62 | OK
63 |
64 | > z
65 |
66 | OK
67 |
68 | > z
69 |
70 | OK
71 |
72 | > z
73 |
74 | OK
75 |
76 | > z
77 |
78 | OK
79 |
80 | > z
81 |
82 | OK
83 |
84 | > z
85 |
86 | OK
87 |
88 | > z
89 |
90 | OK
91 |
92 | > z
93 |
94 | OK
95 |
96 | > z
97 |
98 | OK
99 |
100 | > z
101 |
102 | OK
103 |
104 | > z
105 |
106 | OK
107 |
108 | > z
109 |
110 | OK
111 |
112 |
113 | You scored 32 out of a possible 430, using 25 turns.
114 |
115 | You are obviously a rank amateur. Better luck next time.
116 |
117 | To achieve the next higher rating, you need 14 more points.
118 |
--------------------------------------------------------------------------------
/tests/tall.log:
--------------------------------------------------------------------------------
1 | ## Coverage of LOC_TALL, LOC_WIDEPLACE, LOC_TIGHTPLACE
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | d
19 | d
20 | free bird
21 | w
22 | take coins
23 | e
24 | s
25 | take n
26 | u
27 | s
28 | n
29 | d
30 | n
31 | n
32 | plugh
33 | extin
34 | plugh
35 | on
36 | s
37 | s
38 | sw
39 | take
40 | w
41 | kill drago
42 | y
43 | e
44 | e
45 | u
46 | d
47 | n
48 | n
49 | off
50 | plugh
51 | out
52 | s
53 | w
54 | n
55 | s
56 | s
57 | n
58 | in
59 | take water
60 | plugh
61 | on
62 | plove
63 | s
64 | plove
65 | s
66 | s
67 | u
68 | w
69 | wave rod
70 | west
71 | w
72 | w
73 | w
74 | s
75 | s
76 | e
77 | s
78 | kill machi
79 | s
80 | s
81 | n
82 | s
83 | w
84 | n
85 | n
86 | n
87 | nw
88 | d
89 | e
90 | e
91 | e
92 | e
93 | e
94 | n
95 | n
96 | n
97 | off
98 | plugh
99 | plugh
100 | on
101 | s
102 | s
103 | u
104 | n
105 | n
106 | d
107 | bedqu
108 | throw axe
109 | slab
110 | s
111 | d
112 | water plant
113 | u
114 | w
115 | u
116 | reser
117 | H'CFL
118 | n
119 | n
120 | w
121 | u
122 | u
123 | u
124 | u
125 | w
126 | d
127 | d
128 | d
129 | d
130 | d
131 | take water
132 | s
133 | s
134 | s
135 | s
136 | d
137 | s
138 | d
139 | water plant
140 | u
141 | e
142 | d
143 | get oil
144 | u
145 | w
146 | d
147 | climb
148 | w
149 | n
150 | oil door
151 | d
152 | n
153 | w
154 | d
155 | se
156 | n
157 | w
158 | nw
159 | s
160 | e
161 | se
162 | canyon
163 | e
164 | s
165 | n
166 | n
167 | w
--------------------------------------------------------------------------------
/NEWS:
--------------------------------------------------------------------------------
1 | = Open Adventure project news =
2 |
3 | 1.8: 2019-04-19::
4 | Minor typo and capitalization glitches in user-visible text fixed & documented.
5 | Save format has changed.
6 |
7 | 1.7: 2018-12-03::
8 | Python 3 and OS X port fixes.
9 |
10 | 1.6: 2018-11-15::
11 | Split commands with verbless objects now pick up a preceding verb correctly.
12 |
13 | 1.5: 2018-11-11::
14 | Fix for a minor bug in inventory handling.
15 | Handle a bare numeric token on the command line a bit more gracefully.
16 |
17 | 1.4: 2017-08-07::
18 | Repair packaging error (omitted templates.)
19 | Minor improvements in odd grammar cases.
20 |
21 | 1.3: 2017-08-01::
22 | Split commands with objectless transitive verbs are handled correctly.
23 | Test suite has 100% code coverage.
24 |
25 | 1.2: 2017-07-11::
26 | Under oldstyle, new-school single-letter command synonyms are ignored.
27 | Switched from linenoise to editline for new-style line input.
28 | The -s option is no longer required to paste command input; it is removed.
29 |
30 | 1.1: 2017-06-29::
31 | There is a 'version' command.
32 | Include tests directory in generated tarball.
33 | Support command-line editing with arrow keys and Emacs keystrokes.
34 | Save format has changed.
35 |
36 | 1.0: 2017-06-05::
37 | Forward port of Crowther & Woods's 430-point Adventure 2.5.
38 | Added -l option for logging.
39 | Game logs are now fully reproducible via the "seed" command.
40 | Added regression-test suite using seed, with coverage checking.
41 | Added command prompt; -o suppresses this. Otherwise no gameplay changes.
42 | Fixed bug that caused reservoir word not to be randomized.
43 | Makefile does parallel builds.
44 |
--------------------------------------------------------------------------------
/tests/listenloud.log:
--------------------------------------------------------------------------------
1 | ## Attempt to listen at a loud location
2 | # Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
3 | n
4 | seed 1495951709
5 | in
6 | take lamp
7 | on
8 | xyzzy
9 | take rod
10 | e
11 | take cage
12 | w
13 | w
14 | w
15 | drop rod
16 | take bird
17 | take rod
18 | w
19 | free bird
20 | wave rod
21 | take jade
22 | drop rod
23 | take bird
24 | take rod
25 | d
26 | w
27 | wave rod
28 | drop rod
29 | e
30 | n
31 | free bird
32 | take bird
33 | s
34 | take jewelry
35 | n
36 | sw
37 | w
38 | kill dragon
39 | yes
40 | drink blood
41 | take rug
42 | e
43 | e
44 | n
45 | take silver
46 | n
47 | plugh
48 | drop silver
49 | drop jewelry
50 | drop jade
51 | drop rug
52 | out
53 | s
54 | w
55 | n
56 | take appendage
57 | free bird
58 | listen
59 | s
60 | s
61 | n
62 | in
63 | take water
64 | plugh
65 | plover
66 | ne
67 | take axe
68 | take pyramid
69 | s
70 | dark
71 | s
72 | plover
73 | s
74 | d
75 | u
76 | u
77 | throw axe
78 | take axe
79 | throw axe
80 | take axe
81 | throw axe
82 | take axe
83 | throw axe
84 | take axe
85 | s
86 | e
87 | w
88 | drop cage
89 | w
90 | w
91 | w
92 | w
93 | s
94 | sw
95 | se
96 | s
97 | kill machine
98 | s
99 | s
100 | kill ogre
101 | n
102 | take ruby
103 | s
104 | w
105 | n
106 | n
107 | n
108 | nw
109 | d
110 | e
111 | e
112 | e
113 | take diamonds
114 | e
115 | e
116 | s
117 | take gold
118 | n
119 | y2
120 | d
121 | plugh
122 | drop diamonds
123 | drop pyramid
124 | drop ruby
125 | plugh
126 | plugh
127 | drop coins
128 | plugh
129 | s
130 | d
131 | bedquilt
132 | slab
133 | s
134 | d
135 | water plant
136 | u
137 | w
138 | u
139 | reservoir
140 | Q'IBJ
141 | n
142 | listen
--------------------------------------------------------------------------------
/tests/eggs_done.log:
--------------------------------------------------------------------------------
1 | ## Be done with Giant Room and eggs (fuzzed)
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | d
19 | d
20 | free bird
21 | w
22 | take coins
23 | e
24 | s
25 | take n
26 | u
27 | s
28 | n
29 | d
30 | n
31 | n
32 | plugh
33 | extin
34 | plugh
35 | on
36 | s
37 | s
38 | sw
39 | take
40 | w
41 | kill drago
42 | y
43 | e
44 | e
45 | u
46 | d
47 | n
48 | n
49 | off
50 | plugh
51 | out
52 | s
53 | w
54 | n
55 | s
56 | s
57 | n
58 | in
59 | take water
60 | plugh
61 | on
62 | plove
63 | s
64 | plove
65 | s
66 | s
67 | u
68 | w
69 | wave rod
70 | west
71 | w
72 | w
73 | w
74 | s
75 | s
76 | e
77 | s
78 | kill machi
79 | s
80 | s
81 | n
82 | s
83 | w
84 | n
85 | n
86 | n
87 | nw
88 | d
89 | e
90 | e
91 | e
92 | e
93 | e
94 | n
95 | n
96 | n
97 | off
98 | plugh
99 | plugh
100 | on
101 | s
102 | s
103 | u
104 | n
105 | n
106 | d
107 | bedqu
108 | throw axe
109 | slab
110 | s
111 | d
112 | water plant
113 | u
114 | w
115 | u
116 | reser
117 | H'CFL
118 | n
119 | n
120 | w
121 | u
122 | u
123 | u
124 | u
125 | w
126 | d
127 | d
128 | d
129 | d
130 | d
131 | take water
132 | s
133 | s
134 | s
135 | s
136 | d
137 | s
138 | d
139 | water plant
140 | u
141 | e
142 | d
143 | get oil
144 | u
145 | w
146 | d
147 | climb
148 | w
149 | n
150 | oil door
151 | d
152 | n
153 | w
154 | d
155 | se
156 | n
157 | w
158 | nw
159 | s
160 | e
161 | se
162 | e
163 | w
164 | ne
165 | e
166 | n
167 | e
168 | u
169 | n
170 | s
171 | d
172 | w
173 | d
174 | n
175 | d
176 | d
177 | u
178 | u
179 | s
180 | w
181 | w
182 | w
183 | w
184 | d
185 | climb
186 | w
187 | g egg
188 | n
189 | fee
190 | fie
191 | foe
192 | foo
193 | look
194 | inven
--------------------------------------------------------------------------------
/INSTALL.adoc:
--------------------------------------------------------------------------------
1 | = Compiling Open Adventure =
2 |
3 | The instructions below assume your system uses Python 3 by default,
4 | but the actual Python code in Open Adventure is 2/3-agnostic. Adjust
5 | the example commands below accordingly.
6 |
7 | 1. Install PyYAML for Python 3 (which requires Python 3) and libedit
8 | from http://thrysoee.dk/editline/ (aka: editline) on your system.
9 | +
10 | On Debian and Ubuntu: `apt-get install python3-yaml libedit-dev`.
11 | +
12 | On Fedora: `dnf install python3-PyYAML libedit-devel`.
13 | +
14 | If you are using MacPorts on OS X: `port install py3{5,6}-yaml`, as
15 | appropriate for your Python 3 version.
16 | +
17 | You can also use pip to install PyYAML: `pip3 install PyYAML`.
18 |
19 | 2. Change to the top-level directory of the source code (e.g., `cd open-adventure`).
20 |
21 | 3. Build with `make`.
22 | +
23 | If make returns the following message:
24 | +
25 | ------------------------------------------------
26 | Traceback (most recent call last):
27 | File "./make_dungeon.py", line 13, in
28 | import sys, yaml
29 | ImportError: No module named yaml
30 | ------------------------------------------------
31 | +
32 | try editing make_dungeon.py to change `#!/usr/bin/env python` to
33 | read `#!/usr/bin/env python3`
34 | +
35 | If you still get the error, use the following command to install yaml with pip:
36 | +
37 | ------------------------------------------------
38 | pip install pyyaml
39 | ------------------------------------------------
40 | +
41 | Make sure you have `pip` installed on your system. If not, you should
42 | install it first. See https://pip.pypa.io/en/stable/installing/
43 |
44 | 4. Optionally run a regression test on the code with `make check`.
45 |
46 | 5. Send `bin/ADVENT.8xp` and `bin/ADVENT_data.8xv` to your calculator.
47 | To run the PC build, use `make pc` instead and run the result with `./advent`.
48 |
--------------------------------------------------------------------------------
/tests/drown.log:
--------------------------------------------------------------------------------
1 | ## Speak a magic word at an inopportune time and drown.
2 | # Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
3 | n
4 | seed 1838473132
5 | in
6 | take lamp
7 | xyzzy
8 | on
9 | take rod
10 | e
11 | take cage
12 | w
13 | w
14 | w
15 | drop rod
16 | take bird
17 | take rod
18 | w
19 | free bird
20 | wave rod
21 | take necklace
22 | drop rod
23 | take bird
24 | take rod
25 | d
26 | d
27 | free bird
28 | drop rod
29 | drop cage
30 | take cage
31 | take bird
32 | w
33 | take coins
34 | e
35 | s
36 | take jewelry
37 | n
38 | up
39 | s
40 | take gold
41 | n
42 | d
43 | n
44 | n
45 | plugh
46 | extinguish lamp
47 | drop coins
48 | drop jewelry
49 | drop necklace
50 | drop gold
51 | plugh
52 | on
53 | s
54 | take silver
55 | s
56 | sw
57 | take axe
58 | w
59 | kill dragon
60 | yes
61 | feed dragon
62 | drink blood
63 | take rug
64 | e
65 | e
66 | up
67 | d
68 | n
69 | n
70 | off
71 | plugh
72 | inven
73 | drop rug
74 | drop silver
75 | out
76 | s
77 | w
78 | n
79 | take appendage
80 | free bird
81 | drop cage
82 | listen
83 | s
84 | s
85 | n
86 | in
87 | take water
88 | plugh
89 | on
90 | plover
91 | ne
92 | take pyramid
93 | s
94 | plover
95 | s
96 | s
97 | take rod
98 | up
99 | w
100 | wave rod
101 | drop rod
102 | west
103 | take diamonds
104 | w
105 | w
106 | w
107 | s
108 | sw
109 | se
110 | s
111 | kill machine
112 | s
113 | s
114 | kill ogre
115 | n
116 | take ruby
117 | s
118 | w
119 | n
120 | n
121 | n
122 | nw
123 | d
124 | e
125 | e
126 | e
127 | e
128 | e
129 | throw axe
130 | take axe
131 | n
132 | n
133 | n
134 | off
135 | plugh
136 | drop ruby
137 | drop diamonds
138 | drop pyramid
139 | plugh
140 | on
141 | s
142 | s
143 | n
144 | d
145 | bedquilt
146 | slab
147 | s
148 | d
149 | water plant
150 | H'CFL
151 | u
152 | w
153 | u
154 | reservoir
155 | drink
156 | H'CFL
157 | n
158 | H'CFL
159 | n
160 |
--------------------------------------------------------------------------------
/tests/hint_grate.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1495774850
11 |
12 | Seed set to 1495774850
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > take lamp
29 |
30 | OK
31 |
32 | > out
33 |
34 | You're in front of building.
35 |
36 | > s
37 |
38 | You are in a valley in the forest beside a stream tumbling along a
39 | rocky bed.
40 |
41 | > stream
42 |
43 | Upstream or downstream?
44 |
45 | You're in valley.
46 |
47 | > s
48 |
49 | At your feet all the water of the stream splashes into a 2-inch slit
50 | in the rock. Downstream the streambed is bare rock.
51 |
52 | > s
53 |
54 | You are in a 20-foot depression floored with bare dirt. Set into the
55 | dirt is a strong steel grate mounted in concrete. A dry streambed
56 | leads into the depression.
57 |
58 | The grate is locked.
59 |
60 | > open grate
61 |
62 | You have no keys!
63 |
64 | > open grate
65 |
66 | You have no keys!
67 |
68 | > open grate
69 |
70 | You have no keys!
71 |
72 | Are you trying to get into the cave?
73 |
74 | > y
75 |
76 | I am prepared to give you a hint, but it will cost you 2 points.
77 |
78 | Do you want the hint?
79 |
80 | > y
81 |
82 | The grate is very solid and has a hardened steel lock. You cannot
83 | enter without a key, and there are no keys nearby. I would recommend
84 | looking elsewhere for the keys.
85 |
86 |
87 | You scored 30 out of a possible 430, using 10 turns.
88 |
89 | You are obviously a rank amateur. Better luck next time.
90 |
91 | To achieve the next higher rating, you need 16 more points.
92 |
--------------------------------------------------------------------------------
/tests/carrybird.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1071883378
11 |
12 | Seed set to 1071883378
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > take lamp
29 |
30 | OK
31 |
32 | > rub lamp
33 |
34 | Rubbing the electric lamp is not particularly rewarding. Anyway,
35 | nothing exciting happens.
36 |
37 | > xyzzy
38 |
39 | >>Foof!<<
40 |
41 | It is now pitch dark. If you proceed you will likely fall into a pit.
42 |
43 | > on
44 |
45 | Your lamp is now on.
46 |
47 | You are in a debris room filled with stuff washed in from the surface.
48 | A low wide passage with cobbles becomes plugged with mud and debris
49 | here, but an awkward canyon leads upward and west. In the mud someone
50 | has scrawled, "MAGIC WORD XYZZY".
51 |
52 | A three foot black rod with a rusty star on an end lies nearby.
53 |
54 | > eat grate
55 |
56 | I see no grate here.
57 |
58 | > w
59 |
60 | You are in an awkward sloping east/west canyon.
61 |
62 | > w
63 |
64 | You are in a splendid chamber thirty feet high. The walls are frozen
65 | rivers of orange stone. An awkward canyon and a good passage exit
66 | from east and west sides of the chamber.
67 |
68 | A cheerful little bird is sitting here singing.
69 |
70 | > take bird
71 |
72 | You can catch the bird, but you cannot carry it.
73 |
74 | > attack
75 |
76 | The little bird is now dead. Its body disappears.
77 |
78 |
79 | You scored 32 out of a possible 430, using 10 turns.
80 |
81 | You are obviously a rank amateur. Better luck next time.
82 |
83 | To achieve the next higher rating, you need 14 more points.
84 |
--------------------------------------------------------------------------------
/actions.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Actions for the dungeon-running code.
3 | *
4 | * Zilog's C compiler is a bit . . . special, so this file is broken up into
5 | * smaller units.
6 | *
7 | * Copyright (c) 1977, 2005 by Will Crowther and Don Woods
8 | * Copyright (c) 2017 by Eric S. Raymond
9 | * SPDX-License-Identifier: BSD-2-clause
10 | */
11 |
12 | #include
13 | #include
14 | #include
15 | #include "advent.h"
16 | #include "dungeon.h"
17 | #ifdef CALCULATOR
18 | #include "calc.h"
19 | #endif
20 | #include
21 |
22 | phase_codes_t fill(verb_t, obj_t);
23 | phase_codes_t attack(command_t* command);
24 | phase_codes_t bigwords(vocab_t id);
25 | void blast(void);
26 | phase_codes_t vbreak(verb_t verb, obj_t obj);
27 | phase_codes_t brief(void);
28 | phase_codes_t vcarry(verb_t verb, obj_t obj);
29 | int chain(verb_t verb);
30 | phase_codes_t discard(verb_t verb, obj_t obj);
31 | phase_codes_t drink(verb_t verb, obj_t obj);
32 | phase_codes_t eat(verb_t verb, obj_t obj);
33 | phase_codes_t extinguish(verb_t verb, obj_t obj);
34 | phase_codes_t feed(verb_t verb, obj_t obj);
35 | phase_codes_t fill(verb_t verb, obj_t obj);
36 | phase_codes_t find(verb_t verb, obj_t obj);
37 | phase_codes_t fly(verb_t verb, obj_t obj);
38 | phase_codes_t inven(void);
39 | phase_codes_t light(verb_t verb, obj_t obj);
40 | phase_codes_t listen(void);
41 | phase_codes_t lock(verb_t verb, obj_t obj);
42 | phase_codes_t pour(verb_t verb, obj_t obj);
43 | phase_codes_t quit(void);
44 | phase_codes_t action_read(command_t* command);
45 | phase_codes_t reservoir(void);
46 | phase_codes_t rub(verb_t verb, obj_t obj);
47 | phase_codes_t say(command_t* command);
48 | phase_codes_t throw_support(vocab_t spk);
49 | phase_codes_t throw (command_t* command);
50 | phase_codes_t wake(verb_t verb, obj_t obj);
51 | phase_codes_t seed(verb_t verb, const char *arg);
52 | phase_codes_t waste(verb_t verb, turn_t turns);
53 | phase_codes_t wave(verb_t verb, obj_t obj);
54 | phase_codes_t action(command_t* command);
55 |
--------------------------------------------------------------------------------
/tests/illformed.log:
--------------------------------------------------------------------------------
1 | ## Test for various cases not found in walkthroughs.
2 | foo
3 |
4 | y
5 | seed 1635997320
6 | back
7 | # Caused crashes and hangs before
8 | take grate
9 | no rub
10 | # Next three lines were buggy
11 | say axe
12 | say rub
13 | say grate
14 | _
15 | back
16 | seed
17 | waste
18 | eat grate
19 | 23
20 | eat building
21 | in
22 | # Z'ZZZ Word correct, but does nothing
23 | say F'UNJ
24 | # Say bigwords when giant isn't around
25 | say fee
26 | say fie
27 | say foe
28 | say fum
29 | in
30 | keys
31 | throw food
32 | nothing food
33 | calm food
34 | walk food
35 | score food
36 | foo food
37 | brief food
38 | blast food
39 | find grate
40 | light food
41 | lock food
42 | unlock food
43 | extinguish food
44 | suspend food
45 | resume food
46 | crawl
47 | out
48 | stream
49 | lock
50 | take water
51 | blast
52 | building
53 | cave
54 | enter stream
55 | try three words
56 | listen
57 | carry
58 | forward
59 | eat
60 | drink
61 | throw keys
62 | find keys
63 | inven keys
64 | nothing
65 | in
66 | listen
67 | find keys
68 | unlock keys
69 | find foo
70 | find bar
71 | carry
72 | blast
73 | take bottle
74 | find bottle
75 | drink water
76 | fill bottle
77 | throw axe
78 | throw knife
79 | lock
80 | unlock
81 | throw
82 | attack
83 | unlock chain
84 | fill urn
85 | eat keys
86 | discard keys
87 | drink keys
88 | off keys
89 | break keys
90 | wake keys
91 | take keys
92 | feed keys
93 | fly keys
94 | pour keys
95 | throw keys
96 | foo up
97 | get
98 | food
99 | eat food
100 | drink blood
101 | drink keys
102 | light keys
103 | brief
104 | frob grate
105 | read grate
106 | grate
107 | pour bottle
108 | fill bottle
109 | building
110 | on
111 | pour bottle
112 | xyzzy
113 | take rod
114 | wave rod
115 | listen
116 | quit
117 | n
118 | read
119 | look
120 | l
121 | x
122 | i
123 | news
124 | go back
125 | fuck
126 | walk
127 | fly
128 | say boo
129 | score
130 | z
131 | score
132 | quit keys
133 | out
134 | s
135 | s
136 | down
137 | s
138 | in
139 | seed -123
140 | no
141 | quit
142 | yes
143 |
--------------------------------------------------------------------------------
/tests/oilplant.log:
--------------------------------------------------------------------------------
1 | ## Attempt to oil the beanstalk after watering it
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | take necklace
21 | drop rod
22 | take bird
23 | take rod
24 | d
25 | d
26 | free bird
27 | drop rod
28 | drop cage
29 | take cage
30 | take bird
31 | w
32 | take coins
33 | e
34 | s
35 | take jewelry
36 | n
37 | up
38 | s
39 | take gold
40 | n
41 | d
42 | n
43 | n
44 | plugh
45 | extinguish lamp
46 | drop coins
47 | drop jewelry
48 | drop necklace
49 | drop gold
50 | plugh
51 | on
52 | s
53 | take silver
54 | s
55 | sw
56 | take axe
57 | w
58 | kill dragon
59 | yes
60 | drink blood
61 | take rug
62 | e
63 | e
64 | up
65 | d
66 | n
67 | n
68 | off
69 | plugh
70 | inven
71 | drop rug
72 | drop silver
73 | out
74 | s
75 | w
76 | n
77 | take appendage
78 | free bird
79 | drop cage
80 | listen
81 | s
82 | s
83 | n
84 | in
85 | take water
86 | plugh
87 | on
88 | plover
89 | ne
90 | take pyramid
91 | s
92 | plover
93 | s
94 | s
95 | take rod
96 | up
97 | w
98 | wave rod
99 | drop rod
100 | west
101 | take diamonds
102 | w
103 | w
104 | w
105 | s
106 | sw
107 | se
108 | s
109 | kill machine
110 | s
111 | s
112 | kill ogre
113 | n
114 | take ruby
115 | s
116 | w
117 | n
118 | n
119 | n
120 | nw
121 | d
122 | e
123 | e
124 | e
125 | e
126 | e
127 | throw axe
128 | take axe
129 | n
130 | n
131 | n
132 | off
133 | plugh
134 | drop ruby
135 | drop diamonds
136 | drop pyramid
137 | plugh
138 | on
139 | s
140 | s
141 | u
142 | n
143 | n
144 | d
145 | bedquilt
146 | throw axe
147 | take axe
148 | slab
149 | s
150 | d
151 | carry plant
152 | water plant
153 | u
154 | w
155 | u
156 | reservoir
157 | H'CFL
158 | n
159 | n
160 | nw
161 | u
162 | u
163 | u
164 | u
165 | ne
166 | sw
167 | d
168 | d
169 | d
170 | d
171 | d
172 | take water
173 | s
174 | s
175 | s
176 | s
177 | d
178 | s
179 | d
180 | water plant
181 | u
182 | drop appendage
183 | e
184 | d
185 | get oil
186 | u
187 | w
188 | d
189 | invent
190 | pour oil
191 | carry plant
192 |
--------------------------------------------------------------------------------
/tests/plover.log:
--------------------------------------------------------------------------------
1 | ## Test access to emerald room and plover teleport
2 | # Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
3 | n
4 | seed 1495951709
5 | in
6 | take lamp
7 | on
8 | xyzzy
9 | take rod
10 | e
11 | take cage
12 | w
13 | w
14 | w
15 | drop rod
16 | take bird
17 | take rod
18 | w
19 | free bird
20 | wave rod
21 | take jade
22 | drop rod
23 | take bird
24 | take rod
25 | d
26 | w
27 | wave rod
28 | drop rod
29 | e
30 | n
31 | free bird
32 | take bird
33 | s
34 | take jewelry
35 | n
36 | sw
37 | w
38 | kill dragon
39 | yes
40 | drink blood
41 | take rug
42 | e
43 | e
44 | n
45 | take silver
46 | n
47 | plugh
48 | drop silver
49 | drop jewelry
50 | drop jade
51 | drop rug
52 | out
53 | s
54 | w
55 | n
56 | take appendage
57 | free bird
58 | listen
59 | s
60 | s
61 | n
62 | in
63 | take water
64 | plugh
65 | plover
66 | ne
67 | take axe
68 | take pyramid
69 | s
70 | plover
71 | s
72 | d
73 | u
74 | u
75 | throw axe
76 | take axe
77 | throw axe
78 | take axe
79 | throw axe
80 | take axe
81 | throw axe
82 | take axe
83 | s
84 | e
85 | w
86 | drop cage
87 | w
88 | w
89 | w
90 | w
91 | s
92 | sw
93 | se
94 | s
95 | kill machine
96 | s
97 | s
98 | kill ogre
99 | n
100 | take ruby
101 | s
102 | w
103 | n
104 | n
105 | n
106 | nw
107 | d
108 | e
109 | e
110 | e
111 | take diamonds
112 | e
113 | e
114 | s
115 | take gold
116 | n
117 | y2
118 | d
119 | plugh
120 | drop diamonds
121 | drop pyramid
122 | drop ruby
123 | plugh
124 | plugh
125 | drop coins
126 | plugh
127 | s
128 | d
129 | bedquilt
130 | slab
131 | s
132 | d
133 | water plant
134 | u
135 | w
136 | u
137 | reservoir
138 | listen
139 | Q'IBJ
140 | n
141 | n
142 | nw
143 | u
144 | u
145 | u
146 | u
147 | ne
148 | take ebony
149 | sw
150 | d
151 | d
152 | d
153 | d
154 | se
155 | s
156 | s
157 | take water
158 | s
159 | s
160 | d
161 | s
162 | d
163 | water plant
164 | u
165 | e
166 | d
167 | take oil
168 | u
169 | w
170 | d
171 | climb
172 | w
173 | n
174 | oil door
175 | n
176 | take trident
177 | w
178 | d
179 | se
180 | n
181 | w
182 | drop trident
183 | drop axe
184 | drop ebony
185 | drop bottle
186 | drop appendage
187 | e
188 | drop lamp
189 | e
190 | take emerald
191 | inven
192 | plover
193 |
--------------------------------------------------------------------------------
/editor.h:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 |
6 | void init_history(void);
7 | void free_history(void);
8 | void add_history(char* string);
9 | char* get_history_item(unsigned char n);
10 |
11 | typedef struct
12 | {
13 | /* Physical layout */
14 | unsigned int base_x;
15 | unsigned char base_y;
16 | unsigned int width;
17 | unsigned char font_height;
18 | /* Style */
19 | fontlib_font_t* font;
20 | unsigned char fg_color;
21 | unsigned char bg_color;
22 | char cursor_glyph;
23 | bool cursor_shown;
24 | /* Edit buffer */
25 | char* str;
26 | unsigned char max_length;
27 | unsigned char current_length;
28 | unsigned char cursor_index;
29 | unsigned int cursor_x;
30 | } editor_context_t;
31 |
32 | typedef enum
33 | {
34 | shift_none,
35 | shift_alpha,
36 | shift_lower_alpha
37 | } edit_shift_options_t;
38 |
39 | void editor_redraw_from_cursor(editor_context_t* context);
40 | void editor_redraw(editor_context_t* context);
41 | void editor_show_cursor(editor_context_t* context);
42 | void editor_hide_cursor(editor_context_t* context);
43 | void editor_toggle_cursor(editor_context_t* context);
44 | editor_context_t* editor_start(unsigned int x_loc, unsigned char y_loc, unsigned int box_width, unsigned char text_max_length, fontlib_font_t* editor_font);
45 | void editor_close(editor_context_t* context);
46 | char* editor_get_string_close(editor_context_t* context);
47 | char* get_string(unsigned int x_loc, unsigned char y_loc, unsigned int box_width, unsigned char text_max_length, fontlib_font_t* editor_font, char* default_text);
48 | void editor_right(editor_context_t* context);
49 | void editor_left(editor_context_t* context);
50 | void editor_cursor_set(editor_context_t* context, unsigned char index);
51 | void editor_insert(editor_context_t* context, char character);
52 | /*void editor_insert_str(editor_context_t* context, char* str);*/
53 | void editor_set_str(editor_context_t* context, char* str);
54 | void editor_delete(editor_context_t* context, unsigned char n);
55 | void editor_flush(editor_context_t* context);
56 | char editor_translate_key(char key, unsigned char shift);
57 |
58 |
--------------------------------------------------------------------------------
/.gitlab-ci.yml:
--------------------------------------------------------------------------------
1 | image: opensuse/tumbleweed
2 |
3 | stages:
4 | - build
5 | - test
6 | - deploy
7 |
8 | # build advent itself
9 | binary:debug:
10 | stage: build
11 | before_script:
12 | - zypper install -y make gcc libedit-devel libasan5 libubsan1 python python2-PyYAML lcov
13 | script:
14 | - make debug
15 | artifacts:
16 | paths:
17 | - advent
18 | - cheat
19 | - "*.o"
20 | - dungeon.c
21 | - dungeon.h
22 |
23 | binary:release:
24 | stage: build
25 | before_script:
26 | - zypper install -y make gcc libedit-devel python python2-PyYAML
27 | script:
28 | - make advent cheat
29 | artifacts:
30 | paths:
31 | - advent
32 | - cheat
33 | - "*.o"
34 | - dungeon.c
35 | - dungeon.h
36 |
37 | manpage:
38 | stage: build
39 | before_script:
40 | - zypper install -y make asciidoc
41 | script:
42 | - make advent.6
43 | artifacts:
44 | paths:
45 | - advent.6
46 |
47 | html:
48 | stage: build
49 | before_script:
50 | - zypper install -y make asciidoc libxslt
51 | script:
52 | - make html
53 | artifacts:
54 | paths:
55 | - "*.html"
56 |
57 | dist:
58 | stage: build
59 | before_script:
60 | - zypper install -y make asciidoc tar gzip
61 | script:
62 | - export VERS=${CI_COMMIT_REF_NAME}
63 | - make dist -e
64 | artifacts:
65 | paths:
66 | - "*.tar.gz"
67 |
68 | # run tests using the binary built before
69 | test:debug:
70 | stage: test
71 | before_script:
72 | - zypper install -y make gcc libedit-devel libasan5 libubsan1 python python2-PyYAML lcov
73 | script:
74 | - make coverage
75 | artifacts:
76 | paths:
77 | - coverage
78 | dependencies:
79 | - binary:debug
80 |
81 | test:release:
82 | stage: test
83 | before_script:
84 | - zypper install -y make libedit
85 | script:
86 | - cd tests
87 | - make
88 | - cd ..
89 | dependencies:
90 | - binary:release
91 |
92 | pages:
93 | stage: deploy
94 | script:
95 | - mkdir public
96 | - mv coverage public
97 | artifacts:
98 | paths:
99 | - public
100 | only:
101 | - master
102 | dependencies:
103 | - test:debug
104 |
--------------------------------------------------------------------------------
/tests/hint_dark.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1495951709
11 |
12 | Seed set to 1495951709
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > plugh
29 |
30 | >>Foof!<<
31 |
32 | It is now pitch dark. If you proceed you will likely fall into a pit.
33 |
34 | > plove
35 |
36 | >>Foof!<<
37 |
38 | You're in a small chamber lit by an eerie green light. An extremely
39 | narrow tunnel exits to the west. A dark corridor leads ne.
40 |
41 | There is an emerald here the size of a plover's egg!
42 |
43 | > z
44 |
45 | OK
46 |
47 | > z
48 |
49 | OK
50 |
51 | > z
52 |
53 | OK
54 |
55 | > z
56 |
57 | OK
58 |
59 | > z
60 |
61 | OK
62 |
63 | > z
64 |
65 | OK
66 |
67 | > z
68 |
69 | OK
70 |
71 | > z
72 |
73 | OK
74 |
75 | > z
76 |
77 | OK
78 |
79 | > z
80 |
81 | OK
82 |
83 | > z
84 |
85 | OK
86 |
87 | > z
88 |
89 | OK
90 |
91 | > z
92 |
93 | OK
94 |
95 | > z
96 |
97 | OK
98 |
99 | > z
100 |
101 | OK
102 |
103 | > z
104 |
105 | OK
106 |
107 | > z
108 |
109 | OK
110 |
111 | > z
112 |
113 | OK
114 |
115 | > z
116 |
117 | OK
118 |
119 | > z
120 |
121 | OK
122 |
123 | > z
124 |
125 | OK
126 |
127 | > z
128 |
129 | OK
130 |
131 | > z
132 |
133 | OK
134 |
135 | > z
136 |
137 | OK
138 |
139 | Are you trying to explore beyond the plover room?
140 |
141 | > y
142 |
143 | I am prepared to give you a hint, but it will cost you 5 points.
144 |
145 | Do you want the hint?
146 |
147 | > y
148 |
149 | There is a way to explore that region without having to worry about
150 | falling into a pit. None of the objects available is immediately
151 | useful in discovering the secret.
152 |
153 |
154 | You scored 54 out of a possible 430, using 27 turns.
155 |
156 | Your score qualifies you as a novice class adventurer.
157 |
158 | To achieve the next higher rating, you need 67 more points.
159 |
--------------------------------------------------------------------------------
/tests/reach_ledge_short.log:
--------------------------------------------------------------------------------
1 | ## LOC_NOCLIMB.short (fuzzed)
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take
11 | west
12 | west
13 | west
14 | drop rod
15 | take bird
16 | take
17 | west
18 | d
19 | d
20 | free bird
21 | west
22 | e
23 | s
24 | n
25 | u
26 | s
27 | n
28 | d
29 | n
30 | n
31 | plugh
32 | extin
33 | plugh
34 | on
35 | s
36 | s
37 | sw
38 | take
39 | west
40 | kill drago
41 | y
42 | take rug
43 | e
44 | e
45 | u
46 | d
47 | n
48 | n
49 | off
50 | plugh
51 | drop rug
52 | out
53 | s
54 | west
55 | n
56 | drop cage
57 | s
58 | s
59 | n
60 | in
61 | take water
62 | plugh
63 | on
64 | plove
65 | e
66 | s
67 | plove
68 | s
69 | s
70 | u
71 | west
72 | wave rod
73 | drop rod
74 | w
75 | west
76 | west
77 | west
78 | s
79 | sw
80 | se
81 | s
82 | kill machi
83 | s
84 | s
85 | kill ogre
86 |
87 | s
88 | west
89 | n
90 | n
91 | n
92 | nw
93 | d
94 | e
95 | e
96 | e
97 | e
98 | e
99 | throw axe
100 | take axe
101 | n
102 | n
103 | n
104 | off
105 | plugh
106 | plugh
107 | on
108 | s
109 | s
110 | u
111 | n
112 | n
113 | d
114 | bedqu
115 | throw axe
116 | take
117 | slab
118 | s
119 | d
120 | water plant
121 | u
122 | west
123 | u
124 | reser
125 | H'CFL
126 | n
127 | n
128 | u
129 | u
130 | u
131 | u
132 | e
133 | w
134 | d
135 | d
136 | d
137 | d
138 | d
139 | take water
140 | s
141 | s
142 | s
143 | s
144 | d
145 | s
146 | d
147 | water plant
148 | u
149 | e
150 | d
151 | get oil
152 | u
153 | west
154 | d
155 | climb
156 | west
157 | n
158 | oil door
159 | drop bottl
160 | n
161 | west
162 | d
163 | se
164 | n
165 | west
166 | drop axe
167 | drop lante
168 | e
169 | take emera
170 | west
171 | take lamp
172 | take
173 | nw
174 | s
175 | e
176 | se
177 | throw axe
178 | e
179 | west
180 | d
181 | ne
182 | e
183 | u
184 | e
185 | u
186 | n
187 | plugh
188 | take key
189 | take food
190 | plugh
191 | s
192 | d
193 | west
194 | d
195 | n
196 | d
197 | d
198 | u
199 | u
200 | s
201 | west
202 | west
203 | west
204 | west
205 | d
206 | climb
207 | west
208 | n
209 | take bottl
210 | n
211 | w
212 | d
213 | se
214 | se
215 | west
216 | d
217 | g oil
218 | u
219 | west
220 | west
221 | u
222 | s
223 | e
224 | e
225 | n
226 | n
227 | plugh
228 | take
229 | out
230 | west
231 | n
232 | n
233 | n
234 | fill urn
235 | light
236 | rub urn
237 | take amber
238 | drop rug
239 | drop emera
240 | fly
241 | e
--------------------------------------------------------------------------------
/tests/boulder2.log:
--------------------------------------------------------------------------------
1 | ## Coverage of LOC_BOULDERS2.short
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | drop rod
21 | take bird
22 | take rod
23 | d
24 | d
25 | free bird
26 | w
27 | e
28 | s
29 | take n
30 | u
31 | s
32 | n
33 | d
34 | n
35 | n
36 | plugh
37 | extin
38 | plugh
39 | on
40 | s
41 | s
42 | sw
43 | take
44 | w
45 | kill drago
46 | y
47 | take rug
48 | e
49 | e
50 | u
51 | d
52 | n
53 | n
54 | off
55 | plugh
56 | drop rug
57 | out
58 | s
59 | w
60 | n
61 | take appen
62 | drop cage
63 | s
64 | s
65 | n
66 | in
67 | take water
68 | plugh
69 | on
70 | plove
71 | ne
72 | s
73 | plove
74 | s
75 | s
76 | u
77 | w
78 | wave rod
79 | drop rod
80 | west
81 | w
82 | w
83 | w
84 | s
85 | sw
86 | se
87 | s
88 | kill machi
89 | s
90 | s
91 | kill ogre
92 | n
93 | s
94 | w
95 | n
96 | n
97 | n
98 | nw
99 | d
100 | e
101 | e
102 | e
103 | e
104 | e
105 | throw axe
106 | take axe
107 | n
108 | n
109 | n
110 | off
111 | plugh
112 | plugh
113 | on
114 | s
115 | s
116 | u
117 | n
118 | n
119 | d
120 | bedqu
121 | throw axe
122 | take
123 | slab
124 | s
125 | d
126 | water plant
127 | u
128 | w
129 | u
130 | reser
131 | H'CFL
132 | n
133 | n
134 | nw
135 | u
136 | u
137 | u
138 | u
139 | ne
140 | sw
141 | d
142 | d
143 | d
144 | d
145 | d
146 | take water
147 | s
148 | s
149 | s
150 | s
151 | d
152 | s
153 | d
154 | water plant
155 | u
156 | drop appen
157 | e
158 | d
159 | g oil
160 | u
161 | w
162 | d
163 | climb
164 | w
165 | n
166 | oil door
167 | drop bottl
168 | n
169 | take tride
170 | w
171 | d
172 | se
173 | n
174 | w
175 | drop tride
176 | drop axe
177 | drop lante
178 | e
179 | take emera
180 | w
181 | take lamp
182 | take axe
183 | take tride
184 | nw
185 | s
186 | se
187 | throw axe
188 | e
189 | w
190 | ne
191 | e
192 | n
193 | open clam
194 | s
195 | u
196 | e
197 | u
198 | n
199 | off
200 | plugh
201 | drop tride
202 | take key
203 | take food
204 | plugh
205 | on
206 | s
207 | d
208 | w
209 | d
210 | n
211 | d
212 | d
213 | u
214 | u
215 | s
216 | w
217 | w
218 | w
219 | w
220 | d
221 | climb
222 | w
223 | g
224 | n
225 | take bottl
226 | n
227 | w
228 | d
229 | sw
230 | u
231 | toss egg
232 | ne
233 | barre
234 | in
235 | feed bear
236 | unloc
237 | take bear
238 | fork
239 | ne
240 | e
241 | out
242 | e
--------------------------------------------------------------------------------
/tests/fail_hint_ogre.log:
--------------------------------------------------------------------------------
1 | ## Qualify for ogre hint but fail due to dwarves dead (fuzzed)
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take
17 | w
18 | d
19 | d
20 | free bird
21 | w
22 | e
23 | s
24 | n
25 | u
26 | s
27 | n
28 | d
29 | n
30 | n
31 | plugh
32 | extin
33 | plugh
34 | on
35 | s
36 | s
37 | sw
38 | take
39 | w
40 | kill drago
41 | y
42 | e
43 | e
44 | u
45 | d
46 | n
47 | n
48 | off
49 | plugh
50 | out
51 | s
52 | w
53 | n
54 | s
55 | s
56 | n
57 | in
58 | take water
59 | plugh
60 | on
61 | plove
62 | e
63 | s
64 | plove
65 | s
66 | s
67 | u
68 | w
69 | wave rod
70 | west
71 | w
72 | w
73 | w
74 | s
75 | sw
76 | se
77 | s
78 | kill machi
79 | s
80 | s
81 | kill ogre
82 |
83 | s
84 | w
85 | n
86 | n
87 | n
88 | nw
89 | d
90 | e
91 | e
92 | e
93 | e
94 | e
95 | throw axe
96 | take axe
97 | n
98 | n
99 | n
100 | off
101 | plugh
102 | plugh
103 | on
104 | s
105 | s
106 | u
107 | n
108 | n
109 | d
110 | bedqu
111 | throw axe
112 | take
113 | slab
114 | s
115 | d
116 | water plant
117 | u
118 | w
119 | u
120 | reser
121 | H'CFL
122 | n
123 | n
124 | w
125 | u
126 | u
127 | u
128 | u
129 | n
130 | w
131 | d
132 | d
133 | d
134 | d
135 | d
136 | take water
137 | s
138 | s
139 | s
140 | s
141 | d
142 | s
143 | d
144 | water plant
145 | u
146 | e
147 | d
148 | get oil
149 | u
150 | w
151 | d
152 | climb
153 | w
154 | n
155 | oil door
156 | n
157 | w
158 | d
159 | se
160 | n
161 | w
162 | e
163 | w
164 | nw
165 | s
166 | se
167 | throw axe
168 | e
169 | w
170 | ne
171 | e
172 | s
173 | u
174 | e
175 | u
176 | n
177 | off
178 | plugh
179 | plugh
180 | on
181 | s
182 | d
183 | w
184 | d
185 | n
186 | d
187 | d
188 | u
189 | u
190 | s
191 | w
192 | w
193 | w
194 | w
195 | climb
196 | w
197 | n
198 | n
199 | w
200 | e
201 | barre
202 | n
203 | w
204 | w
205 | n
206 | s
207 | s
208 | d
209 | e
210 | e
211 | w
212 | d
213 | u
214 | e
215 | take
216 | w
217 | w
218 | s
219 | d
220 | u
221 | w
222 | u
223 | s
224 | e
225 | n
226 | n
227 | n
228 | n
229 | e
230 | u
231 | w
232 | w
233 | w
234 | s
235 | e
236 | s
237 | throw axe
238 | s
239 | s
240 | n
241 | e
242 | d
243 | e
244 | e
245 | xyzzy
246 | plugh
247 | s
248 | s
249 | w
250 | w
251 | w
252 | w
253 | s
254 | sw
255 | se
256 | s
257 | s
258 | s
259 | z
260 | z
261 | z
262 | z
263 | z
264 | z
265 | z
266 | z
267 | z
268 |
--------------------------------------------------------------------------------
/tests/seedcrash.log:
--------------------------------------------------------------------------------
1 | ## This crashed advent before the control path after seed was fixed.
2 | n
3 | seed 1635997320
4 | in
5 | take lamp
6 | xyzzy
7 | take rod
8 | e
9 | take cage
10 | w
11 | on
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | drop rod
21 | take bird
22 | take jade
23 | e
24 | e
25 | e
26 | off
27 | xyzzy
28 | drop jade
29 | xyzzy
30 | on
31 | w
32 | w
33 | w
34 | take rod
35 | d
36 | w
37 | wave rod
38 | drop rod
39 | e
40 | n
41 | free bird
42 | take bird
43 | s
44 | take jewelry
45 | n
46 | sw
47 | w
48 | feed dragon
49 | kill dragon
50 | yes
51 | drink blood
52 | take rug
53 | e
54 | e
55 | n
56 | take silver
57 | n
58 | off
59 | plugh
60 | drop jewelry
61 | drop rug
62 | drop silver
63 | out
64 | s
65 | w
66 | n
67 | take appendage
68 | free bird
69 | drop cage
70 | listen
71 | s
72 | s
73 | n
74 | in
75 | take water
76 | plugh
77 | on
78 | plover
79 | ne
80 | take pyramid
81 | s
82 | plover
83 | s
84 | d
85 | take axe
86 | u
87 | s
88 | up
89 | w
90 | w
91 | w
92 | w
93 | throw axe
94 | take axe
95 | w
96 | s
97 | sw
98 | se
99 | s
100 | kill machine
101 | s
102 | s
103 | kill ogre
104 | n
105 | take ruby
106 | s
107 | w
108 | n
109 | n
110 | n
111 | nw
112 | d
113 | e
114 | e
115 | e
116 | take diamonds
117 | e
118 | e
119 | drop bottle
120 | s
121 | take gold
122 | n
123 | n
124 | n
125 | n
126 | off
127 | plugh
128 | drop gold
129 | drop diamonds
130 | drop pyramid
131 | drop ruby
132 | plugh
133 | on
134 | s
135 | s
136 | u
137 | take water
138 | throw axe
139 | take axe
140 | n
141 | n
142 | d
143 | bedquilt
144 | slab
145 | s
146 | d
147 | water plant
148 | u
149 | w
150 | u
151 | reservoir
152 | F'UNJ
153 | n
154 | n
155 | nw
156 | u
157 | u
158 | u
159 | u
160 | ne
161 | take ebony
162 | sw
163 | d
164 | d
165 | d
166 | d
167 | d
168 | take water
169 | s
170 | s
171 | s
172 | s
173 | d
174 | s
175 | d
176 | water plant
177 | u
178 | e
179 | d
180 | get oil
181 | u
182 | w
183 | d
184 | climb
185 | w
186 | n
187 | oil door
188 | drop bottle
189 | drop appendage
190 | n
191 | take trident
192 | w
193 | d
194 | se
195 | n
196 | w
197 | inven
198 | drop trident
199 | drop ebony
200 | drop axe
201 | drop lantern
202 | e
203 | take emerald
204 | w
205 | take lamp
206 | take axe
207 | take ebony
208 | take trident
209 | nw
210 | s
211 | take vase
212 | se
213 | e
214 | take pillow
215 | w
216 | ne
217 | e
218 | n
219 | n
220 | seed 1635997320
221 | n
222 |
223 |
224 |
225 |
226 |
--------------------------------------------------------------------------------
/tests/notrident.log:
--------------------------------------------------------------------------------
1 | ## Try to open clam without trident and fail
2 | n
3 | seed 1635997320
4 | in
5 | take lamp
6 | xyzzy
7 | take rod
8 | e
9 | lock cage
10 | take cage
11 | w
12 | on
13 | w
14 | w
15 | drop rod
16 | take bird
17 | take rod
18 | w
19 | free bird
20 | wave rod
21 | drop rod
22 | take bird
23 | take jade
24 | e
25 | e
26 | e
27 | off
28 | xyzzy
29 | drop jade
30 | xyzzy
31 | on
32 | w
33 | w
34 | w
35 | take rod
36 | d
37 | w
38 | wave rod
39 | drop rod
40 | e
41 | n
42 | free bird
43 | take bird
44 | s
45 | take jewelry
46 | n
47 | sw
48 | w
49 | feed dragon
50 | attack
51 | yes
52 | drink blood
53 | take rug
54 | e
55 | e
56 | n
57 | take silver
58 | n
59 | off
60 | plugh
61 | drop jewelry
62 | drop rug
63 | drop silver
64 | out
65 | s
66 | w
67 | n
68 | take appendage
69 | free bird
70 | drop cage
71 | listen
72 | s
73 | s
74 | n
75 | in
76 | take water
77 | plugh
78 | on
79 | plover
80 | ne
81 | take pyramid
82 | s
83 | plover
84 | s
85 | d
86 | take axe
87 | u
88 | s
89 | up
90 | w
91 | w
92 | w
93 | w
94 | throw axe
95 | take axe
96 | w
97 | s
98 | sw
99 | se
100 | s
101 | kill machine
102 | s
103 | s
104 | attack
105 | kill ogre
106 | n
107 | take ruby
108 | s
109 | w
110 | n
111 | n
112 | n
113 | nw
114 | d
115 | e
116 | e
117 | e
118 | take diamonds
119 | e
120 | e
121 | drop bottle
122 | s
123 | take gold
124 | n
125 | n
126 | n
127 | n
128 | off
129 | plugh
130 | drop gold
131 | drop diamonds
132 | drop pyramid
133 | drop ruby
134 | plugh
135 | on
136 | s
137 | s
138 | u
139 | take water
140 | throw axe
141 | take axe
142 | n
143 | n
144 | d
145 | bedquilt
146 | slab
147 | s
148 | d
149 | water plant
150 | u
151 | w
152 | u
153 | reservoir
154 | F'UNJ
155 | n
156 | n
157 | nw
158 | u
159 | u
160 | u
161 | u
162 | ne
163 | take ebony
164 | sw
165 | d
166 | d
167 | d
168 | d
169 | d
170 | take water
171 | s
172 | s
173 | s
174 | s
175 | d
176 | s
177 | d
178 | water plant
179 | u
180 | e
181 | d
182 | get oil
183 | u
184 | w
185 | d
186 | climb
187 | w
188 | n
189 | oil door
190 | drop bottle
191 | drop appendage
192 | n
193 | take trident
194 | w
195 | d
196 | se
197 | n
198 | w
199 | inven
200 | drop trident
201 | drop ebony
202 | drop axe
203 | drop lantern
204 | e
205 | take emerald
206 | w
207 | take lamp
208 | take axe
209 | take ebony
210 | nw
211 | s
212 | take vase
213 | se
214 | e
215 | take pillow
216 | w
217 | ne
218 | e
219 | n
220 | open clam
221 | # Now go back and get coverage on LOC_SMALLPIT
222 | s
223 | u
224 | e
225 | e
226 | d
227 | u
228 | d
229 | u
230 |
231 |
--------------------------------------------------------------------------------
/tests/trident.log:
--------------------------------------------------------------------------------
1 | ## 161-point run to pirate appearance and death by dwarf
2 | # Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
3 | n
4 | seed 1071883378
5 | in
6 | take lamp
7 | xyzzy
8 | take rod
9 | e
10 | take cage
11 | w
12 | on
13 | w
14 | w
15 | drop rod
16 | take bird
17 | take rod
18 | w
19 | free bird
20 | wave rod
21 | drop rod
22 | take bird
23 | take jade
24 | e
25 | e
26 | e
27 | off
28 | xyzzy
29 | drop jade
30 | xyzzy
31 | on
32 | w
33 | w
34 | w
35 | take rod
36 | d
37 | w
38 | wave rod
39 | drop rod
40 | e
41 | n
42 | free bird
43 | take bird
44 | s
45 | take jewelry
46 | n
47 | sw
48 | w
49 | kill dragon
50 | yes
51 | drink blood
52 | e
53 | e
54 | n
55 | take silver
56 | n
57 | off
58 | plugh
59 | drop jewelry
60 | drop rug
61 | drop silver
62 | out
63 | s
64 | w
65 | n
66 | take appendage
67 | free bird
68 | drop cage
69 | listen
70 | s
71 | s
72 | n
73 | in
74 | take water
75 | plugh
76 | on
77 | plover
78 | ne
79 | take pyramid
80 | take axe
81 | s
82 | plover
83 | s
84 | d
85 | u
86 | s
87 | up
88 | # Hall of Mists
89 | w
90 | w
91 | w
92 | w
93 | w
94 | s
95 | sw
96 | se
97 | s
98 | kill machine
99 | s
100 | s
101 | kill ogre
102 | n
103 | s
104 | w
105 | n
106 | n
107 | n
108 | nw
109 | down
110 | e
111 | e
112 | e
113 | take diamonds
114 | e
115 | e
116 | s
117 | take gold
118 | n
119 | y2
120 | d
121 | s
122 | s
123 | w
124 | take coins
125 | e
126 | e
127 | n
128 | n
129 | off
130 | plugh
131 | drop gold
132 | drop coins
133 | drop diamonds
134 | plugh
135 | on
136 | s
137 | d
138 | bedquilt
139 | slab
140 | s
141 | d
142 | water plant
143 | u
144 | w
145 | u
146 | reservoir
147 | F'JBV
148 | n
149 | n
150 | nw
151 | u
152 | u
153 | u
154 | u
155 | ne
156 | take ebony
157 | sw
158 | d
159 | d
160 | d
161 | d
162 | se
163 | s
164 | take water
165 | s
166 | s
167 | s
168 | s
169 | d
170 | s
171 | d
172 | water plant
173 | throw axe
174 | take axe
175 | u
176 | e
177 | d
178 | get oil
179 | u
180 | w
181 | d
182 | climb
183 | w
184 | n
185 | oil door
186 | n
187 | take trident
188 | w
189 | d
190 | se
191 | n
192 | w
193 | drop trident
194 | drop bottle
195 | drop axe
196 | drop appendage
197 | drop pyramid
198 | drop ebony
199 | drop lantern
200 | e
201 | take emerald
202 | w
203 | take lamp
204 | take ebony
205 | take pyramid
206 | take appendage
207 | take axe
208 | # Don't take trident now or pirate will snatch it on next move.
209 | nw
210 | look
211 | listen
212 | w
213 | take bottle
214 | take trident
215 | nw
216 | s
217 | take vase
218 | se
219 | e
220 | take pillow
221 | w
222 | ne
223 | e
224 | n
225 | open clam
226 | s
227 | u
228 | e
229 | u
230 | n
231 | off
232 | plugh
233 | drop pillow
234 | drop vase
235 | drop trident
236 | drop bottle
237 | plugh
238 | on
239 |
--------------------------------------------------------------------------------
/tests/pitfall.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 780351908
11 |
12 | Seed set to 780351908
13 |
14 | You're in front of building.
15 |
16 | > enter building
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > xyzzy
29 |
30 | >>Foof!<<
31 |
32 | It is now pitch dark. If you proceed you will likely fall into a pit.
33 |
34 | > s
35 |
36 | There is no way to go that direction.
37 |
38 | You fell into a pit and broke every bone in your body!
39 |
40 | Oh dear, you seem to have gotten yourself killed. I might be able to
41 | help you out, but I've never really done this before. Do you want me
42 | to try to reincarnate you?
43 |
44 | > y
45 |
46 | All right. But don't blame me if something goes wr......
47 | --- POOF!! ---
48 | You are engulfed in a cloud of orange smoke. Coughing and gasping,
49 | you emerge from the smoke and find....
50 |
51 | You're inside building.
52 |
53 | There are some keys on the ground here.
54 |
55 | There is a shiny brass lamp nearby.
56 |
57 | There is food here.
58 |
59 | There is a bottle of water here.
60 |
61 | > xyzzy
62 |
63 | >>Foof!<<
64 |
65 | It is now pitch dark. If you proceed you will likely fall into a pit.
66 |
67 | > n
68 |
69 | There is no way to go that direction.
70 |
71 | You fell into a pit and broke every bone in your body!
72 |
73 | You clumsy oaf, you've done it again! I don't know how long I can
74 | keep this up. Do you want me to try reincarnating you again?
75 |
76 | > y
77 |
78 | Okay, now where did I put my orange smoke?.... >POOF!<
79 | Everything disappears in a dense cloud of orange smoke.
80 |
81 | You're inside building.
82 |
83 | There are some keys on the ground here.
84 |
85 | There is a shiny brass lamp nearby.
86 |
87 | There is food here.
88 |
89 | There is a bottle of water here.
90 |
91 | > xyzzy
92 |
93 | >>Foof!<<
94 |
95 | It is now pitch dark. If you proceed you will likely fall into a pit.
96 |
97 | > w
98 |
99 | You fell into a pit and broke every bone in your body!
100 |
101 | Now you've really done it! I'm out of orange smoke! You don't expect
102 | me to do a decent reincarnation without any orange smoke, do you?
103 |
104 | > y
105 |
106 | Okay, if you're so smart, do it yourself! I'm leaving!
107 |
108 | You scored 6 out of a possible 430, using 7 turns.
109 |
110 | You are obviously a rank amateur. Better luck next time.
111 |
112 | To achieve the next higher rating, you need 40 more points.
113 |
--------------------------------------------------------------------------------
/tests/hint_jade.log:
--------------------------------------------------------------------------------
1 | ## Elicit hint for getting the jade (fuzzed)
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | d
19 | d
20 | free bird
21 | w
22 | e
23 | s
24 | n
25 | u
26 | s
27 | n
28 | d
29 | n
30 | n
31 | plugh
32 | extin
33 | plugh
34 | on
35 | s
36 | s
37 | sw
38 | take axe
39 | w
40 | kill drago
41 | y
42 | take rug
43 | e
44 | e
45 | u
46 | d
47 | n
48 | n
49 | off
50 | plugh
51 | drop rug
52 | out
53 | s
54 | w
55 | n
56 | take appen
57 | drop cage
58 | s
59 | s
60 | n
61 | in
62 | take water
63 | plugh
64 | on
65 | plove
66 | ne
67 | s
68 | plove
69 | s
70 | s
71 | u
72 | w
73 | wave rod
74 | drop rod
75 | west
76 | w
77 | w
78 | w
79 | s
80 | sw
81 | se
82 | s
83 | kill machi
84 | s
85 | s
86 | kill ogre
87 | n
88 | s
89 | w
90 | n
91 | n
92 | n
93 | nw
94 | d
95 | e
96 | e
97 | e
98 | e
99 | e
100 | throw axe
101 | take axe
102 | n
103 | n
104 | n
105 | off
106 | plugh
107 | plugh
108 | on
109 | s
110 | s
111 | u
112 | n
113 | n
114 | d
115 | bedqu
116 | throw axe
117 | take
118 | slab
119 | s
120 | d
121 | water plant
122 | u
123 | w
124 | u
125 | reser
126 | H'CFL
127 | n
128 | n
129 | nw
130 | u
131 | u
132 | u
133 | u
134 | ne
135 | sw
136 | d
137 | d
138 | d
139 | d
140 | d
141 | take water
142 | s
143 | s
144 | s
145 | s
146 | d
147 | s
148 | d
149 | water plant
150 | u
151 | drop appen
152 | e
153 | d
154 | g oil
155 | u
156 | w
157 | d
158 | climb
159 | w
160 | n
161 | oil door
162 | drop bottl
163 | n
164 | take tride
165 | w
166 | d
167 | se
168 | n
169 | w
170 | drop tride
171 | drop axe
172 | drop lante
173 | e
174 | take emera
175 | w
176 | take lamp
177 | take axe
178 | take tride
179 | nw
180 | s
181 | se
182 | throw axe
183 | e
184 | w
185 | ne
186 | e
187 | n
188 | open
189 | s
190 | u
191 | e
192 | u
193 | n
194 | off
195 | plugh
196 | take key
197 | take food
198 | plugh
199 | on
200 | s
201 | d
202 | w
203 | d
204 | n
205 | d
206 | d
207 | u
208 | u
209 | s
210 | w
211 | w
212 | w
213 | w
214 | d
215 | climb
216 | w
217 | g
218 | n
219 | take bottl
220 | n
221 | w
222 | d
223 | sw
224 | u
225 | toss egg
226 | ne
227 | barre
228 | in
229 | feed bear
230 | unloc
231 | take bear
232 | fork
233 | # next 4 lines are for coverage of LOC_LIMESTONE
234 | d
235 | fork
236 | d
237 | fork
238 | ne
239 | e
240 | fork
241 | w
242 | w
243 | sw
244 | free bear
245 | sw
246 | sw
247 | d
248 | se
249 | se
250 | w
251 | d
252 | g oil
253 | u
254 | w
255 | w
256 | u
257 | s
258 | e
259 | e
260 | n
261 | n
262 | plugh
263 | take
264 | out
265 | w
266 | n
267 | n
268 | n
269 | fill urn
270 | light
271 | rub urn
272 | take amber
273 | drop rug
274 | drop emera
275 | fly
276 | fly
277 | e
278 | s
279 | e
280 | e
281 | in
282 | plugh
283 | s
284 | s
285 | u
286 | w
287 | w
288 | w
289 | s
290 | e
291 | s
292 | s
293 | s
294 | n
295 | e
296 | e
297 | nw
298 | se
299 | n
300 | d
301 | w
302 | d
303 | y
304 | y
305 |
--------------------------------------------------------------------------------
/tests/pirate_spotted.log:
--------------------------------------------------------------------------------
1 | ## Spot pirate to manifest chest before last treasure (fuzzed)
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | drop rod
21 | take bird
22 | take rod
23 | d
24 | d
25 | free bird
26 | w
27 | e
28 | s
29 | take n
30 | u
31 | s
32 | n
33 | d
34 | n
35 | n
36 | plugh
37 | extin
38 | plugh
39 | on
40 | s
41 | s
42 | sw
43 | take
44 | w
45 | kill drago
46 | y
47 | take rug
48 | e
49 | e
50 | u
51 | d
52 | n
53 | n
54 | off
55 | plugh
56 | drop rug
57 | out
58 | s
59 | w
60 | n
61 | take appen
62 | drop cage
63 | s
64 | s
65 | n
66 | in
67 | take water
68 | plugh
69 | on
70 | plove
71 | ne
72 | s
73 | plove
74 | s
75 | s
76 | u
77 | w
78 | wave rod
79 | drop rod
80 | west
81 | w
82 | w
83 | w
84 | s
85 | sw
86 | se
87 | s
88 | kill machi
89 | s
90 | s
91 | kill ogre
92 | n
93 | s
94 | w
95 | n
96 | n
97 | n
98 | nw
99 | d
100 | e
101 | e
102 | e
103 | e
104 | e
105 | throw axe
106 | take axe
107 | n
108 | n
109 | n
110 | off
111 | plugh
112 | plugh
113 | on
114 | s
115 | s
116 | u
117 | n
118 | n
119 | d
120 | bedqu
121 | throw axe
122 | take
123 | slab
124 | s
125 | d
126 | water plant
127 | u
128 | w
129 | u
130 | reser
131 | H'CFL
132 | n
133 | n
134 | nw
135 | u
136 | u
137 | u
138 | u
139 | ne
140 | sw
141 | d
142 | d
143 | d
144 | d
145 | d
146 | take water
147 | s
148 | s
149 | s
150 | s
151 | d
152 | s
153 | d
154 | water plant
155 | u
156 | drop appen
157 | e
158 | d
159 | g oil
160 | u
161 | w
162 | d
163 | climb
164 | w
165 | n
166 | oil door
167 | drop bottl
168 | n
169 | take tride
170 | w
171 | d
172 | se
173 | n
174 | w
175 | drop tride
176 | drop axe
177 | drop lante
178 | e
179 | take emera
180 | w
181 | take lamp
182 | take axe
183 | take tride
184 | nw
185 | s
186 | se
187 | throw axe
188 | e
189 | w
190 | ne
191 | e
192 | n
193 | open clam
194 | s
195 | u
196 | e
197 | u
198 | n
199 | off
200 | plugh
201 | drop tride
202 | take key
203 | take food
204 | plugh
205 | on
206 | s
207 | d
208 | w
209 | d
210 | n
211 | d
212 | d
213 | u
214 | u
215 | s
216 | w
217 | w
218 | w
219 | w
220 | d
221 | climb
222 | w
223 | g
224 | n
225 | take bottl
226 | n
227 | w
228 | d
229 | sw
230 | u
231 | toss egg
232 | ne
233 | barre
234 | in
235 | feed bear
236 | unloc
237 | take bear
238 | fork
239 | ne
240 | e
241 | fork
242 | w
243 | w
244 | sw
245 | free bear
246 | sw
247 | sw
248 | d
249 | se
250 | se
251 | w
252 | d
253 | g oil
254 | u
255 | e
256 | w
257 | w
258 | d
259 | climb
260 | w
261 | s
262 | d
263 | u
264 | w
265 | u
266 | s
267 | e
268 | e
269 | n
270 | n
271 | off
272 | plugh
273 | take rug
274 | out
275 | w
276 | n
277 | n
278 | n
279 | fill urn
280 | light urn
281 | rub urn
282 | take amber
283 | drop rug
284 | drop emera
285 | fly
286 | fly
287 | e
288 | s
289 | e
290 | e
291 | in
292 | drop amber
293 | look
294 | plugh
295 | on
296 | s
297 | w
298 | s
299 | e
300 |
--------------------------------------------------------------------------------
/tests/axebear.log:
--------------------------------------------------------------------------------
1 | ## Observe axe after throwing at bear
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | take necklace
21 | drop rod
22 | take bird
23 | take rod
24 | d
25 | d
26 | free bird
27 | drop rod
28 | drop cage
29 | take cage
30 | take bird
31 | w
32 | take coins
33 | e
34 | s
35 | take jewelry
36 | n
37 | up
38 | s
39 | take gold
40 | n
41 | d
42 | n
43 | n
44 | plugh
45 | extinguish lamp
46 | drop coins
47 | drop jewelry
48 | drop necklace
49 | drop gold
50 | plugh
51 | on
52 | s
53 | take silver
54 | s
55 | sw
56 | take axe
57 | w
58 | kill dragon
59 | yes
60 | drink blood
61 | take rug
62 | e
63 | e
64 | up
65 | d
66 | n
67 | n
68 | off
69 | plugh
70 | inven
71 | drop rug
72 | drop silver
73 | out
74 | s
75 | w
76 | n
77 | take appendage
78 | free bird
79 | drop cage
80 | listen
81 | s
82 | s
83 | n
84 | in
85 | take water
86 | plugh
87 | on
88 | plover
89 | ne
90 | take pyramid
91 | s
92 | plover
93 | s
94 | s
95 | take rod
96 | up
97 | w
98 | wave rod
99 | drop rod
100 | west
101 | take diamonds
102 | w
103 | w
104 | w
105 | s
106 | sw
107 | se
108 | s
109 | kill machine
110 | s
111 | s
112 | kill ogre
113 | n
114 | take ruby
115 | s
116 | w
117 | n
118 | n
119 | n
120 | nw
121 | d
122 | e
123 | e
124 | e
125 | e
126 | e
127 | throw axe
128 | take axe
129 | n
130 | n
131 | n
132 | off
133 | plugh
134 | drop ruby
135 | drop diamonds
136 | drop pyramid
137 | plugh
138 | on
139 | s
140 | s
141 | u
142 | n
143 | n
144 | d
145 | bedquilt
146 | throw axe
147 | take axe
148 | slab
149 | s
150 | d
151 | water plant
152 | u
153 | eat plant
154 | w
155 | u
156 | reservoir
157 | H'CFL
158 | n
159 | n
160 | nw
161 | u
162 | u
163 | u
164 | u
165 | ne
166 | take ebony
167 | sw
168 | d
169 | d
170 | d
171 | d
172 | d
173 | take water
174 | s
175 | s
176 | s
177 | s
178 | d
179 | s
180 | d
181 | water plant
182 | eat plant
183 | u
184 | drop appendage
185 | e
186 | d
187 | get oil
188 |
189 | u
190 | w
191 | d
192 | climb
193 | w
194 | n
195 | oil door
196 | drop bottle
197 | n
198 | take trident
199 | w
200 | d
201 | se
202 | n
203 | w
204 | drop trident
205 | drop ebony
206 | drop axe
207 | drop lantern
208 | e
209 | take emerald
210 | w
211 | take lamp
212 | take axe
213 | take ebony
214 | take trident
215 | nw
216 | s
217 | take vase
218 | se
219 | throw axe
220 | take axe
221 | e
222 | take pillow
223 | w
224 | ne
225 | e
226 | n
227 | open clam
228 | s
229 | u
230 | e
231 | u
232 | n
233 | off
234 | plugh
235 | drop pillow
236 | drop vase
237 | drop trident
238 | drop emerald
239 | drop ebony
240 | take keys
241 | take food
242 | plugh
243 | on
244 | s
245 | d
246 | w
247 | d
248 | n
249 | d
250 | d
251 | take pearl
252 | u
253 | u
254 | s
255 | w
256 | w
257 | w
258 | w
259 | d
260 | climb
261 | w
262 | get eggs
263 | n
264 | take bottle
265 | n
266 | w
267 | d
268 | sw
269 | u
270 | toss eggs
271 | ne
272 | ne
273 | barren
274 | in
275 | throw axe
276 | look
277 |
--------------------------------------------------------------------------------
/templates/coverage_dungeon.html.tpl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Coverage - adventure.yaml
6 |
7 |
23 |
24 |
25 |
81 |
82 |
83 |
84 |
--------------------------------------------------------------------------------
/advent.adoc:
--------------------------------------------------------------------------------
1 | = advent(6) =
2 | :doctype: manpage
3 |
4 | == NAME ==
5 | advent - Colossal Cave Adventure
6 |
7 | == SYNOPSIS ==
8 | *advent* [-l logfile] [-o] [-r savefile] [-s]
9 |
10 | == DESCRIPTION ==
11 | The original Colossal Cave Adventure from 1976-77 was the origin of all
12 | later text adventures, dungeon-crawl (computer) games, and computer-hosted
13 | roleplaying games.
14 |
15 | This is the last version released by Crowther & Woods, its original
16 | authors, in 1995. It has been known as "adventure 2.5" and "430-point
17 | adventure". To learn more about the changes since the 350-point
18 | original, type 'news' at the command prompt.
19 |
20 | There is an 'adventure' in the BSD games package that is a C port by
21 | Jim Gillogly of the 1976 ancestor of this game. To avoid a name
22 | collision, this game builds as 'advent', reflecting the fact that the
23 | PDP-10 on which the game originally ran limited filenames to 6 characters.
24 |
25 | This version is released as open source with the permission and
26 | encouragement of the original authors.
27 |
28 | Unlike the original, this version supports use of your arrow keys to edit
29 | your command line in place. Basic Emacs keystrokes are supported, and
30 | your up/down arrows access a command history.
31 |
32 | Otherwise, the "version" command is about the only way to tell you're not
33 | running Don's original.
34 |
35 | To exit the game, type Ctrl-D (EOF).
36 |
37 | There have been no gameplay changes.
38 |
39 | == OPTIONS ==
40 |
41 | -l:: Log commands to specified file.
42 |
43 | -r:: Restore game from specified file
44 |
45 | -o:: Old-style. Restores original interface, no prompt or line editing.
46 | Also ignores new-school one-letter commands l, x, g, z, i. Also
47 | case-smashes and truncates unrecognized text when echoed.
48 |
49 | == BUGS ==
50 |
51 | The binary save file format is fragile, dependent on your machine word
52 | size and endianness, and unlikely to survive through version bumps. There
53 | is a version check.
54 |
55 | The input parser was the first attempt *ever* at natural-language
56 | parsing in a game and has some known deficiencies. While later text
57 | adventures distinguished between transitive and intransitive verbs,
58 | Adventure's grammar distinguishes only between motion and action
59 | verbs. Motions are always immediate in their behavior, so both ACTION
60 | MOTION and MOTION ACTION (and even MOTION NOUN and MOTION MOTION) are
61 | invariably equivalent to MOTION (thus GO NORTH means NORTH and JUMP
62 | DOWN means JUMP). Whereas, with actions and nouns, the parser collects
63 | words until it's seen one of each, and then dispatches; if it reaches
64 | the end of the command without seeing a noun, it'll dispatch an
65 | "intransitive" action. This makes ACTION1 ACTION2 equivalent to
66 | ACTION2 (thus TAKE INVENTORY means INVENTORY), and NOUN ACTION
67 | equivalent to ACTION NOUN.
68 |
69 | Thus you get anomalies like "eat building" interpreted as a command
70 | to move to the building. These should not be reported as bugs; instead,
71 | consider them historical curiosities.
72 |
73 | == REPORTING BUGS ==
74 | Report bugs to Eric S. Raymond . The project page is
75 | at http://catb.org/~esr/open-adventure
76 |
77 | == SEE ALSO ==
78 | wumpus(6), adventure(6), zork(6), rogue(6), nethack(6).
79 |
--------------------------------------------------------------------------------
/cheat.c:
--------------------------------------------------------------------------------
1 | /*
2 | * 'cheat' is a tool for generating save game files to test states that ought
3 | * not happen. It leverages chunks of advent, mostly initialize() and
4 | * savefile(), so we know we're always outputing save files that advent
5 | * can import.
6 | *
7 | * Copyright (c) 1977, 2005 by Will Crowther and Don Woods
8 | * Copyright (c) 2017 by Eric S. Raymond
9 | * SPDX-License-Identifier: BSD-2-clause
10 | */
11 | #include
12 | #include
13 | #include
14 | #include
15 | #include "advent.h"
16 |
17 | int main(int argc, char *argv[])
18 | {
19 | int ch;
20 | char *savefilename = NULL;
21 | int version = 0;
22 | FILE *fp = NULL;
23 | /* Options. */
24 | const char* opts = "d:l:s:t:v:o:";
25 | const char* usage = "Usage: %s [-d numdie] [-s numsaves] [-v version] -o savefilename \n"
26 | " -d number of deaths. Signed integer.\n"
27 | " -l lifetime of lamp in turns. Signed integer.\n"
28 | " -s number of saves. Signed integer.\n"
29 | " -t number of turns. Signed integer.\n"
30 | " -v version number of save format.\n"
31 | " -o required. File name of save game to write.\n";
32 |
33 | // Initialize game variables
34 | initialise();
35 |
36 | /* we're generating a saved game, so saved once by default,
37 | * unless overridden with command-line options below.
38 | */
39 | game.saved = 1;
40 |
41 | while ((ch = getopt(argc, argv, opts)) != EOF) {
42 | switch (ch) {
43 | case 'd':
44 | game.numdie = (turn_t)atoi(optarg);
45 | printf("cheat: game.numdie = %d\n", game.numdie);
46 | break;
47 | case 'l':
48 | game.limit = (turn_t)atoi(optarg);
49 | printf("cheat: game.limit = %d\n", game.limit);
50 | break;
51 | case 's':
52 | game.saved = (int)atoi(optarg);
53 | printf("cheat: game.saved = %d\n", game.saved);
54 | break;
55 | case 't':
56 | game.turns = (turn_t)atoi(optarg);
57 | printf("cheat: game.turns = %d\n", game.turns);
58 | break;
59 | case 'v':
60 | version = atoi(optarg);
61 | printf("cheat: version = %d\n", version);
62 | break;
63 | case 'o':
64 | savefilename = optarg;
65 | break;
66 | default:
67 | fprintf(stderr,
68 | usage, argv[0]);
69 | exit(EXIT_FAILURE);
70 | break;
71 | }
72 | }
73 |
74 | // Save filename required; the point of cheat is to generate save file
75 | if (savefilename == NULL) {
76 | fprintf(stderr,
77 | usage, argv[0]);
78 | fprintf(stderr,
79 | "ERROR: filename required\n");
80 | exit(EXIT_FAILURE);
81 | }
82 |
83 | fp = fopen(savefilename, WRITE_MODE);
84 | if (fp == NULL) {
85 | fprintf(stderr,
86 | "Can't open file %s. Exiting.\n", savefilename);
87 | exit(EXIT_FAILURE);
88 | }
89 |
90 | savefile(fp, version);
91 |
92 | fclose(fp);
93 |
94 | printf("cheat: %s created.\n", savefilename);
95 |
96 | return EXIT_SUCCESS;
97 | }
98 |
--------------------------------------------------------------------------------
/tests/fillvase.log:
--------------------------------------------------------------------------------
1 | ## Fill the vase
2 | # Arthur O'Dwyer writes:
3 | #
4 | # (4) Lastly, here's a test case for you! Go get the VASE; then get the
5 | # PILLOW; then go back to the stream (any stream) and DROP PILLOW; then FILL
6 | # VASE. What should happen? This is a trick question, because literally every
7 | # historical version of Adventure has *some* bug here. They duplicate
8 | # messages (MCDO0551), or the vase shatters and then shows up re-formed but
9 | # immobile (WOOD0350, WOOD0430), or the vase shows up shattered but still in
10 | # your inventory (KNUT0350), or... So you get to pick your behavior! From the
11 | # code, I think you're faithfully emulating WOOD0430's bug.
12 | #
13 | # Turns out we fixed this, perhaps inadvertently.
14 | #
15 | n
16 | seed 1838473132
17 | in
18 | take lamp
19 | xyzzy
20 | on
21 | take rod
22 | e
23 | take cage
24 | w
25 | w
26 | w
27 | drop rod
28 | take bird
29 | take rod
30 | w
31 | free bird
32 | wave rod
33 | take necklace
34 | drop rod
35 | take bird
36 | take rod
37 | d
38 | d
39 | free bird
40 | drop rod
41 | drop cage
42 | take cage
43 | take bird
44 | w
45 | take coins
46 | e
47 | s
48 | take jewelry
49 | n
50 | up
51 | s
52 | take gold
53 | n
54 | d
55 | n
56 | n
57 | plugh
58 | extinguish lamp
59 | drop coins
60 | drop jewelry
61 | drop necklace
62 | drop gold
63 | plugh
64 | on
65 | s
66 | take silver
67 | s
68 | sw
69 | take axe
70 | w
71 | kill dragon
72 | yes
73 | drink blood
74 | take rug
75 | e
76 | e
77 | up
78 | d
79 | n
80 | n
81 | off
82 | plugh
83 | inven
84 | drop rug
85 | drop silver
86 | out
87 | s
88 | w
89 | n
90 | take appendage
91 | free bird
92 | drop cage
93 | listen
94 | s
95 | s
96 | n
97 | in
98 | take water
99 | plugh
100 | on
101 | plover
102 | ne
103 | take pyramid
104 | s
105 | plover
106 | s
107 | s
108 | take rod
109 | up
110 | w
111 | wave rod
112 | drop rod
113 | west
114 | take diamonds
115 | w
116 | w
117 | w
118 | s
119 | sw
120 | se
121 | s
122 | kill machine
123 | s
124 | s
125 | kill ogre
126 | n
127 | take ruby
128 | s
129 | w
130 | n
131 | n
132 | n
133 | nw
134 | d
135 | e
136 | e
137 | e
138 | e
139 | e
140 | throw axe
141 | take axe
142 | n
143 | n
144 | n
145 | off
146 | plugh
147 | drop ruby
148 | drop diamonds
149 | drop pyramid
150 | plugh
151 | on
152 | s
153 | s
154 | u
155 | n
156 | n
157 | d
158 | bedquilt
159 | throw axe
160 | take axe
161 | slab
162 | s
163 | d
164 | water plant
165 | u
166 | w
167 | u
168 | reservoir
169 | H'CFL
170 | n
171 | n
172 | nw
173 | u
174 | u
175 | u
176 | u
177 | ne
178 | take ebony
179 | sw
180 | d
181 | d
182 | d
183 | d
184 | d
185 | take water
186 | s
187 | s
188 | s
189 | s
190 | d
191 | s
192 | d
193 | water plant
194 | u
195 | drop appendage
196 | e
197 | d
198 | get oil
199 |
200 | u
201 | w
202 | d
203 | climb
204 | w
205 | n
206 | oil door
207 | drop bottle
208 | n
209 | take trident
210 | w
211 | d
212 | se
213 | n
214 | w
215 | drop trident
216 | drop ebony
217 | drop axe
218 | drop lantern
219 | e
220 | take emerald
221 | w
222 | take lamp
223 | take axe
224 | take ebony
225 | take trident
226 | nw
227 | s
228 | take vase
229 | # Inserted
230 | fill vase
231 | se
232 | throw axe
233 | take axe
234 | e
235 | take pillow
236 | w
237 | drop axe
238 | ne
239 | e
240 | n
241 | open clam
242 | s
243 | u
244 | e
245 | u
246 | n
247 | off
248 | plugh
249 | out
250 | # Everything not marked 'Inserted' above this from endgame428
251 | inven
252 | stream
253 | drop pillow
254 | drop vase
255 | fill vase
256 | carry vase
257 | read vase
258 | fill vase
259 | inven
260 | look
261 | take vase
262 |
--------------------------------------------------------------------------------
/tests/dropcagedbird.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1495951709
11 |
12 | Seed set to 1495951709
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > take lamp
29 |
30 | OK
31 |
32 | > on
33 |
34 | Your lamp is now on.
35 |
36 | > xyzzy
37 |
38 | >>Foof!<<
39 |
40 | You are in a debris room filled with stuff washed in from the surface.
41 | A low wide passage with cobbles becomes plugged with mud and debris
42 | here, but an awkward canyon leads upward and west. In the mud someone
43 | has scrawled, "MAGIC WORD XYZZY".
44 |
45 | A three foot black rod with a rusty star on an end lies nearby.
46 |
47 | > take rod
48 |
49 | OK
50 |
51 | > e
52 |
53 | You are crawling over cobbles in a low passage. There is a dim light
54 | at the east end of the passage.
55 |
56 | There is a small wicker cage discarded nearby.
57 |
58 | > take cage
59 |
60 | OK
61 |
62 | > w
63 |
64 | You're in debris room.
65 |
66 | > w
67 |
68 | You are in an awkward sloping east/west canyon.
69 |
70 | > w
71 |
72 | You are in a splendid chamber thirty feet high. The walls are frozen
73 | rivers of orange stone. An awkward canyon and a good passage exit
74 | from east and west sides of the chamber.
75 |
76 | A cheerful little bird is sitting here singing.
77 |
78 | > wave rod
79 |
80 | The bird flies about agitatedly for a moment.
81 |
82 | > take bird
83 |
84 | The bird seemed unafraid at first, but as you approach it becomes
85 | disturbed and you cannot catch it.
86 |
87 | > drop rod
88 |
89 | OK
90 |
91 | > take bird
92 |
93 | OK
94 |
95 | > take rod
96 |
97 | OK
98 |
99 | > w
100 |
101 | At your feet is a small pit breathing traces of white mist. An east
102 | passage ends here except for a small crack leading on.
103 |
104 | Rough stone steps lead down the pit.
105 |
106 | > free bird
107 |
108 | OK
109 |
110 | > wave rod
111 |
112 | The bird flies about agitatedly for a moment, then disappears through
113 | the crack. It reappears shortly, carrying in its beak a jade
114 | necklace, which it drops at your feet.
115 |
116 | > take jade
117 |
118 | OK
119 |
120 | > drop rod
121 |
122 | OK
123 |
124 | > take bird
125 |
126 | OK
127 |
128 | > drop cage
129 |
130 | OK
131 |
132 | > d
133 |
134 | You are at one end of a vast hall stretching forward out of sight to
135 | the west. There are openings to either side. Nearby, a wide stone
136 | staircase leads downward. The hall is filled with wisps of white mist
137 | swaying to and fro almost as if alive. A cold wind blows up the
138 | staircase. There is a passage at the top of a dome behind you.
139 |
140 | Rough stone steps lead up the dome.
141 |
142 | > d
143 |
144 | You are in the Hall of the Mountain King, with passages off in all
145 | directions.
146 |
147 | A huge green fierce snake bars the way!
148 |
149 | > feed snake
150 |
151 | There's nothing here it wants to eat (except perhaps you).
152 |
153 |
154 | You scored 59 out of a possible 430, using 25 turns.
155 |
156 | Your score qualifies you as a novice class adventurer.
157 |
158 | To achieve the next higher rating, you need 62 more points.
159 |
--------------------------------------------------------------------------------
/tests/urntest3.log:
--------------------------------------------------------------------------------
1 | ## Test filling urn twice. Also, try to lock door after oiling it.
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | take necklace
21 | drop rod
22 | take bird
23 | take rod
24 | d
25 | d
26 | free bird
27 | drop rod
28 | drop cage
29 | take cage
30 | take bird
31 | w
32 | take coins
33 | e
34 | s
35 | take jewelry
36 | n
37 | up
38 | s
39 | take gold
40 | n
41 | d
42 | n
43 | n
44 | plugh
45 | extinguish lamp
46 | drop coins
47 | drop jewelry
48 | drop necklace
49 | drop gold
50 | plugh
51 | on
52 | s
53 | take silver
54 | s
55 | sw
56 | take axe
57 | w
58 | kill dragon
59 | yes
60 | drink blood
61 | take rug
62 | e
63 | e
64 | up
65 | d
66 | n
67 | n
68 | off
69 | plugh
70 | inven
71 | drop rug
72 | drop silver
73 | out
74 | s
75 | w
76 | n
77 | take appendage
78 | free bird
79 | drop cage
80 | listen
81 | s
82 | s
83 | n
84 | in
85 | take water
86 | plugh
87 | on
88 | plover
89 | ne
90 | take pyramid
91 | s
92 | plover
93 | s
94 | s
95 | take rod
96 | up
97 | w
98 | wave rod
99 | drop rod
100 | west
101 | take diamonds
102 | w
103 | w
104 | w
105 | s
106 | sw
107 | se
108 | s
109 | kill machine
110 | s
111 | s
112 | kill ogre
113 | n
114 | take ruby
115 | s
116 | w
117 | n
118 | n
119 | n
120 | nw
121 | d
122 | e
123 | e
124 | e
125 | e
126 | e
127 | throw axe
128 | take axe
129 | n
130 | n
131 | n
132 | off
133 | plugh
134 | drop ruby
135 | drop diamonds
136 | drop pyramid
137 | plugh
138 | on
139 | s
140 | s
141 | u
142 | n
143 | n
144 | d
145 | bedquilt
146 | throw axe
147 | take axe
148 | slab
149 | s
150 | d
151 | water plant
152 | drink plant
153 | u
154 | w
155 | u
156 | reservoir
157 | H'CFL
158 | n
159 | n
160 | nw
161 | u
162 | u
163 | u
164 | u
165 | ne
166 | take ebony
167 | sw
168 | d
169 | d
170 | d
171 | d
172 | d
173 | take water
174 | s
175 | s
176 | s
177 | s
178 | d
179 | s
180 | d
181 | water plant
182 | oil plant
183 | u
184 | drop appendage
185 | e
186 | d
187 | get oil
188 | u
189 | w
190 | d
191 | climb
192 | w
193 | n
194 | oil door
195 | lock door
196 | unlock door
197 | drop bottle
198 | n
199 | take trident
200 | w
201 | d
202 | se
203 | n
204 | w
205 | drop trident
206 | drop ebony
207 | drop axe
208 | drop lantern
209 | e
210 | take emerald
211 | w
212 | take lamp
213 | take axe
214 | take ebony
215 | take trident
216 | nw
217 | s
218 | take vase
219 | se
220 | throw axe
221 | take axe
222 | e
223 | take pillow
224 | w
225 | drop axe
226 | ne
227 | e
228 | n
229 | open clam
230 | s
231 | u
232 | e
233 | u
234 | n
235 | off
236 | plugh
237 | drop pillow
238 | drop vase
239 | drop trident
240 | drop emerald
241 | drop ebony
242 | take keys
243 | take food
244 | plugh
245 | on
246 | s
247 | d
248 | w
249 | d
250 | n
251 | d
252 | d
253 | take pearl
254 | u
255 | u
256 | s
257 | w
258 | w
259 | w
260 | w
261 | d
262 | climb
263 | w
264 | get eggs
265 | n
266 | take bottle
267 | n
268 | w
269 | d
270 | sw
271 | u
272 | toss eggs
273 | ne
274 | ne
275 | barren
276 | in
277 | feed bear
278 | unlock chain
279 | take chain
280 | take bear
281 | fork
282 | ne
283 | e
284 | take spices
285 | drop keys
286 | fork
287 | w
288 | w
289 | sw
290 | free bear
291 | inven
292 | sw
293 | sw
294 | d
295 | se
296 | se
297 | w
298 | d
299 | up
300 | e
301 | take axe
302 | w
303 | w
304 | d
305 | climb
306 | w
307 | fee
308 | fie
309 | foe
310 | foe
311 | # intentionally mess up above
312 | fee
313 | fie
314 | foe
315 | foo
316 | take eggs
317 | s
318 | d
319 | u
320 | w
321 | u
322 | s
323 | e
324 | e
325 | n
326 | n
327 | off
328 | plugh
329 | drop eggs
330 | drop pearl
331 | drop spices
332 | drop chain
333 | take rug
334 | take ruby
335 | take emerald
336 | fill bottle
337 | out
338 | w
339 | n
340 | n
341 | n
342 | fill urn
343 | fill urn
344 | s
345 | fill bottle
346 |
--------------------------------------------------------------------------------
/tests/lockchain.log:
--------------------------------------------------------------------------------
1 | ## Test multiple re-locking and unlocking of bear's chain
2 | # Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
3 | n
4 | seed 1635997320
5 | in
6 | take lamp
7 | xyzzy
8 | take rod
9 | e
10 | lock cage
11 | take cage
12 | w
13 | on
14 | w
15 | w
16 | drop rod
17 | take bird
18 | take rod
19 | w
20 | free bird
21 | wave rod
22 | drop rod
23 | take bird
24 | take jade
25 | e
26 | e
27 | e
28 | off
29 | xyzzy
30 | drop jade
31 | xyzzy
32 | on
33 | w
34 | w
35 | w
36 | take rod
37 | d
38 | w
39 | wave rod
40 | drop rod
41 | e
42 | n
43 | free bird
44 | take bird
45 | s
46 | take jewelry
47 | n
48 | sw
49 | w
50 | feed dragon
51 | attack
52 | yes
53 | drink blood
54 | take rug
55 | e
56 | e
57 | n
58 | take silver
59 | n
60 | off
61 | plugh
62 | drop jewelry
63 | drop rug
64 | drop silver
65 | out
66 | s
67 | w
68 | n
69 | take appendage
70 | free bird
71 | drop cage
72 | listen
73 | s
74 | s
75 | n
76 | in
77 | take water
78 | plugh
79 | on
80 | plover
81 | ne
82 | take pyramid
83 | s
84 | plover
85 | s
86 | d
87 | take axe
88 | u
89 | s
90 | up
91 | w
92 | w
93 | w
94 | w
95 | throw axe
96 | take axe
97 | w
98 | s
99 | sw
100 | se
101 | s
102 | kill machine
103 | s
104 | s
105 | attack
106 | kill ogre
107 | n
108 | take ruby
109 | s
110 | w
111 | n
112 | n
113 | n
114 | nw
115 | d
116 | e
117 | e
118 | e
119 | take diamonds
120 | e
121 | e
122 | drop bottle
123 | s
124 | take gold
125 | n
126 | n
127 | n
128 | n
129 | off
130 | plugh
131 | drop gold
132 | drop diamonds
133 | drop pyramid
134 | drop ruby
135 | plugh
136 | on
137 | s
138 | s
139 | u
140 | take water
141 | throw axe
142 | take axe
143 | n
144 | n
145 | d
146 | bedquilt
147 | slab
148 | s
149 | d
150 | water plant
151 | u
152 | w
153 | u
154 | reservoir
155 | F'UNJ
156 | n
157 | n
158 | listen
159 | nw
160 | u
161 | u
162 | u
163 | u
164 | ne
165 | take ebony
166 | sw
167 | d
168 | d
169 | d
170 | d
171 | d
172 | take water
173 | s
174 | s
175 | s
176 | s
177 | d
178 | s
179 | d
180 | water plant
181 | u
182 | e
183 | d
184 | get oil
185 | u
186 | w
187 | d
188 | climb
189 | w
190 | n
191 | oil door
192 | drop bottle
193 | drop appendage
194 | n
195 | take trident
196 | w
197 | d
198 | se
199 | n
200 | w
201 | inven
202 | drop trident
203 | drop ebony
204 | drop axe
205 | drop lantern
206 | e
207 | take emerald
208 | w
209 | take lamp
210 | take axe
211 | take ebony
212 | take trident
213 | nw
214 | s
215 | take vase
216 | se
217 | e
218 | take pillow
219 | w
220 | ne
221 | e
222 | n
223 | lock
224 | open clam
225 | s
226 | u
227 | e
228 | u
229 | s
230 | e
231 | w
232 | w
233 | w
234 | s
235 | e
236 | s
237 | s
238 | s
239 | n
240 | e
241 | e
242 | nw
243 | inven
244 | take vase
245 | take trident
246 | take chest
247 | take emerald
248 | se
249 | n
250 | d
251 | e
252 | e
253 | off
254 | xyzzy
255 | drop chest
256 | drop pillow
257 | drop vase
258 | drop trident
259 | take keys
260 | take food
261 | plugh
262 | on
263 | s
264 | d
265 | w
266 | d
267 | n
268 | d
269 | d
270 | take pearl
271 | u
272 | u
273 | s
274 | w
275 | w
276 | w
277 | w
278 | d
279 | climb
280 | w
281 | get eggs
282 | n
283 | # Test for "Ground wet" message
284 | take bottle
285 | pour bottle
286 | n
287 | w
288 | d
289 | sw
290 | u
291 | attack
292 | feed troll
293 | ne
294 | toss eggs
295 | ne
296 | ne
297 | barren
298 | unlock chain
299 | in
300 | attack bear
301 | throw axe
302 | throw food
303 | attack bear
304 | take chain
305 | unlock chain
306 | unlock chain
307 | # Also tests message from bear in inventory
308 | lock chain
309 | lock chain
310 | attack bear
311 | unlock chain
312 | take bear
313 | inven
314 | take chain
315 | out
316 | lock chain
317 | drop bear
318 | attack bear
319 | back
320 | lock chain
321 | out
322 | drop keys
323 | in
324 | unlock chain
325 | # Now let's go look at the volcano
326 | out
327 | fork
328 | listen
329 | go left
330 | north
331 | listen
332 | extinguish volcano
333 | s
334 | listen
335 | n
336 | jump
337 |
--------------------------------------------------------------------------------
/tests/snake_food.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1951269982
11 |
12 | Seed set to 1951269982
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > get lamp
29 |
30 | OK
31 |
32 | > get keys
33 |
34 | OK
35 |
36 | > out
37 |
38 | You're in front of building.
39 |
40 | > down
41 |
42 | You are in a valley in the forest beside a stream tumbling along a
43 | rocky bed.
44 |
45 | > s
46 |
47 | At your feet all the water of the stream splashes into a 2-inch slit
48 | in the rock. Downstream the streambed is bare rock.
49 |
50 | > s
51 |
52 | You are in a 20-foot depression floored with bare dirt. Set into the
53 | dirt is a strong steel grate mounted in concrete. A dry streambed
54 | leads into the depression.
55 |
56 | The grate is locked.
57 |
58 | > open
59 |
60 | The grate is now unlocked.
61 |
62 | > in
63 |
64 | You are in a small chamber beneath a 3x3 steel grate to the surface.
65 | A low crawl over cobbles leads inward to the west.
66 |
67 | The grate is open.
68 |
69 | > west
70 |
71 | You are crawling over cobbles in a low passage. There is a dim light
72 | at the east end of the passage.
73 |
74 | There is a small wicker cage discarded nearby.
75 |
76 | > get cage
77 |
78 | OK
79 |
80 | > w
81 |
82 | It is now pitch dark. If you proceed you will likely fall into a pit.
83 |
84 | > on
85 |
86 | Your lamp is now on.
87 |
88 | You are in a debris room filled with stuff washed in from the surface.
89 | A low wide passage with cobbles becomes plugged with mud and debris
90 | here, but an awkward canyon leads upward and west. In the mud someone
91 | has scrawled, "MAGIC WORD XYZZY".
92 |
93 | A three foot black rod with a rusty star on an end lies nearby.
94 |
95 | > w
96 |
97 | You are in an awkward sloping east/west canyon.
98 |
99 | > w
100 |
101 | You are in a splendid chamber thirty feet high. The walls are frozen
102 | rivers of orange stone. An awkward canyon and a good passage exit
103 | from east and west sides of the chamber.
104 |
105 | A cheerful little bird is sitting here singing.
106 |
107 | > get bird
108 |
109 | OK
110 |
111 | > w
112 |
113 | At your feet is a small pit breathing traces of white mist. An east
114 | passage ends here except for a small crack leading on.
115 |
116 | Rough stone steps lead down the pit.
117 |
118 | > down
119 |
120 | You are at one end of a vast hall stretching forward out of sight to
121 | the west. There are openings to either side. Nearby, a wide stone
122 | staircase leads downward. The hall is filled with wisps of white mist
123 | swaying to and fro almost as if alive. A cold wind blows up the
124 | staircase. There is a passage at the top of a dome behind you.
125 |
126 | Rough stone steps lead up the dome.
127 |
128 | > down
129 |
130 | You are in the Hall of the Mountain King, with passages off in all
131 | directions.
132 |
133 | A huge green fierce snake bars the way!
134 |
135 | > inventory
136 |
137 | You are currently holding the following:
138 | Set of keys
139 | Brass lantern
140 | Wicker cage
141 | Little bird in cage
142 |
143 | > feed snake
144 |
145 | The snake has now devoured your bird.
146 |
147 | > inventory
148 |
149 | You are currently holding the following:
150 | Set of keys
151 | Brass lantern
152 | Wicker cage
153 |
154 |
155 | You scored 57 out of a possible 430, using 22 turns.
156 |
157 | Your score qualifies you as a novice class adventurer.
158 |
159 | To achieve the next higher rating, you need 64 more points.
160 |
--------------------------------------------------------------------------------
/tests/urntest2.log:
--------------------------------------------------------------------------------
1 | ## Test filling urn when you have no bottle
2 | # Also, try to lock door after oiling it
3 | n
4 | seed 1838473132
5 | in
6 | take lamp
7 | xyzzy
8 | on
9 | take rod
10 | e
11 | take cage
12 | w
13 | w
14 | w
15 | drop rod
16 | take bird
17 | take rod
18 | w
19 | free bird
20 | wave rod
21 | take necklace
22 | drop rod
23 | take bird
24 | take rod
25 | d
26 | d
27 | free bird
28 | drop rod
29 | drop cage
30 | take cage
31 | take bird
32 | w
33 | take coins
34 | e
35 | s
36 | take jewelry
37 | n
38 | up
39 | s
40 | take gold
41 | n
42 | d
43 | n
44 | n
45 | plugh
46 | extinguish lamp
47 | drop coins
48 | drop jewelry
49 | drop necklace
50 | drop gold
51 | plugh
52 | on
53 | s
54 | take silver
55 | s
56 | sw
57 | take axe
58 | w
59 | kill dragon
60 | yes
61 | drink blood
62 | take rug
63 | e
64 | e
65 | up
66 | d
67 | n
68 | n
69 | off
70 | plugh
71 | inven
72 | drop rug
73 | drop silver
74 | out
75 | s
76 | w
77 | n
78 | take appendage
79 | free bird
80 | drop cage
81 | listen
82 | s
83 | s
84 | n
85 | in
86 | take water
87 | plugh
88 | on
89 | plover
90 | ne
91 | take pyramid
92 | s
93 | plover
94 | s
95 | s
96 | take rod
97 | up
98 | w
99 | wave rod
100 | drop rod
101 | west
102 | take diamonds
103 | w
104 | w
105 | w
106 | s
107 | sw
108 | se
109 | s
110 | kill machine
111 | s
112 | s
113 | kill ogre
114 | n
115 | take ruby
116 | s
117 | w
118 | n
119 | n
120 | n
121 | nw
122 | d
123 | e
124 | e
125 | e
126 | e
127 | e
128 | throw axe
129 | take axe
130 | n
131 | n
132 | n
133 | off
134 | plugh
135 | drop ruby
136 | drop diamonds
137 | drop pyramid
138 | plugh
139 | on
140 | s
141 | s
142 | u
143 | n
144 | n
145 | d
146 | bedquilt
147 | throw axe
148 | take axe
149 | slab
150 | s
151 | d
152 | water plant
153 | drink plant
154 | u
155 | w
156 | u
157 | reservoir
158 | H'CFL
159 | n
160 | n
161 | nw
162 | u
163 | u
164 | u
165 | u
166 | ne
167 | take ebony
168 | sw
169 | d
170 | d
171 | d
172 | d
173 | d
174 | take water
175 | s
176 | s
177 | s
178 | s
179 | d
180 | s
181 | d
182 | water plant
183 | oil plant
184 | u
185 | drop appendage
186 | e
187 | d
188 | get oil
189 | u
190 | w
191 | d
192 | climb
193 | w
194 | n
195 | oil door
196 | lock door
197 | unlock door
198 | drop bottle
199 | n
200 | take trident
201 | w
202 | d
203 | se
204 | n
205 | w
206 | drop trident
207 | drop ebony
208 | drop axe
209 | drop lantern
210 | e
211 | take emerald
212 | w
213 | take lamp
214 | take axe
215 | take ebony
216 | take trident
217 | nw
218 | s
219 | take vase
220 | se
221 | throw axe
222 | take axe
223 | e
224 | take pillow
225 | w
226 | drop axe
227 | ne
228 | e
229 | n
230 | open clam
231 | s
232 | u
233 | e
234 | u
235 | n
236 | off
237 | plugh
238 | drop pillow
239 | drop vase
240 | drop trident
241 | drop emerald
242 | drop ebony
243 | take keys
244 | take food
245 | plugh
246 | on
247 | s
248 | d
249 | w
250 | d
251 | n
252 | d
253 | d
254 | take pearl
255 | u
256 | u
257 | s
258 | w
259 | w
260 | w
261 | w
262 | d
263 | climb
264 | w
265 | get eggs
266 | n
267 | take bottle
268 | n
269 | w
270 | d
271 | sw
272 | u
273 | toss eggs
274 | ne
275 | ne
276 | barren
277 | in
278 | feed bear
279 | unlock chain
280 | take chain
281 | take bear
282 | fork
283 | ne
284 | e
285 | take spices
286 | drop keys
287 | fork
288 | w
289 | w
290 | sw
291 | free bear
292 | inven
293 | sw
294 | sw
295 | d
296 | se
297 | se
298 | w
299 | d
300 | get oil
301 | up
302 | e
303 | take axe
304 | w
305 | w
306 | d
307 | climb
308 | w
309 | fee
310 | fie
311 | foe
312 | foe
313 | # intentionally mess up above
314 | fee
315 | fie
316 | foe
317 | foo
318 | take eggs
319 | # say big words again after we take the eggs
320 | fee
321 | fie
322 | foe
323 | foo
324 | s
325 | d
326 | u
327 | w
328 | u
329 | s
330 | e
331 | e
332 | n
333 | n
334 | off
335 | plugh
336 | drop eggs
337 | drop pearl
338 | drop spices
339 | drop chain
340 | take rug
341 | take ruby
342 | take emerald
343 | out
344 | w
345 | n
346 | n
347 | drop bottle
348 | fill something
349 | n
350 | fill urn
351 | extinguish urn
352 |
--------------------------------------------------------------------------------
/tests/gemstates.log:
--------------------------------------------------------------------------------
1 | ## Observe amber, ruby, sapphire after state change
2 | n
3 | seed 1635997320
4 | in
5 | take lamp
6 | xyzzy
7 | take rod
8 | e
9 | take cage
10 | w
11 | on
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | drop rod
21 | take bird
22 | take jade
23 | e
24 | e
25 | e
26 | off
27 | xyzzy
28 | drop jade
29 | xyzzy
30 | on
31 | w
32 | w
33 | w
34 | take rod
35 | d
36 | w
37 | wave rod
38 | drop rod
39 | e
40 | n
41 | free bird
42 | take bird
43 | s
44 | take jewelry
45 | n
46 | sw
47 | w
48 | kill dragon
49 | yes
50 | drink blood
51 | take rug
52 | e
53 | e
54 | n
55 | take silver
56 | n
57 | off
58 | plugh
59 | drop jewelry
60 | drop rug
61 | drop silver
62 | out
63 | s
64 | w
65 | n
66 | take appendage
67 | free bird
68 | drop cage
69 | listen
70 | s
71 | s
72 | n
73 | in
74 | take water
75 | plugh
76 | on
77 | plover
78 | ne
79 | take pyramid
80 | s
81 | plover
82 | s
83 | d
84 | take axe
85 | u
86 | s
87 | up
88 | w
89 | w
90 | w
91 | w
92 | throw axe
93 | take axe
94 | w
95 | s
96 | sw
97 | se
98 | s
99 | kill machine
100 | s
101 | s
102 | kill ogre
103 | n
104 | take ruby
105 | s
106 | w
107 | n
108 | n
109 | n
110 | nw
111 | d
112 | e
113 | e
114 | e
115 | take diamonds
116 | e
117 | e
118 | drop bottle
119 | s
120 | take gold
121 | n
122 | n
123 | n
124 | n
125 | off
126 | plugh
127 | drop gold
128 | drop diamonds
129 | drop pyramid
130 | drop ruby
131 | plugh
132 | on
133 | s
134 | s
135 | u
136 | take water
137 | throw axe
138 | take axe
139 | n
140 | n
141 | d
142 | bedquilt
143 | slab
144 | s
145 | d
146 | water plant
147 | u
148 | w
149 | u
150 | reservoir
151 | F'UNJ
152 | n
153 | n
154 | nw
155 | u
156 | u
157 | u
158 | u
159 | ne
160 | take ebony
161 | sw
162 | d
163 | d
164 | d
165 | d
166 | d
167 | take water
168 | s
169 | s
170 | s
171 | s
172 | d
173 | s
174 | d
175 | water plant
176 | u
177 | e
178 | d
179 | get oil
180 | u
181 | w
182 | d
183 | climb
184 | w
185 | n
186 | oil door
187 | drop bottle
188 | drop appendage
189 | n
190 | take trident
191 | w
192 | d
193 | se
194 | n
195 | w
196 | inven
197 | drop trident
198 | drop ebony
199 | drop axe
200 | drop lantern
201 | e
202 | take emerald
203 | w
204 | take lamp
205 | take axe
206 | take ebony
207 | take trident
208 | nw
209 | s
210 | take vase
211 | se
212 | e
213 | take pillow
214 | w
215 | ne
216 | e
217 | n
218 | open clam
219 | s
220 | u
221 | e
222 | u
223 | s
224 | drop axe
225 | e
226 | w
227 | w
228 | w
229 | s
230 | e
231 | s
232 | s
233 | s
234 | n
235 | e
236 | e
237 | nw
238 | inven
239 | take ebony
240 | take vase
241 | take trident
242 | take chest
243 | take emerald
244 | se
245 | n
246 | d
247 | e
248 | e
249 | off
250 | xyzzy
251 | drop chest
252 | drop ebony
253 | drop pillow
254 | drop vase
255 | drop trident
256 | take keys
257 | take food
258 | plugh
259 | on
260 | s
261 | d
262 | w
263 | d
264 | n
265 | d
266 | d
267 | take pearl
268 | u
269 | u
270 | s
271 | w
272 | w
273 | w
274 | w
275 | d
276 | climb
277 | w
278 | get eggs
279 | n
280 | take bottle
281 | n
282 | w
283 | d
284 | sw
285 | u
286 | toss eggs
287 | ne
288 | ne
289 | barren
290 | in
291 | feed bear
292 | look
293 | take chain
294 | unlock chain
295 | take chain
296 | take bear
297 | fork
298 | ne
299 | e
300 | drop keys
301 | take spices
302 | fork
303 | w
304 | w
305 | sw
306 | free bear
307 | sw
308 | sw
309 | d
310 | se
311 | se
312 | w
313 | d
314 | get oil
315 | up
316 | w
317 | d
318 | climb
319 | w
320 | fee
321 | fie
322 | foe
323 | foo
324 | take eggs
325 | s
326 | d
327 | u
328 | w
329 | u
330 | s
331 | e
332 | e
333 | n
334 | n
335 | off
336 | plugh
337 | drop eggs
338 | drop pearl
339 | drop spices
340 | drop chain
341 | take rug
342 | take ruby
343 | take emerald
344 | out
345 | w
346 | n
347 | n
348 | n
349 | inven
350 | drop bottle
351 | look
352 | take bottle
353 | fill urn
354 | light urn
355 | rub urn
356 | look
357 | take amber
358 | look
359 | drop rug
360 | drop emerald
361 | fly rug
362 | take sapphire
363 | fly rug
364 | take emerald
365 | drop sapphire
366 | look
367 | take sapphire
368 | drop ruby
369 | look
370 |
--------------------------------------------------------------------------------
/calculator.adoc:
--------------------------------------------------------------------------------
1 | = Technical Notes for this Calculator Port =
2 |
3 | This is not the first time I've looked into porting Adventure.
4 | However, for a long time, the various implementations were all based on the original FORTRAN code,
5 | which doesn't make porting a very pleasant experience.
6 | Furthermore, they generally required a large text database that would be difficult to get onto a calculator,
7 | and would be needlessly inefficient space-wise.
8 | Then I found Open Adventure, which completely reworked the text database system into native C arrays.
9 | Not only that, but the code was written in fairly idiomatic C, not machine-translated from Fortran!
10 |
11 | However, given the constraints and conventions of the platform,
12 | it made sense to split the dungeon data back into a separate data file---but this time,
13 | there was a convenient `make_dungeon.py` that could be modified to generate the data file,
14 | instead of trying to write my own code to parse the input data.
15 | Helpfully, ESR wrote a comprehensive test suite to compare his new C code against the original.
16 | This made it easy for me to check that my completely reworked dungeon loader didn't break the game.
17 | Unfortunately, keeping tests working requires some akward `#ifdef`s scattered around the code,
18 | but it's worth it to keep the tests working.
19 |
20 | === The Dungeon File ===
21 |
22 | The decision to move the dungeon into a readable database
23 | and then use a Python program to convert it into a more usable form was extremely helpful.
24 | The `make_dungeon.py` file has been extensively modified so that instead of generating a set
25 | of static C arrays, it instead generates an external file.
26 | This is particularly useful for the calculator, which maps not only RAM into the CPU's address space,
27 | but also maps all of its flash memory, too, allowing unchanging data to be read directly from flash.
28 |
29 | I wrote all of the code that deals with the dungeon file before ever writing any calculator code.
30 | I wanted to verify that the semicompressed dungeon file worked before any actual porting.
31 | The text is compressed with basic Huffman coding,
32 | though most of the space saving actually comes from string deduplication.
33 |
34 | Having a separate dungeon file reduces the program's RAM footprint.
35 | While it would have been possible to keep all the data in the program binary,
36 | it would double the program's RAM footprint, essentially requiring all of user memory to run the program.
37 | Reading the data from the archive makes the program a bit less efficient,
38 | but significantly reduces the RAM footprint, making it more user friendly.
39 |
40 | The accessor routines for reading data out of the arrays have been left it.
41 | They slightly reduce code size, and even though our little eZ80 is encumbered by an atrocious number of wait states,
42 | we still don't need the extra speed.
43 |
44 | === Platform-Specific Code ===
45 |
46 | Open Adventure CE has been extended with quite a bit of platform-specific code,
47 | because the TI-84 Plus CE does not have a native console feature.
48 | (Well, not one I'd want to use, anyway.)
49 |
50 | `calc.c` contains:
51 |
52 | * The main menu
53 | * Resume menu
54 | * Error routines
55 | * File name validation routine
56 | * `safe_malloc()` so as to prevent writing to NULL pointers
57 |
58 | `editor.c` contains:
59 |
60 | * The command history buffer
61 | * The string input routine
62 |
63 | `style.c` contains:
64 |
65 | * The routine for decompressing the splash screen
66 | * Font selection routines
67 | * Some draw-text-with-specific-alignment routines
68 | * The console replacement routines
69 |
70 | The console replacement does not currently handle any scroll back,
71 | but it does handle basic formatting: word-wrap and centered text when selected.
72 |
73 | `ez80.asm` contains native eZ80 assembly routines:
74 |
75 | * `_decompress_string` a semioptimized Huffman decompression routine
76 | * LCD dimming control
77 | * Optimized time routines for the idle-timeout feature
78 | * Key input wrappers that check for the ON+CLEAR abort combo
79 |
--------------------------------------------------------------------------------
/tests/domefail.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1838473132
11 |
12 | Seed set to 1838473132
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > take lamp
29 |
30 | OK
31 |
32 | > xyzzy
33 |
34 | >>Foof!<<
35 |
36 | It is now pitch dark. If you proceed you will likely fall into a pit.
37 |
38 | > on
39 |
40 | Your lamp is now on.
41 |
42 | You are in a debris room filled with stuff washed in from the surface.
43 | A low wide passage with cobbles becomes plugged with mud and debris
44 | here, but an awkward canyon leads upward and west. In the mud someone
45 | has scrawled, "MAGIC WORD XYZZY".
46 |
47 | A three foot black rod with a rusty star on an end lies nearby.
48 |
49 | > e
50 |
51 | You are crawling over cobbles in a low passage. There is a dim light
52 | at the east end of the passage.
53 |
54 | There is a small wicker cage discarded nearby.
55 |
56 | > take cage
57 |
58 | OK
59 |
60 | > w
61 |
62 | You're in debris room.
63 |
64 | A three foot black rod with a rusty star on an end lies nearby.
65 |
66 | > w
67 |
68 | You are in an awkward sloping east/west canyon.
69 |
70 | > w
71 |
72 | You are in a splendid chamber thirty feet high. The walls are frozen
73 | rivers of orange stone. An awkward canyon and a good passage exit
74 | from east and west sides of the chamber.
75 |
76 | A cheerful little bird is sitting here singing.
77 |
78 | > take
79 |
80 | OK
81 |
82 | > w
83 |
84 | At your feet is a small pit breathing traces of white mist. An east
85 | passage ends here except for a small crack leading on.
86 |
87 | Rough stone steps lead down the pit.
88 |
89 | > d
90 |
91 | You are at one end of a vast hall stretching forward out of sight to
92 | the west. There are openings to either side. Nearby, a wide stone
93 | staircase leads downward. The hall is filled with wisps of white mist
94 | swaying to and fro almost as if alive. A cold wind blows up the
95 | staircase. There is a passage at the top of a dome behind you.
96 |
97 | Rough stone steps lead up the dome.
98 |
99 | > d
100 |
101 | You are in the Hall of the Mountain King, with passages off in all
102 | directions.
103 |
104 | A huge green fierce snake bars the way!
105 |
106 | > free bird
107 |
108 | The little bird attacks the green snake, and in an astounding flurry
109 | drives the snake away.
110 |
111 | > w
112 |
113 | You are in the west side chamber of the Hall of the Mountain King.
114 | A passage continues west and up here.
115 |
116 | There are many coins here!
117 |
118 | > e
119 |
120 | You're in Hall of Mt King.
121 |
122 | A cheerful little bird is sitting here singing.
123 |
124 | > s
125 |
126 | You are in the south side chamber.
127 |
128 | There is precious jewelry here!
129 |
130 | > n
131 |
132 | You're in Hall of Mt King.
133 |
134 | A cheerful little bird is sitting here singing.
135 |
136 | > u
137 |
138 | You're in Hall of Mists.
139 |
140 | Rough stone steps lead up the dome.
141 |
142 | > s
143 |
144 | This is a low room with a crude note on the wall. The note says,
145 | "You won't get it up the steps".
146 |
147 | There is a large sparkling nugget of gold here!
148 |
149 | > take nugget
150 |
151 | OK
152 |
153 | > n
154 |
155 | You're in Hall of Mists.
156 |
157 | > dome
158 |
159 | The dome is unclimbable.
160 |
161 | You're in Hall of Mists.
162 |
163 | > u
164 |
165 | The dome is unclimbable.
166 |
167 | You're in Hall of Mists.
168 |
169 |
170 | You scored 63 out of a possible 430, using 24 turns.
171 |
172 | Your score qualifies you as a novice class adventurer.
173 |
174 | To achieve the next higher rating, you need 58 more points.
175 |
--------------------------------------------------------------------------------
/tests/reincarnate.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1495774850
11 |
12 | Seed set to 1495774850
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > take keys
29 |
30 | OK
31 |
32 | > take lamp
33 |
34 | OK
35 |
36 | > out
37 |
38 | You're in front of building.
39 |
40 | > s
41 |
42 | You are in a valley in the forest beside a stream tumbling along a
43 | rocky bed.
44 |
45 | > s
46 |
47 | At your feet all the water of the stream splashes into a 2-inch slit
48 | in the rock. Downstream the streambed is bare rock.
49 |
50 | > s
51 |
52 | You are in a 20-foot depression floored with bare dirt. Set into the
53 | dirt is a strong steel grate mounted in concrete. A dry streambed
54 | leads into the depression.
55 |
56 | The grate is locked.
57 |
58 | > open grate
59 |
60 | The grate is now unlocked.
61 |
62 | > d
63 |
64 | You are in a small chamber beneath a 3x3 steel grate to the surface.
65 | A low crawl over cobbles leads inward to the west.
66 |
67 | The grate is open.
68 |
69 | > w
70 |
71 | You are crawling over cobbles in a low passage. There is a dim light
72 | at the east end of the passage.
73 |
74 | There is a small wicker cage discarded nearby.
75 |
76 | > w
77 |
78 | It is now pitch dark. If you proceed you will likely fall into a pit.
79 |
80 | > light lamp
81 |
82 | Your lamp is now on.
83 |
84 | You are in a debris room filled with stuff washed in from the surface.
85 | A low wide passage with cobbles becomes plugged with mud and debris
86 | here, but an awkward canyon leads upward and west. In the mud someone
87 | has scrawled, "MAGIC WORD XYZZY".
88 |
89 | A three foot black rod with a rusty star on an end lies nearby.
90 |
91 | > w
92 |
93 | You are in an awkward sloping east/west canyon.
94 |
95 | > w
96 |
97 | You are in a splendid chamber thirty feet high. The walls are frozen
98 | rivers of orange stone. An awkward canyon and a good passage exit
99 | from east and west sides of the chamber.
100 |
101 | A cheerful little bird is sitting here singing.
102 |
103 | > w
104 |
105 | At your feet is a small pit breathing traces of white mist. An east
106 | passage ends here except for a small crack leading on.
107 |
108 | Rough stone steps lead down the pit.
109 |
110 | > down
111 |
112 | You are at one end of a vast hall stretching forward out of sight to
113 | the west. There are openings to either side. Nearby, a wide stone
114 | staircase leads downward. The hall is filled with wisps of white mist
115 | swaying to and fro almost as if alive. A cold wind blows up the
116 | staircase. There is a passage at the top of a dome behind you.
117 |
118 | Rough stone steps lead up the dome.
119 |
120 | > w
121 |
122 | You are on the east bank of a fissure slicing clear across the hall.
123 | The mist is quite thick here, and the fissure is too wide to jump.
124 |
125 | > jump
126 |
127 | You didn't make it.
128 |
129 | Oh dear, you seem to have gotten yourself killed. I might be able to
130 | help you out, but I've never really done this before. Do you want me
131 | to try to reincarnate you?
132 |
133 | > y
134 |
135 | All right. But don't blame me if something goes wr......
136 | --- POOF!! ---
137 | You are engulfed in a cloud of orange smoke. Coughing and gasping,
138 | you emerge from the smoke and find....
139 |
140 | You're inside building.
141 |
142 | There is food here.
143 |
144 | There is a bottle of water here.
145 |
146 |
147 | You scored 47 out of a possible 430, using 18 turns.
148 |
149 | Your score qualifies you as a novice class adventurer.
150 |
151 | To achieve the next higher rating, you need 74 more points.
152 |
--------------------------------------------------------------------------------
/tests/urntest.log:
--------------------------------------------------------------------------------
1 | ## Test verbs on urn
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | take necklace
21 | drop rod
22 | take bird
23 | take rod
24 | d
25 | d
26 | free bird
27 | drop rod
28 | drop cage
29 | take cage
30 | take bird
31 | w
32 | take coins
33 | e
34 | s
35 | take jewelry
36 | n
37 | up
38 | s
39 | take gold
40 | n
41 | d
42 | n
43 | n
44 | plugh
45 | extinguish lamp
46 | drop coins
47 | drop jewelry
48 | drop necklace
49 | drop gold
50 | plugh
51 | on
52 | s
53 | take silver
54 | s
55 | sw
56 | take axe
57 | w
58 | kill dragon
59 | yes
60 | carry blood
61 | drink blood
62 | take rug
63 | e
64 | e
65 | up
66 | d
67 | n
68 | n
69 | off
70 | plugh
71 | inven
72 | drop rug
73 | drop silver
74 | out
75 | s
76 | w
77 | n
78 | take appendage
79 | free bird
80 | drop cage
81 | listen
82 | s
83 | s
84 | n
85 | in
86 | take water
87 | plugh
88 | on
89 | plover
90 | ne
91 | take pyramid
92 | s
93 | plover
94 | s
95 | s
96 | take rod
97 | up
98 | w
99 | wave rod
100 | drop rod
101 | west
102 | take diamonds
103 | w
104 | w
105 | w
106 | s
107 | sw
108 | se
109 | s
110 | kill machine
111 | s
112 | s
113 | kill ogre
114 | n
115 | take ruby
116 | s
117 | w
118 | n
119 | n
120 | n
121 | nw
122 | d
123 | e
124 | e
125 | e
126 | e
127 | e
128 | throw axe
129 | take axe
130 | n
131 | n
132 | n
133 | off
134 | plugh
135 | drop ruby
136 | drop diamonds
137 | drop pyramid
138 | plugh
139 | on
140 | s
141 | s
142 | u
143 | n
144 | n
145 | d
146 | bedquilt
147 | throw axe
148 | take axe
149 | slab
150 | s
151 | d
152 | water plant
153 | u
154 | w
155 | u
156 | reservoir
157 | H'CFL
158 | n
159 | n
160 | nw
161 | u
162 | u
163 | u
164 | u
165 | ne
166 | take ebony
167 | sw
168 | d
169 | d
170 | d
171 | d
172 | d
173 | take water
174 | s
175 | s
176 | s
177 | s
178 | d
179 | s
180 | d
181 | water plant
182 | u
183 | w
184 | u
185 | reservoir
186 | take water
187 | s
188 | s
189 | d
190 | s
191 | drop appendage
192 | e
193 | d
194 | drink oil
195 | get oil
196 | drink water
197 | get oil
198 | u
199 | w
200 | d
201 | climb
202 | w
203 | n
204 | oil door
205 | drop bottle
206 | n
207 | take trident
208 | w
209 | d
210 | se
211 | n
212 | w
213 | drop trident
214 | drop ebony
215 | drop axe
216 | drop lantern
217 | e
218 | take emerald
219 | w
220 | take lamp
221 | take axe
222 | take ebony
223 | take trident
224 | nw
225 | s
226 | take vase
227 | se
228 | e
229 | take pillow
230 | w
231 | drop axe
232 | ne
233 | e
234 | n
235 | open clam
236 | s
237 | u
238 | e
239 | u
240 | n
241 | off
242 | plugh
243 | drop pillow
244 | drop vase
245 | drop trident
246 | drop emerald
247 | drop ebony
248 | take keys
249 | take food
250 | plugh
251 | on
252 | s
253 | d
254 | w
255 | d
256 | n
257 | d
258 | d
259 | take pearl
260 | u
261 | u
262 | s
263 | w
264 | w
265 | w
266 | w
267 | d
268 | climb
269 | w
270 | get eggs
271 | n
272 | take bottle
273 | n
274 | w
275 | d
276 | sw
277 | u
278 | toss eggs
279 | ne
280 | ne
281 | barren
282 | in
283 | feed bear
284 | unlock chain
285 | take chain
286 | take bear
287 | fork
288 | ne
289 | e
290 | take spices
291 | drop keys
292 | fork
293 | w
294 | w
295 | sw
296 | free bear
297 | inven
298 | sw
299 | sw
300 | d
301 | se
302 | se
303 | w
304 | d
305 | get oil
306 | up
307 | e
308 | take axe
309 | w
310 | w
311 | d
312 | climb
313 | w
314 | fee
315 | fie
316 | foe
317 | foo
318 | take eggs
319 | s
320 | d
321 | u
322 | w
323 | u
324 | s
325 | e
326 | e
327 | n
328 | n
329 | off
330 | plugh
331 | drop eggs
332 | drop pearl
333 | drop spices
334 | drop chain
335 | take rug
336 | take ruby
337 | take emerald
338 | out
339 | w
340 | n
341 | n
342 | n
343 | # Everything to here copied from endgame428
344 | carry urn
345 | light urn
346 | # Changed below from "fill urn" in order to test more code
347 | pour bottle
348 | fill bottle
349 | drink oil
350 | light
351 | light urn
352 | fill urn
353 | read urn
354 | look
355 | extinguish
356 | extinguish
357 | look
358 | light urn
359 | light
360 | look
361 | extinguish urn
362 | extinguish
363 | look
364 | fly
365 |
--------------------------------------------------------------------------------
/tests/death-jump.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1495774850
11 |
12 | Seed set to 1495774850
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > take keys
29 |
30 | OK
31 |
32 | > take lamp
33 |
34 | OK
35 |
36 | > out
37 |
38 | You're in front of building.
39 |
40 | > s
41 |
42 | You are in a valley in the forest beside a stream tumbling along a
43 | rocky bed.
44 |
45 | > s
46 |
47 | At your feet all the water of the stream splashes into a 2-inch slit
48 | in the rock. Downstream the streambed is bare rock.
49 |
50 | > s
51 |
52 | You are in a 20-foot depression floored with bare dirt. Set into the
53 | dirt is a strong steel grate mounted in concrete. A dry streambed
54 | leads into the depression.
55 |
56 | The grate is locked.
57 |
58 | > open grate
59 |
60 | The grate is now unlocked.
61 |
62 | > d
63 |
64 | You are in a small chamber beneath a 3x3 steel grate to the surface.
65 | A low crawl over cobbles leads inward to the west.
66 |
67 | The grate is open.
68 |
69 | > u
70 |
71 | You're outside grate.
72 |
73 | The grate is open.
74 |
75 | > d
76 |
77 | You're below the grate.
78 |
79 | The grate is open.
80 |
81 | > w
82 |
83 | You are crawling over cobbles in a low passage. There is a dim light
84 | at the east end of the passage.
85 |
86 | There is a small wicker cage discarded nearby.
87 |
88 | > w
89 |
90 | It is now pitch dark. If you proceed you will likely fall into a pit.
91 |
92 | > light lamp
93 |
94 | Your lamp is now on.
95 |
96 | You are in a debris room filled with stuff washed in from the surface.
97 | A low wide passage with cobbles becomes plugged with mud and debris
98 | here, but an awkward canyon leads upward and west. In the mud someone
99 | has scrawled, "MAGIC WORD XYZZY".
100 |
101 | A three foot black rod with a rusty star on an end lies nearby.
102 |
103 | > w
104 |
105 | You are in an awkward sloping east/west canyon.
106 |
107 | > w
108 |
109 | You are in a splendid chamber thirty feet high. The walls are frozen
110 | rivers of orange stone. An awkward canyon and a good passage exit
111 | from east and west sides of the chamber.
112 |
113 | A cheerful little bird is sitting here singing.
114 |
115 | > w
116 |
117 | At your feet is a small pit breathing traces of white mist. An east
118 | passage ends here except for a small crack leading on.
119 |
120 | Rough stone steps lead down the pit.
121 |
122 | > crack
123 |
124 | The crack is far too small for you to follow. At its widest it is
125 | barely wide enough to admit your foot.
126 |
127 | You're at top of small pit.
128 |
129 | Rough stone steps lead down the pit.
130 |
131 | > down
132 |
133 | You are at one end of a vast hall stretching forward out of sight to
134 | the west. There are openings to either side. Nearby, a wide stone
135 | staircase leads downward. The hall is filled with wisps of white mist
136 | swaying to and fro almost as if alive. A cold wind blows up the
137 | staircase. There is a passage at the top of a dome behind you.
138 |
139 | Rough stone steps lead up the dome.
140 |
141 | > w
142 |
143 | You are on the east bank of a fissure slicing clear across the hall.
144 | The mist is quite thick here, and the fissure is too wide to jump.
145 |
146 | > jump
147 |
148 | You didn't make it.
149 |
150 | Oh dear, you seem to have gotten yourself killed. I might be able to
151 | help you out, but I've never really done this before. Do you want me
152 | to try to reincarnate you?
153 |
154 | > n
155 |
156 | OK
157 |
158 | You scored 51 out of a possible 430, using 21 turns.
159 |
160 | Your score qualifies you as a novice class adventurer.
161 |
162 | To achieve the next higher rating, you need 70 more points.
163 |
--------------------------------------------------------------------------------
/tests/Makefile:
--------------------------------------------------------------------------------
1 | # Test-suite makefile for reposurgeon
2 |
3 | # Use absolute path so tests that change working directory still use
4 | # scripts from parent directory. Note that using $PWD seems to fail
5 | # here under Gitlab's CI environment.
6 | PARDIR=$(realpath ..)
7 | PATH := $(PARDIR):$(realpath .):${PATH}
8 | GCOV?=gcov
9 |
10 | # Make this overrideable so it's easier to test old versions
11 | advent?=advent
12 |
13 | # Defeat annoying behavior under Mac OS X - builtin echo doesn't do -n
14 | ECHO := /bin/echo
15 |
16 | # Find all *.log entries to test
17 | TESTLOADS := $(shell ls -1 *.log | sed '/.log/s///' | sort)
18 |
19 | .PHONY: check coverage clean testlist listcheck savegames buildregress
20 | .PHONY: savecheck regress
21 |
22 | check: savecheck regress
23 | @echo "=== No diff output is good news."
24 | @-advent -x 2>/dev/null # Get usage message into coverage tests
25 | @-advent -l /dev/null /dev/null
26 |
27 | coverage: check
28 | lcov -t "advent" -o $(PARDIR)/advent.info -c -d $(PARDIR) --gcov-tool=$(GCOV)
29 | genhtml -o $(PARDIR)/coverage/ $(PARDIR)/advent.info
30 | ./coverage_dungeon.py
31 |
32 | .SUFFIXES: .chk
33 |
34 | clean:
35 | rm -fr *~ adventure.text *.adv scratch.tmp
36 |
37 | # Show summary lines for all tests.
38 | testlist:
39 | @grep '^##' *.log
40 | listcheck:
41 | @for f in *.log; do \
42 | if ( head -3 $$f | grep -q '^ *##' ); then :; else echo "$$f needs a description"; fi; \
43 | done
44 |
45 | # Generate bogus savegames.
46 | savegames:
47 | @$(ECHO) "cheat: Generate save file with -900 deaths"
48 | @$(PARDIR)/cheat -d -900 -o cheat_numdie.adv > /tmp/cheat_numdie
49 | @$(ECHO) "cheat: Generate save file with -1000 deaths"
50 | @$(PARDIR)/cheat -d -1000 -o cheat_numdie1000.adv > /tmp/cheat_numdie1000
51 | @$(ECHO) "cheat: Generate save file with version -1337"
52 | @$(PARDIR)/cheat -v -1337 -o resume_badversion.adv > /tmp/cheat_badversion
53 | @$(ECHO) "cheat: Generate save file 1000 saves"
54 | @$(PARDIR)/cheat -s -1000 -o thousand_saves.adv > /tmp/cheat_1000saves
55 | @$(ECHO) "cheat: Generate save file 1000 turns"
56 | @$(PARDIR)/cheat -t -1000 -o thousand_saves.adv > /tmp/cheat_1000turns
57 | @$(ECHO) "cheat: Generate save file 1000 turns"
58 | @$(PARDIR)/cheat -l -1000 -o thousand_lamp.adv > /tmp/cheat_1000lamp
59 | @rm -f /tmp/cheat*
60 |
61 |
62 | # Rebuild characterizing tests
63 | buildregress: savegames
64 | $(PARDIR)/cheat -s -1000 -o thousand_saves.adv > /tmp/regress1000saves
65 | @for file in $(TESTLOADS); do \
66 | echo "Remaking $${file}.chk"; \
67 | OPTS=`sed -n /#options:/s///p <$${file}.log`; \
68 | advent $$OPTS <$${file}.log >$${file}.chk 2>&1 || exit 1; \
69 | done; \
70 | rm -f scratch.tmp
71 |
72 | savecheck: savegames
73 | @$(ECHO) "TEST cheat: Bogus option for save file generation"
74 | @$(PARDIR)/cheat -QqQ 2> /tmp/coverage_cheat_batopt | true
75 | @$(ECHO) "TEST cheat: No save file specified"
76 | @$(PARDIR)/cheat 2>/dev/null | true
77 | @$(ECHO) "TEST cheat: Fail to save because we omit -o"
78 | @$(PARDIR)/cheat -d 1 2> /tmp/coverage_cheat_nooutput | true
79 | @$(ECHO) "TEST cheat: Fail to save to invalid path"
80 | @$(PARDIR)/cheat -o / 2> /tmp/coverage_cheat_badoutput | true
81 | @$(ECHO) "TEST advent: Start with invalid file with -r"
82 | @advent -r /badfilename < pitfall.log > /tmp/coverage_advent_readfail 2>&1 || exit 1
83 | @$(ECHO) "TEST advent: Start with invalid file with -l"
84 | @advent -l / < pitfall.log > /tmp/coverage_advent_logfail 2>&1 || exit 1
85 | @$(ECHO) "TEST advent: Test -r with valid input"
86 | @advent -r thousand_saves.adv < pitfall.log > /tmp/coverage_advent_readfail 2>&1 || exit 1
87 | @rm -f /tmp/coverage*
88 |
89 | # General regression testing of commands and output; look at the *.log and
90 | # corresponding *.chk files to see which tests this runs.
91 | regress:
92 | @for file in $(TESTLOADS); do \
93 | $(ECHO) -n " $${file} "; grep '##' $${file}.log || echo ' ## (no description)'; \
94 | OPTS=`sed -n /#options:/s///p <$${file}.log`; \
95 | if $(advent) $$OPTS < $${file}.log >/tmp/regress$$$$ 2>&1; \
96 | then diff --text -u $${file}.chk /tmp/regress$$$$ || exit 1; \
97 | else echo "*** Nonzero return status on $${file}!"; exit 1; fi \
98 | done; \
99 | rm -f scratch.tmp /tmp/regress$$$$
100 |
101 | # end
102 |
--------------------------------------------------------------------------------
/tests/ogre_no_dwarves.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 25508795
11 |
12 | Seed set to 25508795
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > take lamp
29 |
30 | OK
31 |
32 | > xyzzy
33 |
34 | >>Foof!<<
35 |
36 | It is now pitch dark. If you proceed you will likely fall into a pit.
37 |
38 | > on
39 |
40 | Your lamp is now on.
41 |
42 | You are in a debris room filled with stuff washed in from the surface.
43 | A low wide passage with cobbles becomes plugged with mud and debris
44 | here, but an awkward canyon leads upward and west. In the mud someone
45 | has scrawled, "MAGIC WORD XYZZY".
46 |
47 | A three foot black rod with a rusty star on an end lies nearby.
48 |
49 | > take rod
50 |
51 | OK
52 |
53 | > w
54 |
55 | You are in an awkward sloping east/west canyon.
56 |
57 | > w
58 |
59 | You are in a splendid chamber thirty feet high. The walls are frozen
60 | rivers of orange stone. An awkward canyon and a good passage exit
61 | from east and west sides of the chamber.
62 |
63 | A cheerful little bird is sitting here singing.
64 |
65 | > w
66 |
67 | At your feet is a small pit breathing traces of white mist. An east
68 | passage ends here except for a small crack leading on.
69 |
70 | Rough stone steps lead down the pit.
71 |
72 | > d
73 |
74 | You are at one end of a vast hall stretching forward out of sight to
75 | the west. There are openings to either side. Nearby, a wide stone
76 | staircase leads downward. The hall is filled with wisps of white mist
77 | swaying to and fro almost as if alive. A cold wind blows up the
78 | staircase. There is a passage at the top of a dome behind you.
79 |
80 | Rough stone steps lead up the dome.
81 |
82 | > w
83 |
84 | You are on the east bank of a fissure slicing clear across the hall.
85 | The mist is quite thick here, and the fissure is too wide to jump.
86 |
87 | > wave rod
88 |
89 | A crystal bridge now spans the fissure.
90 |
91 | > w
92 |
93 | You are on the west side of the fissure in the Hall of Mists.
94 |
95 | There are diamonds here!
96 |
97 | A crystal bridge spans the fissure.
98 |
99 | > w
100 |
101 | You are at the west end of the Hall of Mists. A low wide crawl
102 | continues west and another goes north. To the south is a little
103 | passage 6 feet off the floor.
104 |
105 | > w
106 |
107 | You are at the east end of a very long hall apparently without side
108 | chambers. To the east a low wide crawl slants up. To the north a
109 | round two foot hole slants down.
110 |
111 | > w
112 |
113 | You are at the west end of a very long featureless hall. The hall
114 | joins up with a narrow north/south passage.
115 |
116 | > s
117 |
118 | You are in a maze of twisty little passages, all different.
119 |
120 | > sw
121 |
122 | You are in a little maze of twisty passages, all different.
123 |
124 | > se
125 |
126 | You are in a little maze of twisting passages, all different.
127 |
128 | > s
129 |
130 | Dead end
131 |
132 | There is a massive and somewhat battered vending machine here. The
133 | instructions on it read: "Drop coins here to receive fresh batteries."
134 |
135 | > kill machine
136 |
137 | As you strike the vending machine, it pivots backward along with a
138 | section of wall, revealing a dark passage leading south.
139 |
140 | > s
141 |
142 | You are in a long, rough-hewn, north/south corridor.
143 |
144 | > s
145 |
146 | You are in a large chamber with passages to the west and north.
147 |
148 | A formidable ogre bars the northern exit.
149 |
150 | > attack
151 |
152 | The ogre, who despite his bulk is quite agile, easily dodges your
153 | attack. He seems almost amused by your puny effort.
154 |
155 |
156 | You scored 59 out of a possible 430, using 23 turns.
157 |
158 | Your score qualifies you as a novice class adventurer.
159 |
160 | To achieve the next higher rating, you need 62 more points.
161 |
--------------------------------------------------------------------------------
/tests/hint_witt.log:
--------------------------------------------------------------------------------
1 | ## Hint for Witt's End
2 | n
3 | seed 1635997320
4 | in
5 | take lamp
6 | xyzzy
7 | take rod
8 | e
9 | take cage
10 | w
11 | on
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | drop rod
21 | take bird
22 | take jade
23 | e
24 | e
25 | e
26 | off
27 | xyzzy
28 | drop jade
29 | xyzzy
30 | on
31 | w
32 | w
33 | w
34 | take rod
35 | d
36 | w
37 | wave rod
38 | drop rod
39 | e
40 | n
41 | free bird
42 | take bird
43 | s
44 | take jewelry
45 | n
46 | sw
47 | w
48 | kill dragon
49 | yes
50 | drink blood
51 | take rug
52 | e
53 | e
54 | n
55 | take silver
56 | n
57 | off
58 | plugh
59 | drop jewelry
60 | drop rug
61 | drop silver
62 | out
63 | s
64 | w
65 | n
66 | take appendage
67 | free bird
68 | drop cage
69 | listen
70 | s
71 | s
72 | n
73 | in
74 | take water
75 | plugh
76 | on
77 | plover
78 | ne
79 | take pyramid
80 | s
81 | plover
82 | s
83 | d
84 | take axe
85 | u
86 | s
87 | up
88 | w
89 | w
90 | w
91 | w
92 | throw axe
93 | take axe
94 | w
95 | s
96 | sw
97 | se
98 | s
99 | kill machine
100 | s
101 | s
102 | kill ogre
103 | n
104 | take ruby
105 | s
106 | w
107 | n
108 | n
109 | n
110 | nw
111 | d
112 | e
113 | e
114 | e
115 | take diamonds
116 | e
117 | e
118 | drop bottle
119 | s
120 | take gold
121 | n
122 | n
123 | n
124 | n
125 | off
126 | plugh
127 | drop gold
128 | drop diamonds
129 | drop pyramid
130 | drop ruby
131 | plugh
132 | on
133 | s
134 | s
135 | u
136 | take water
137 | throw axe
138 | take axe
139 | n
140 | n
141 | d
142 | bedquilt
143 | slab
144 | s
145 | d
146 | water plant
147 | u
148 | w
149 | u
150 | reservoir
151 | F'UNJ
152 | n
153 | n
154 | nw
155 | u
156 | u
157 | u
158 | u
159 | ne
160 | take ebony
161 | sw
162 | d
163 | d
164 | d
165 | d
166 | d
167 | take water
168 | s
169 | s
170 | s
171 | s
172 | d
173 | s
174 | d
175 | water plant
176 | u
177 | e
178 | d
179 | get oil
180 | u
181 | w
182 | d
183 | climb
184 | w
185 | n
186 | oil door
187 | drop bottle
188 | drop appendage
189 | n
190 | take trident
191 | w
192 | d
193 | se
194 | n
195 | w
196 | inven
197 | drop trident
198 | drop ebony
199 | drop axe
200 | drop lantern
201 | e
202 | take emerald
203 | w
204 | take lamp
205 | take axe
206 | take ebony
207 | take trident
208 | nw
209 | s
210 | take vase
211 | se
212 | e
213 | take pillow
214 | w
215 | ne
216 | e
217 | n
218 | open clam
219 | s
220 | u
221 | e
222 | u
223 | s
224 | drop axe
225 | e
226 | w
227 | w
228 | w
229 | s
230 | e
231 | s
232 | s
233 | s
234 | n
235 | e
236 | e
237 | nw
238 | inven
239 | take ebony
240 | take vase
241 | take trident
242 | take chest
243 | take emerald
244 | se
245 | n
246 | d
247 | e
248 | e
249 | off
250 | xyzzy
251 | drop chest
252 | drop ebony
253 | drop pillow
254 | drop vase
255 | drop trident
256 | take keys
257 | take food
258 | plugh
259 | on
260 | s
261 | d
262 | w
263 | d
264 | n
265 | d
266 | d
267 | take pearl
268 | u
269 | u
270 | s
271 | w
272 | w
273 | w
274 | w
275 | d
276 | climb
277 | w
278 | get eggs
279 | n
280 | take bottle
281 | n
282 | w
283 | d
284 | sw
285 | u
286 | toss eggs
287 | ne
288 | ne
289 | barren
290 | in
291 | feed bear
292 | take chain
293 | unlock chain
294 | take chain
295 | take bear
296 | fork
297 | ne
298 | e
299 | drop keys
300 | take spices
301 | fork
302 | w
303 | w
304 | sw
305 | free bear
306 | sw
307 | sw
308 | d
309 | se
310 | se
311 | w
312 | d
313 | get oil
314 | up
315 | w
316 | d
317 | climb
318 | w
319 | fee
320 | fie
321 | foe
322 | foo
323 | take eggs
324 | s
325 | d
326 | u
327 | w
328 | u
329 | s
330 | e
331 | e
332 | n
333 | n
334 | off
335 | plugh
336 | drop eggs
337 | drop pearl
338 | drop spices
339 | drop chain
340 | take rug
341 | take ruby
342 | take emerald
343 | out
344 | w
345 | n
346 | n
347 | n
348 | inven
349 | fill urn
350 | light urn
351 | rub urn
352 | take amber
353 | drop rug
354 | drop emerald
355 | fly rug
356 | take sapphire
357 | fly rug
358 | take emerald
359 | drop ruby
360 | take rug
361 | drop bottle
362 | take ruby
363 | e
364 | s
365 | e
366 | e
367 | in
368 | drop emerald
369 | drop ruby
370 | drop sapphire
371 | drop amber
372 | drop rug
373 | look
374 | plugh
375 | on
376 | s
377 | d
378 | w
379 | d
380 | e
381 | take magazine
382 | e
383 | drop magazine
384 | n
385 | n
386 | n
387 | n
388 | n
389 | n
390 | n
391 | n
392 | n
393 | n
394 | n
395 | n
396 | n
397 | n
398 | n
399 | n
400 | n
401 | n
402 | y
403 | y
--------------------------------------------------------------------------------
/tests/weirdbird.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 694608006
11 |
12 | Seed set to 694608006
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > take lamp
29 |
30 | OK
31 |
32 | > take keys
33 |
34 | OK
35 |
36 | > rub keys
37 |
38 | Peculiar. Nothing unexpected happens.
39 |
40 | > out
41 |
42 | You're in front of building.
43 |
44 | > go s
45 |
46 | You are in a valley in the forest beside a stream tumbling along a
47 | rocky bed.
48 |
49 | > walk s
50 |
51 | At your feet all the water of the stream splashes into a 2-inch slit
52 | in the rock. Downstream the streambed is bare rock.
53 |
54 | > travel s
55 |
56 | You are in a 20-foot depression floored with bare dirt. Set into the
57 | dirt is a strong steel grate mounted in concrete. A dry streambed
58 | leads into the depression.
59 |
60 | The grate is locked.
61 |
62 | > attack grate
63 |
64 | Don't be ridiculous!
65 |
66 | > unlock grate
67 |
68 | The grate is now unlocked.
69 |
70 | > lock grate
71 |
72 | The grate is now locked.
73 |
74 | > unlock grate
75 |
76 | The grate is now unlocked.
77 |
78 | > down
79 |
80 | You are in a small chamber beneath a 3x3 steel grate to the surface.
81 | A low crawl over cobbles leads inward to the west.
82 |
83 | The grate is open.
84 |
85 | > w
86 |
87 | You are crawling over cobbles in a low passage. There is a dim light
88 | at the east end of the passage.
89 |
90 | There is a small wicker cage discarded nearby.
91 |
92 | > take cage
93 |
94 | OK
95 |
96 | > w
97 |
98 | It is now pitch dark. If you proceed you will likely fall into a pit.
99 |
100 | > read
101 |
102 | Read what?
103 |
104 | > read keys
105 |
106 | I see no keys here.
107 |
108 | > on lamp
109 |
110 | Your lamp is now on.
111 |
112 | You are in a debris room filled with stuff washed in from the surface.
113 | A low wide passage with cobbles becomes plugged with mud and debris
114 | here, but an awkward canyon leads upward and west. In the mud someone
115 | has scrawled, "MAGIC WORD XYZZY".
116 |
117 | A three foot black rod with a rusty star on an end lies nearby.
118 |
119 | > read
120 |
121 | "MAGIC WORD XYZZY"
122 |
123 | > take rod
124 |
125 | OK
126 |
127 | > w
128 |
129 | You are in an awkward sloping east/west canyon.
130 |
131 | > w
132 |
133 | You are in a splendid chamber thirty feet high. The walls are frozen
134 | rivers of orange stone. An awkward canyon and a good passage exit
135 | from east and west sides of the chamber.
136 |
137 | A cheerful little bird is sitting here singing.
138 |
139 | > enter water
140 |
141 | Where?
142 |
143 | > listen bird
144 |
145 | I'm afraid I don't understand.
146 |
147 | > eat bird
148 |
149 | I think I just lost my appetite.
150 |
151 | > feed bird
152 |
153 | It's not hungry (it's merely pinin' for the fjords). Besides, you
154 | have no bird seed.
155 |
156 | Are you trying to catch the bird?
157 |
158 | > cage bird
159 |
160 | Please answer the question.
161 |
162 | Are you trying to catch the bird?
163 |
164 | > y
165 |
166 | I am prepared to give you a hint, but it will cost you 2 points.
167 |
168 | Do you want the hint?
169 |
170 | > y
171 |
172 | Something about you seems to be frightening the bird. Perhaps you
173 | might figure out what it is.
174 |
175 | > drop rod
176 |
177 | OK
178 |
179 | > take bird
180 |
181 | OK
182 |
183 | > get rod
184 |
185 | OK
186 |
187 | > wave rod
188 |
189 | The bird flies agitatedly about the cage.
190 |
191 | > attack bird
192 |
193 | The little bird is now dead. Its body disappears.
194 |
195 | > grate
196 |
197 | You're below the grate.
198 |
199 | The grate is open.
200 |
201 | > up
202 |
203 | You're outside grate.
204 |
205 | The grate is open.
206 |
207 | > n
208 |
209 | You're at slit in streambed.
210 |
211 | > n
212 |
213 | You're in valley.
214 |
215 | > grate
216 |
217 | You're outside grate.
218 |
219 | The grate is open.
220 |
221 |
222 | You scored 30 out of a possible 430, using 37 turns.
223 |
224 | You are obviously a rank amateur. Better luck next time.
225 |
226 | To achieve the next higher rating, you need 16 more points.
227 |
--------------------------------------------------------------------------------
/tests/panic2.log:
--------------------------------------------------------------------------------
1 | ## Panic test - attempt to xyzzy out after game is closed.
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | take necklace
21 | drop rod
22 | take bird
23 | take rod
24 | d
25 | d
26 | free bird
27 | drop rod
28 | drop cage
29 | take cage
30 | take bird
31 | w
32 | take coins
33 | e
34 | s
35 | take jewelry
36 | n
37 | up
38 | s
39 | take gold
40 | n
41 | d
42 | n
43 | n
44 | plugh
45 | extinguish lamp
46 | drop coins
47 | drop jewelry
48 | drop necklace
49 | drop gold
50 | plugh
51 | on
52 | s
53 | take silver
54 | s
55 | sw
56 | take axe
57 | w
58 | kill dragon
59 | yes
60 | drink blood
61 | take rug
62 | e
63 | e
64 | up
65 | d
66 | n
67 | n
68 | off
69 | plugh
70 | inven
71 | drop rug
72 | drop silver
73 | out
74 | s
75 | w
76 | n
77 | take appendage
78 | free bird
79 | drop cage
80 | listen
81 | s
82 | s
83 | n
84 | in
85 | take water
86 | plugh
87 | on
88 | plover
89 | ne
90 | take pyramid
91 | s
92 | plover
93 | s
94 | s
95 | take rod
96 | up
97 | w
98 | wave rod
99 | drop rod
100 | west
101 | take diamonds
102 | w
103 | w
104 | w
105 | s
106 | sw
107 | se
108 | s
109 | kill machine
110 | s
111 | s
112 | kill ogre
113 | n
114 | take ruby
115 | s
116 | w
117 | n
118 | n
119 | n
120 | nw
121 | d
122 | e
123 | e
124 | e
125 | e
126 | e
127 | throw axe
128 | take axe
129 | n
130 | n
131 | n
132 | off
133 | plugh
134 | drop ruby
135 | drop diamonds
136 | drop pyramid
137 | plugh
138 | on
139 | s
140 | s
141 | u
142 | n
143 | n
144 | d
145 | bedquilt
146 | throw axe
147 | take axe
148 | slab
149 | s
150 | d
151 | water plant
152 | u
153 | w
154 | u
155 | reservoir
156 | H'CFL
157 | n
158 | n
159 | nw
160 | u
161 | u
162 | u
163 | u
164 | ne
165 | take ebony
166 | sw
167 | d
168 | d
169 | d
170 | d
171 | d
172 | take water
173 | s
174 | s
175 | s
176 | s
177 | d
178 | s
179 | d
180 | water plant
181 | u
182 | drop appendage
183 | e
184 | d
185 | get oil
186 |
187 | u
188 | w
189 | d
190 | climb
191 | w
192 | n
193 | oil door
194 | drop bottle
195 | n
196 | take trident
197 | w
198 | d
199 | se
200 | n
201 | w
202 | drop trident
203 | drop ebony
204 | drop axe
205 | drop lantern
206 | e
207 | take emerald
208 | w
209 | take lamp
210 | take axe
211 | take ebony
212 | take trident
213 | nw
214 | s
215 | take vase
216 | se
217 | throw axe
218 | take axe
219 | e
220 | take pillow
221 | w
222 | drop axe
223 | ne
224 | e
225 | n
226 | open clam
227 | s
228 | u
229 | e
230 | u
231 | n
232 | off
233 | plugh
234 | drop pillow
235 | drop vase
236 | drop trident
237 | drop emerald
238 | drop ebony
239 | take keys
240 | take food
241 | plugh
242 | on
243 | s
244 | d
245 | w
246 | d
247 | n
248 | d
249 | d
250 | take pearl
251 | u
252 | u
253 | s
254 | w
255 | w
256 | w
257 | w
258 | d
259 | climb
260 | w
261 | get eggs
262 | n
263 | take bottle
264 | n
265 | w
266 | d
267 | sw
268 | u
269 | toss eggs
270 | ne
271 | ne
272 | barren
273 | in
274 | feed bear
275 | unlock chain
276 | take chain
277 | take bear
278 | fork
279 | ne
280 | e
281 | take spices
282 | fork
283 | w
284 | w
285 | sw
286 | free bear
287 | sw
288 | sw
289 | d
290 | se
291 | se
292 | w
293 | d
294 | get oil
295 | up
296 | e
297 | take axe
298 | w
299 | w
300 | d
301 | climb
302 | w
303 | fee
304 | fie
305 | foe
306 | foo
307 | take eggs
308 | s
309 | d
310 | u
311 | w
312 | u
313 | s
314 | e
315 | e
316 | n
317 | drop keys
318 | n
319 | off
320 | plugh
321 | drop eggs
322 | drop pearl
323 | drop spices
324 | drop chain
325 | take rug
326 | take ruby
327 | take emerald
328 | out
329 | w
330 | n
331 | n
332 | n
333 | inven
334 | fill urn
335 | light urn
336 | rub urn
337 | take amber
338 | drop rug
339 | drop emerald
340 | fly rug
341 | take sapphire
342 | fly rug
343 | take emerald
344 | drop ruby
345 | take rug
346 | drop bottle
347 | take ruby
348 | e
349 | s
350 | e
351 | e
352 | in
353 | drop ruby
354 | drop sapphire
355 | drop amber
356 | drop rug
357 | look
358 | plugh
359 | on
360 | s
361 | s
362 | u
363 | w
364 | w
365 | w
366 | s
367 | e
368 | s
369 | throw axe
370 | take axe
371 | s
372 | s
373 | n
374 | e
375 | e
376 | nw
377 | take emerald
378 | take chest
379 | se
380 | n
381 | d
382 | e
383 | e
384 | off
385 | xyzzy
386 | drop emerald
387 | drop chest
388 | plugh
389 | on
390 | s
391 | d
392 | w
393 | d
394 | e
395 | take magazine
396 | e
397 | drop magazine
398 | e
399 | e
400 | e
401 | e
402 | e
403 | e
404 | e
405 | e
406 | e
407 | e
408 | e
409 | e
410 | e
411 | e
412 | e
413 | e
414 | u
415 | u
416 | # Cave closing announcement at this point
417 | e
418 | u
419 | n
420 | plugh
421 |
--------------------------------------------------------------------------------
/tests/lampdim.log:
--------------------------------------------------------------------------------
1 | ## Test the case where your lamp goes dim
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | take necklace
21 | drop rod
22 | take bird
23 | take rod
24 | d
25 | d
26 | free bird
27 | drop rod
28 | drop cage
29 | take cage
30 | take bird
31 | w
32 | take coins
33 | e
34 | s
35 | take jewelry
36 | n
37 | up
38 | s
39 | take gold
40 | n
41 | d
42 | n
43 | n
44 | plugh
45 | extinguish lamp
46 | drop coins
47 | drop jewelry
48 | drop necklace
49 | drop gold
50 | plugh
51 | on
52 | s
53 | take silver
54 | s
55 | sw
56 | take axe
57 | w
58 | kill dragon
59 | yes
60 | drink blood
61 | take rug
62 | e
63 | e
64 | up
65 | d
66 | n
67 | n
68 | off
69 | plugh
70 | inven
71 | drop rug
72 | drop silver
73 | out
74 | s
75 | w
76 | n
77 | take appendage
78 | free bird
79 | drop cage
80 | listen
81 | s
82 | s
83 | n
84 | in
85 | take water
86 | plugh
87 | on
88 | plover
89 | ne
90 | take pyramid
91 | s
92 | plover
93 | s
94 | s
95 | take rod
96 | up
97 | w
98 | wave rod
99 | drop rod
100 | west
101 | take diamonds
102 | w
103 | w
104 | w
105 | s
106 | sw
107 | se
108 | s
109 | kill machine
110 | s
111 | s
112 | kill ogre
113 | n
114 | take ruby
115 | s
116 | w
117 | n
118 | n
119 | n
120 | nw
121 | d
122 | e
123 | e
124 | e
125 | e
126 | e
127 | throw axe
128 | take axe
129 | n
130 | n
131 | n
132 | off
133 | plugh
134 | drop ruby
135 | drop diamonds
136 | drop pyramid
137 | plugh
138 | on
139 | s
140 | s
141 | u
142 | n
143 | n
144 | d
145 | bedquilt
146 | throw axe
147 | take axe
148 | slab
149 | s
150 | d
151 | water plant
152 | u
153 | w
154 | u
155 | reservoir
156 | H'CFL
157 | n
158 | n
159 | nw
160 | u
161 | u
162 | u
163 | u
164 | ne
165 | take ebony
166 | sw
167 | d
168 | d
169 | d
170 | d
171 | d
172 | take water
173 | s
174 | s
175 | s
176 | s
177 | d
178 | s
179 | d
180 | water plant
181 | u
182 | drop appendage
183 | e
184 | d
185 | get oil
186 |
187 | u
188 | w
189 | d
190 | climb
191 | w
192 | n
193 | oil door
194 | drop bottle
195 | n
196 | take trident
197 | w
198 | d
199 | se
200 | n
201 | w
202 | drop trident
203 | drop ebony
204 | drop axe
205 | drop lantern
206 | e
207 | take emerald
208 | w
209 | take lamp
210 | take axe
211 | take ebony
212 | take trident
213 | nw
214 | s
215 | take vase
216 | se
217 | throw axe
218 | take axe
219 | e
220 | take pillow
221 | w
222 | drop axe
223 | ne
224 | e
225 | n
226 | open clam
227 | s
228 | u
229 | e
230 | u
231 | n
232 | off
233 | plugh
234 | drop pillow
235 | drop vase
236 | drop trident
237 | drop emerald
238 | drop ebony
239 | take keys
240 | take food
241 | plugh
242 | on
243 | s
244 | d
245 | w
246 | d
247 | n
248 | d
249 | d
250 | take pearl
251 | u
252 | u
253 | s
254 | w
255 | w
256 | w
257 | w
258 | d
259 | climb
260 | w
261 | get eggs
262 | n
263 | take bottle
264 | n
265 | w
266 | d
267 | sw
268 | u
269 | toss eggs
270 | ne
271 | ne
272 | barren
273 | in
274 | feed bear
275 | unlock chain
276 | take chain
277 | take bear
278 | fork
279 | ne
280 | e
281 | take spices
282 | drop keys
283 | fork
284 | w
285 | w
286 | sw
287 | free bear
288 | inven
289 | sw
290 | sw
291 | d
292 | se
293 | se
294 | w
295 | d
296 | get oil
297 | up
298 | e
299 | take axe
300 | w
301 | w
302 | d
303 | climb
304 | w
305 | fee
306 | fie
307 | foe
308 | foo
309 | take eggs
310 | s
311 | d
312 | u
313 | w
314 | u
315 | s
316 | e
317 | e
318 | n
319 | n
320 | off
321 | plugh
322 | drop eggs
323 | drop pearl
324 | drop spices
325 | drop chain
326 | take rug
327 | take ruby
328 | take emerald
329 | out
330 | w
331 | n
332 | n
333 | n
334 | inven
335 | fill urn
336 | light urn
337 | rub urn
338 | take cavity
339 | take amber
340 | drop rug
341 | drop emerald
342 | get rug
343 | fly rug
344 | take sapphire
345 | fly rug
346 | take emerald
347 | drop ruby
348 | take rug
349 | drop bottle
350 | take ruby
351 | e
352 | s
353 | e
354 | e
355 | in
356 | drop ruby
357 | drop sapphire
358 | drop amber
359 | drop rug
360 | look
361 | plugh
362 | on
363 | s
364 | s
365 | u
366 | w
367 | w
368 | w
369 | s
370 | e
371 | s
372 | throw axe
373 | take axe
374 | s
375 | s
376 | n
377 | e
378 | e
379 | nw
380 | take emerald
381 | take chest
382 | se
383 | n
384 | d
385 | e
386 | e
387 | off
388 | xyzzy
389 | drop emerald
390 | drop chest
391 | take coins
392 | plugh
393 | on
394 | s
395 | s
396 | u
397 | # Go to vending machine and get batteries.
398 | w
399 | wave rod
400 | w
401 | w
402 | w
403 | w
404 | s
405 | sw
406 | se
407 | s
408 | drop coins
409 | take batteries
410 | # Lamp dim message should follow
411 | inventory
412 | drop batteries
413 | look
414 |
--------------------------------------------------------------------------------
/tests/wittsend.log:
--------------------------------------------------------------------------------
1 | ## 342-point run to Witt's End and plover room.
2 | # Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
3 | n
4 | seed 1635997320
5 | in
6 | take lamp
7 | xyzzy
8 | take rod
9 | e
10 | take cage
11 | w
12 | on
13 | w
14 | w
15 | drop rod
16 | take bird
17 | take rod
18 | w
19 | free bird
20 | wave rod
21 | drop rod
22 | take bird
23 | take jade
24 | e
25 | e
26 | e
27 | off
28 | xyzzy
29 | drop jade
30 | xyzzy
31 | on
32 | w
33 | w
34 | w
35 | take rod
36 | d
37 | w
38 | wave rod
39 | drop rod
40 | e
41 | n
42 | free bird
43 | take bird
44 | s
45 | take jewelry
46 | n
47 | sw
48 | w
49 | kill dragon
50 | yes
51 | drink blood
52 | take rug
53 | e
54 | e
55 | n
56 | take silver
57 | n
58 | off
59 | plugh
60 | drop jewelry
61 | drop rug
62 | drop silver
63 | out
64 | s
65 | w
66 | n
67 | take appendage
68 | free bird
69 | drop cage
70 | listen
71 | s
72 | s
73 | n
74 | in
75 | take water
76 | plugh
77 | on
78 | plover
79 | ne
80 | take pyramid
81 | s
82 | plover
83 | s
84 | d
85 | take axe
86 | u
87 | s
88 | up
89 | w
90 | w
91 | w
92 | w
93 | throw axe
94 | take axe
95 | w
96 | s
97 | sw
98 | se
99 | s
100 | kill machine
101 | s
102 | s
103 | kill ogre
104 | n
105 | take ruby
106 | s
107 | w
108 | n
109 | n
110 | n
111 | nw
112 | d
113 | e
114 | e
115 | e
116 | take diamonds
117 | e
118 | e
119 | drop bottle
120 | s
121 | take gold
122 | n
123 | n
124 | n
125 | n
126 | off
127 | plugh
128 | drop gold
129 | drop diamonds
130 | drop pyramid
131 | drop ruby
132 | plugh
133 | on
134 | s
135 | s
136 | u
137 | take water
138 | throw axe
139 | take axe
140 | n
141 | n
142 | d
143 | bedquilt
144 | slab
145 | s
146 | d
147 | water plant
148 | u
149 | w
150 | u
151 | reservoir
152 | F'UNJ
153 | n
154 | n
155 | nw
156 | u
157 | u
158 | u
159 | u
160 | ne
161 | take ebony
162 | sw
163 | d
164 | d
165 | d
166 | d
167 | d
168 | take water
169 | s
170 | s
171 | s
172 | s
173 | d
174 | s
175 | d
176 | water plant
177 | u
178 | e
179 | d
180 | get oil
181 | u
182 | w
183 | d
184 | climb
185 | w
186 | n
187 | oil door
188 | drop bottle
189 | drop appendage
190 | n
191 | take trident
192 | w
193 | d
194 | se
195 | n
196 | w
197 | inven
198 | drop trident
199 | drop ebony
200 | drop axe
201 | drop lantern
202 | e
203 | take emerald
204 | w
205 | take lamp
206 | take axe
207 | take ebony
208 | take trident
209 | nw
210 | s
211 | take vase
212 | se
213 | e
214 | take pillow
215 | w
216 | ne
217 | e
218 | n
219 | open clam
220 | s
221 | u
222 | e
223 | u
224 | s
225 | drop axe
226 | e
227 | w
228 | w
229 | w
230 | s
231 | e
232 | s
233 | s
234 | s
235 | n
236 | e
237 | e
238 | nw
239 | inven
240 | take ebony
241 | take vase
242 | take trident
243 | take chest
244 | take emerald
245 | se
246 | n
247 | d
248 | e
249 | e
250 | off
251 | xyzzy
252 | drop chest
253 | drop ebony
254 | drop pillow
255 | drop vase
256 | drop trident
257 | take keys
258 | take food
259 | plugh
260 | on
261 | s
262 | d
263 | w
264 | d
265 | n
266 | d
267 | d
268 | take pearl
269 | u
270 | u
271 | s
272 | w
273 | w
274 | w
275 | w
276 | d
277 | climb
278 | w
279 | get eggs
280 | n
281 | take bottle
282 | n
283 | w
284 | d
285 | sw
286 | u
287 | toss eggs
288 | ne
289 | ne
290 | barren
291 | in
292 | feed bear
293 | take chain
294 | unlock chain
295 | take chain
296 | take bear
297 | fork
298 | ne
299 | e
300 | drop keys
301 | take spices
302 | fork
303 | w
304 | w
305 | sw
306 | free bear
307 | sw
308 | sw
309 | d
310 | se
311 | se
312 | w
313 | d
314 | get oil
315 | up
316 | w
317 | d
318 | climb
319 | w
320 | fee
321 | fie
322 | foe
323 | foo
324 | take eggs
325 | s
326 | d
327 | u
328 | w
329 | u
330 | s
331 | e
332 | e
333 | n
334 | n
335 | off
336 | plugh
337 | drop eggs
338 | drop pearl
339 | drop spices
340 | drop chain
341 | take rug
342 | take ruby
343 | take emerald
344 | out
345 | w
346 | n
347 | n
348 | n
349 | inven
350 | fill urn
351 | light urn
352 | rub urn
353 | take amber
354 | drop rug
355 | drop emerald
356 | fly rug
357 | take sapphire
358 | fly rug
359 | take emerald
360 | drop ruby
361 | take rug
362 | drop bottle
363 | take ruby
364 | e
365 | s
366 | e
367 | e
368 | in
369 | drop emerald
370 | drop ruby
371 | drop sapphire
372 | drop amber
373 | drop rug
374 | look
375 | plugh
376 | on
377 | s
378 | d
379 | w
380 | d
381 | e
382 | take magazine
383 | e
384 | drop magazine
385 | n
386 | n
387 | n
388 | n
389 | n
390 | n
391 | n
392 | n
393 | n
394 | n
395 | n
396 | n
397 | n
398 | n
399 | n
400 | n
401 | n
402 | n
403 | n
404 | n
405 | n
406 | n
407 | n
408 | n
409 | n
410 | n
411 | n
412 | n
413 | n
414 | n
415 | n
416 | n
417 | n
418 | n
419 | n
420 | n
421 | n
422 | n
423 | n
424 | u
425 | u
426 | e
427 | u
428 | n
429 | plover
430 |
--------------------------------------------------------------------------------
/tests/lampdim2.log:
--------------------------------------------------------------------------------
1 | ## Try (and fail) to carry message at vending machine
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | take necklace
21 | drop rod
22 | take bird
23 | take rod
24 | d
25 | d
26 | free bird
27 | drop rod
28 | drop cage
29 | take cage
30 | take bird
31 | w
32 | take coins
33 | e
34 | s
35 | take jewelry
36 | n
37 | up
38 | s
39 | take gold
40 | n
41 | d
42 | n
43 | n
44 | plugh
45 | extinguish lamp
46 | drop coins
47 | drop jewelry
48 | drop necklace
49 | drop gold
50 | plugh
51 | on
52 | s
53 | take silver
54 | s
55 | sw
56 | take axe
57 | w
58 | kill dragon
59 | yes
60 | drink blood
61 | take rug
62 | e
63 | e
64 | up
65 | d
66 | n
67 | n
68 | off
69 | plugh
70 | inven
71 | drop rug
72 | drop silver
73 | out
74 | s
75 | w
76 | n
77 | take appendage
78 | free bird
79 | drop cage
80 | listen
81 | s
82 | s
83 | n
84 | in
85 | take water
86 | plugh
87 | on
88 | plover
89 | ne
90 | take pyramid
91 | s
92 | plover
93 | s
94 | s
95 | take rod
96 | up
97 | w
98 | wave rod
99 | drop rod
100 | west
101 | take diamonds
102 | w
103 | w
104 | w
105 | s
106 | sw
107 | se
108 | s
109 | kill machine
110 | s
111 | s
112 | kill ogre
113 | n
114 | take ruby
115 | s
116 | w
117 | n
118 | n
119 | n
120 | nw
121 | d
122 | e
123 | e
124 | e
125 | e
126 | e
127 | throw axe
128 | take axe
129 | n
130 | n
131 | n
132 | off
133 | plugh
134 | drop ruby
135 | drop diamonds
136 | drop pyramid
137 | plugh
138 | on
139 | s
140 | s
141 | u
142 | n
143 | n
144 | d
145 | bedquilt
146 | throw axe
147 | take axe
148 | slab
149 | s
150 | d
151 | water plant
152 | u
153 | w
154 | u
155 | reservoir
156 | H'CFL
157 | n
158 | n
159 | nw
160 | u
161 | u
162 | u
163 | u
164 | ne
165 | take ebony
166 | sw
167 | d
168 | d
169 | d
170 | d
171 | d
172 | take water
173 | s
174 | s
175 | s
176 | s
177 | d
178 | s
179 | d
180 | water plant
181 | u
182 | drop appendage
183 | e
184 | d
185 | get oil
186 |
187 | u
188 | w
189 | d
190 | climb
191 | w
192 | n
193 | oil door
194 | drop bottle
195 | n
196 | take trident
197 | w
198 | d
199 | se
200 | n
201 | w
202 | drop trident
203 | drop ebony
204 | drop axe
205 | drop lantern
206 | e
207 | take emerald
208 | w
209 | take lamp
210 | take axe
211 | take ebony
212 | take trident
213 | nw
214 | s
215 | take vase
216 | se
217 | throw axe
218 | take axe
219 | e
220 | take pillow
221 | w
222 | drop axe
223 | ne
224 | e
225 | n
226 | open clam
227 | s
228 | u
229 | e
230 | u
231 | n
232 | off
233 | plugh
234 | drop pillow
235 | drop vase
236 | drop trident
237 | drop emerald
238 | drop ebony
239 | take keys
240 | take food
241 | plugh
242 | on
243 | s
244 | d
245 | w
246 | d
247 | n
248 | d
249 | d
250 | take pearl
251 | u
252 | u
253 | s
254 | w
255 | w
256 | w
257 | w
258 | d
259 | climb
260 | w
261 | get eggs
262 | n
263 | take bottle
264 | n
265 | w
266 | d
267 | sw
268 | u
269 | toss eggs
270 | ne
271 | ne
272 | barren
273 | in
274 | feed bear
275 | unlock chain
276 | take chain
277 | take bear
278 | fork
279 | ne
280 | e
281 | take spices
282 | drop keys
283 | fork
284 | w
285 | w
286 | sw
287 | free bear
288 | inven
289 | sw
290 | sw
291 | d
292 | se
293 | se
294 | w
295 | d
296 | get oil
297 | up
298 | e
299 | take axe
300 | w
301 | w
302 | d
303 | climb
304 | w
305 | fee
306 | fie
307 | foe
308 | foo
309 | take eggs
310 | s
311 | d
312 | u
313 | w
314 | u
315 | s
316 | e
317 | e
318 | n
319 | n
320 | off
321 | plugh
322 | drop eggs
323 | drop pearl
324 | drop spices
325 | drop chain
326 | take rug
327 | take ruby
328 | take emerald
329 | out
330 | w
331 | n
332 | n
333 | n
334 | inven
335 | fill urn
336 | light urn
337 | rub urn
338 | take amber
339 | drop rug
340 | drop emerald
341 | fly rug
342 | take sapphire
343 | fly rug
344 | take emerald
345 | drop ruby
346 | take rug
347 | drop bottle
348 | take ruby
349 | e
350 | s
351 | e
352 | e
353 | in
354 | drop ruby
355 | drop sapphire
356 | drop amber
357 | drop rug
358 | look
359 | plugh
360 | on
361 | s
362 | s
363 | u
364 | w
365 | w
366 | w
367 | s
368 | e
369 | s
370 | throw axe
371 | take axe
372 | s
373 | s
374 | n
375 | e
376 | e
377 | nw
378 | take emerald
379 | take chest
380 | se
381 | n
382 | d
383 | e
384 | e
385 | off
386 | xyzzy
387 | drop emerald
388 | drop chest
389 | take coins
390 | plugh
391 | on
392 | s
393 | s
394 | u
395 | # Go to vending machine and get batteries.
396 | w
397 | wave rod
398 | w
399 | w
400 | w
401 | w
402 | s
403 | sw
404 | se
405 | s
406 | carry message
407 | n
408 | s
409 | n
410 | s
411 | n
412 | s
413 | n
414 | s
415 | n
416 | s
417 | n
418 | s
419 | n
420 | s
421 | n
422 | s
423 | n
424 | s
425 | n
426 | s
427 | n
428 | s
429 | lamp on
--------------------------------------------------------------------------------
/tests/panic.log:
--------------------------------------------------------------------------------
1 | ## Panic test - attempt to unlock grate after game closed.
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | take necklace
21 | drop rod
22 | take bird
23 | take rod
24 | d
25 | d
26 | free bird
27 | drop rod
28 | drop cage
29 | take cage
30 | take bird
31 | w
32 | take coins
33 | e
34 | s
35 | take jewelry
36 | n
37 | up
38 | s
39 | take gold
40 | n
41 | d
42 | n
43 | n
44 | plugh
45 | extinguish lamp
46 | drop coins
47 | drop jewelry
48 | drop necklace
49 | drop gold
50 | plugh
51 | on
52 | s
53 | take silver
54 | s
55 | sw
56 | take axe
57 | w
58 | kill dragon
59 | yes
60 | drink blood
61 | take rug
62 | e
63 | e
64 | up
65 | d
66 | n
67 | n
68 | off
69 | plugh
70 | inven
71 | drop rug
72 | drop silver
73 | out
74 | s
75 | w
76 | n
77 | take appendage
78 | free bird
79 | drop cage
80 | listen
81 | s
82 | s
83 | n
84 | in
85 | take water
86 | plugh
87 | on
88 | plover
89 | ne
90 | take pyramid
91 | s
92 | plover
93 | s
94 | s
95 | take rod
96 | up
97 | w
98 | wave rod
99 | drop rod
100 | west
101 | take diamonds
102 | w
103 | w
104 | w
105 | s
106 | sw
107 | se
108 | s
109 | kill machine
110 | s
111 | s
112 | kill ogre
113 | n
114 | take ruby
115 | s
116 | w
117 | n
118 | n
119 | n
120 | nw
121 | d
122 | e
123 | e
124 | e
125 | e
126 | e
127 | throw axe
128 | take axe
129 | n
130 | n
131 | n
132 | off
133 | plugh
134 | drop ruby
135 | drop diamonds
136 | drop pyramid
137 | plugh
138 | on
139 | s
140 | s
141 | u
142 | n
143 | n
144 | d
145 | bedquilt
146 | throw axe
147 | take axe
148 | slab
149 | s
150 | d
151 | water plant
152 | u
153 | w
154 | u
155 | reservoir
156 | H'CFL
157 | n
158 | n
159 | nw
160 | u
161 | u
162 | u
163 | u
164 | ne
165 | take ebony
166 | sw
167 | d
168 | d
169 | d
170 | d
171 | d
172 | take water
173 | s
174 | s
175 | s
176 | s
177 | d
178 | s
179 | d
180 | water plant
181 | u
182 | drop appendage
183 | e
184 | d
185 | get oil
186 |
187 | u
188 | w
189 | d
190 | climb
191 | w
192 | n
193 | oil door
194 | drop bottle
195 | n
196 | take trident
197 | w
198 | d
199 | se
200 | n
201 | w
202 | drop trident
203 | drop ebony
204 | drop axe
205 | drop lantern
206 | e
207 | take emerald
208 | w
209 | take lamp
210 | take axe
211 | take ebony
212 | take trident
213 | nw
214 | s
215 | take vase
216 | se
217 | throw axe
218 | take axe
219 | e
220 | take pillow
221 | w
222 | drop axe
223 | ne
224 | e
225 | n
226 | open clam
227 | s
228 | u
229 | e
230 | u
231 | n
232 | off
233 | plugh
234 | drop pillow
235 | drop vase
236 | drop trident
237 | drop emerald
238 | drop ebony
239 | take keys
240 | take food
241 | plugh
242 | on
243 | s
244 | d
245 | w
246 | d
247 | n
248 | d
249 | d
250 | take pearl
251 | u
252 | u
253 | s
254 | w
255 | w
256 | w
257 | w
258 | d
259 | climb
260 | w
261 | get eggs
262 | n
263 | take bottle
264 | n
265 | w
266 | d
267 | sw
268 | u
269 | toss eggs
270 | ne
271 | ne
272 | barren
273 | in
274 | feed bear
275 | unlock chain
276 | take chain
277 | take bear
278 | fork
279 | ne
280 | e
281 | take spices
282 | fork
283 | w
284 | w
285 | sw
286 | free bear
287 | sw
288 | sw
289 | d
290 | se
291 | se
292 | w
293 | d
294 | get oil
295 | up
296 | e
297 | take axe
298 | w
299 | w
300 | d
301 | climb
302 | w
303 | fee
304 | fie
305 | foe
306 | foo
307 | take eggs
308 | s
309 | d
310 | u
311 | w
312 | u
313 | s
314 | e
315 | e
316 | n
317 | drop keys
318 | n
319 | off
320 | plugh
321 | drop eggs
322 | drop pearl
323 | drop spices
324 | drop chain
325 | take rug
326 | take ruby
327 | take emerald
328 | out
329 | w
330 | n
331 | n
332 | n
333 | inven
334 | fill urn
335 | light urn
336 | rub urn
337 | take amber
338 | drop rug
339 | drop emerald
340 | fly rug
341 | take sapphire
342 | fly rug
343 | take emerald
344 | drop ruby
345 | take rug
346 | drop bottle
347 | take ruby
348 | e
349 | s
350 | e
351 | e
352 | in
353 | drop ruby
354 | drop sapphire
355 | drop amber
356 | drop rug
357 | look
358 | plugh
359 | on
360 | s
361 | s
362 | u
363 | w
364 | w
365 | w
366 | s
367 | e
368 | s
369 | throw axe
370 | take axe
371 | s
372 | s
373 | n
374 | e
375 | e
376 | nw
377 | take emerald
378 | take chest
379 | se
380 | n
381 | d
382 | e
383 | e
384 | off
385 | xyzzy
386 | drop emerald
387 | drop chest
388 | plugh
389 | on
390 | s
391 | d
392 | w
393 | d
394 | e
395 | take magazine
396 | e
397 | drop magazine
398 | e
399 | e
400 | e
401 | e
402 | e
403 | e
404 | e
405 | e
406 | e
407 | e
408 | e
409 | e
410 | e
411 | e
412 | e
413 | e
414 | u
415 | u
416 | # Cave closing announcement at this point
417 | e
418 | u
419 | take keys
420 | s
421 | u
422 | u
423 | e
424 | e
425 | e
426 | e
427 | e
428 | unlock grate
429 |
--------------------------------------------------------------------------------
/tests/mazealldiff.log:
--------------------------------------------------------------------------------
1 | ## Coverage of all LOC_DIFFERENT*
2 | n
3 | seed 1838473132
4 | in
5 | take lamp
6 | xyzzy
7 | on
8 | take rod
9 | e
10 | take cage
11 | w
12 | w
13 | w
14 | drop rod
15 | take bird
16 | take rod
17 | w
18 | free bird
19 | wave rod
20 | take necklace
21 | drop rod
22 | take bird
23 | take rod
24 | d
25 | d
26 | free bird
27 | drop rod
28 | drop cage
29 | take cage
30 | take bird
31 | w
32 | take coins
33 | e
34 | s
35 | take jewelry
36 | n
37 | up
38 | s
39 | take gold
40 | n
41 | d
42 | n
43 | n
44 | plugh
45 | extinguish lamp
46 | drop coins
47 | drop jewelry
48 | drop necklace
49 | drop gold
50 | plugh
51 | on
52 | s
53 | take silver
54 | s
55 | sw
56 | take axe
57 | w
58 | kill dragon
59 | yes
60 | drink blood
61 | take rug
62 | e
63 | e
64 | up
65 | d
66 | n
67 | n
68 | off
69 | plugh
70 | inven
71 | drop rug
72 | drop silver
73 | out
74 | s
75 | w
76 | n
77 | take appendage
78 | free bird
79 | drop cage
80 | listen
81 | s
82 | s
83 | n
84 | in
85 | take water
86 | plugh
87 | on
88 | plover
89 | ne
90 | take pyramid
91 | s
92 | plover
93 | s
94 | s
95 | take rod
96 | up
97 | w
98 | wave rod
99 | drop rod
100 | west
101 | take diamonds
102 | w
103 | w
104 | w
105 | s
106 | sw
107 | se
108 | s
109 | kill machine
110 | s
111 | s
112 | kill ogre
113 | n
114 | take ruby
115 | s
116 | w
117 | n
118 | n
119 | n
120 | nw
121 | d
122 | e
123 | e
124 | e
125 | e
126 | e
127 | throw axe
128 | take axe
129 | n
130 | n
131 | n
132 | off
133 | plugh
134 | drop ruby
135 | drop diamonds
136 | drop pyramid
137 | plugh
138 | on
139 | s
140 | s
141 | u
142 | n
143 | n
144 | d
145 | bedquilt
146 | throw axe
147 | take axe
148 | slab
149 | s
150 | d
151 | water plant
152 | u
153 | w
154 | u
155 | reservoir
156 | H'CFL
157 | n
158 | n
159 | nw
160 | u
161 | u
162 | u
163 | u
164 | ne
165 | take ebony
166 | sw
167 | d
168 | d
169 | d
170 | d
171 | d
172 | take water
173 | s
174 | s
175 | s
176 | s
177 | d
178 | s
179 | d
180 | water plant
181 | u
182 | drop appendage
183 | e
184 | d
185 | get oil
186 |
187 | u
188 | w
189 | d
190 | climb
191 | w
192 | n
193 | oil door
194 | drop bottle
195 | n
196 | take trident
197 | w
198 | d
199 | se
200 | n
201 | w
202 | drop trident
203 | drop ebony
204 | drop axe
205 | drop lantern
206 | e
207 | take emerald
208 | w
209 | take lamp
210 | take axe
211 | take ebony
212 | take trident
213 | nw
214 | s
215 | take vase
216 | se
217 | throw axe
218 | take axe
219 | e
220 | take pillow
221 | w
222 | drop axe
223 | ne
224 | e
225 | n
226 | open clam
227 | s
228 | u
229 | e
230 | u
231 | n
232 | off
233 | plugh
234 | drop pillow
235 | drop vase
236 | drop trident
237 | drop emerald
238 | drop ebony
239 | take keys
240 | take food
241 | plugh
242 | on
243 | s
244 | d
245 | w
246 | d
247 | n
248 | d
249 | d
250 | take pearl
251 | u
252 | u
253 | s
254 | w
255 | w
256 | w
257 | w
258 | d
259 | climb
260 | w
261 | get eggs
262 | n
263 | take bottle
264 | n
265 | w
266 | d
267 | sw
268 | u
269 | toss eggs
270 | ne
271 | ne
272 | barren
273 | in
274 | feed bear
275 | unlock chain
276 | take chain
277 | take bear
278 | fork
279 | ne
280 | e
281 | take spices
282 | drop keys
283 | fork
284 | w
285 | w
286 | sw
287 | free bear
288 | inven
289 | sw
290 | sw
291 | d
292 | se
293 | se
294 | w
295 | d
296 | get oil
297 | up
298 | e
299 | take axe
300 | w
301 | w
302 | d
303 | climb
304 | w
305 | fee
306 | fie
307 | foe
308 | foo
309 | take eggs
310 | s
311 | d
312 | u
313 | w
314 | u
315 | s
316 | e
317 | e
318 | n
319 | n
320 | off
321 | plugh
322 | drop eggs
323 | drop pearl
324 | drop spices
325 | drop chain
326 | take rug
327 | take ruby
328 | take emerald
329 | out
330 | w
331 | n
332 | n
333 | n
334 | inven
335 | fill urn
336 | light urn
337 | rub urn
338 | take amber
339 | drop rug
340 | drop emerald
341 | fly rug
342 | take sapphire
343 | fly rug
344 | take emerald
345 | drop ruby
346 | take rug
347 | drop bottle
348 | take ruby
349 | e
350 | s
351 | e
352 | e
353 | in
354 | drop ruby
355 | drop sapphire
356 | drop amber
357 | drop rug
358 | look
359 | plugh
360 | on
361 | s
362 | s
363 | u
364 | w
365 | w
366 | w
367 | s
368 | e
369 | s
370 | throw axe
371 | take axe
372 | s
373 | s
374 | n
375 | e
376 | e
377 | nw
378 | take emerald
379 | take chest
380 | se
381 | n
382 | d
383 | e
384 | e
385 | off
386 | xyzzy
387 | drop emerald
388 | drop chest
389 | take coins
390 | plugh
391 | on
392 | s
393 | s
394 | u
395 | # Go to vending machine and get batteries.
396 | w
397 | wave rod
398 | w
399 | w
400 | w
401 | w
402 | s
403 | s
404 | n
405 | s
406 | n
407 | s
408 | n
409 | s
410 | n
411 | # go to LOC_DIFFERENT5
412 | e
413 | # go to LOC_DIFFERENT9
414 | n
415 | # go to LOC_DIFFERENT7
416 | nw
417 | # go to LOC_DIFFERENT11
418 | nw
419 | # go to LOC_DIFFERENT6
420 | n
421 |
--------------------------------------------------------------------------------
/tests/hint_snake.chk:
--------------------------------------------------------------------------------
1 |
2 | Welcome to Adventure!! Would you like instructions?
3 |
4 | > n
5 |
6 | You are standing at the end of a road before a small brick building.
7 | Around you is a forest. A small stream flows out of the building and
8 | down a gully.
9 |
10 | > seed 1951269982
11 |
12 | Seed set to 1951269982
13 |
14 | You're in front of building.
15 |
16 | > in
17 |
18 | You are inside a building, a well house for a large spring.
19 |
20 | There are some keys on the ground here.
21 |
22 | There is a shiny brass lamp nearby.
23 |
24 | There is food here.
25 |
26 | There is a bottle of water here.
27 |
28 | > get lamp
29 |
30 | OK
31 |
32 | > get keys
33 |
34 | OK
35 |
36 | > out
37 |
38 | You're in front of building.
39 |
40 | > down
41 |
42 | You are in a valley in the forest beside a stream tumbling along a
43 | rocky bed.
44 |
45 | > s
46 |
47 | At your feet all the water of the stream splashes into a 2-inch slit
48 | in the rock. Downstream the streambed is bare rock.
49 |
50 | > s
51 |
52 | You are in a 20-foot depression floored with bare dirt. Set into the
53 | dirt is a strong steel grate mounted in concrete. A dry streambed
54 | leads into the depression.
55 |
56 | The grate is locked.
57 |
58 | > open
59 |
60 | The grate is now unlocked.
61 |
62 | > in
63 |
64 | You are in a small chamber beneath a 3x3 steel grate to the surface.
65 | A low crawl over cobbles leads inward to the west.
66 |
67 | The grate is open.
68 |
69 | > west
70 |
71 | You are crawling over cobbles in a low passage. There is a dim light
72 | at the east end of the passage.
73 |
74 | There is a small wicker cage discarded nearby.
75 |
76 | > get cage
77 |
78 | OK
79 |
80 | > w
81 |
82 | It is now pitch dark. If you proceed you will likely fall into a pit.
83 |
84 | > on
85 |
86 | Your lamp is now on.
87 |
88 | You are in a debris room filled with stuff washed in from the surface.
89 | A low wide passage with cobbles becomes plugged with mud and debris
90 | here, but an awkward canyon leads upward and west. In the mud someone
91 | has scrawled, "MAGIC WORD XYZZY".
92 |
93 | A three foot black rod with a rusty star on an end lies nearby.
94 |
95 | > w
96 |
97 | You are in an awkward sloping east/west canyon.
98 |
99 | > w
100 |
101 | You are in a splendid chamber thirty feet high. The walls are frozen
102 | rivers of orange stone. An awkward canyon and a good passage exit
103 | from east and west sides of the chamber.
104 |
105 | A cheerful little bird is sitting here singing.
106 |
107 | > w
108 |
109 | At your feet is a small pit breathing traces of white mist. An east
110 | passage ends here except for a small crack leading on.
111 |
112 | Rough stone steps lead down the pit.
113 |
114 | > down
115 |
116 | You are at one end of a vast hall stretching forward out of sight to
117 | the west. There are openings to either side. Nearby, a wide stone
118 | staircase leads downward. The hall is filled with wisps of white mist
119 | swaying to and fro almost as if alive. A cold wind blows up the
120 | staircase. There is a passage at the top of a dome behind you.
121 |
122 | Rough stone steps lead up the dome.
123 |
124 | > down
125 |
126 | You are in the Hall of the Mountain King, with passages off in all
127 | directions.
128 |
129 | A huge green fierce snake bars the way!
130 |
131 | > w
132 |
133 | You can't get by the snake.
134 |
135 | You're in Hall of Mt King.
136 |
137 | A huge green fierce snake bars the way!
138 |
139 | > attack
140 |
141 | Attacking the snake both doesn't work and is very dangerous.
142 |
143 | > w
144 |
145 | You can't get by the snake.
146 |
147 | You're in Hall of Mt King.
148 |
149 | A huge green fierce snake bars the way!
150 |
151 | > eat snake
152 |
153 | I think I just lost my appetite.
154 |
155 | > w
156 |
157 | You can't get by the snake.
158 |
159 | You're in Hall of Mt King.
160 |
161 | A huge green fierce snake bars the way!
162 |
163 | > throw snake
164 |
165 | You aren't carrying it!
166 |
167 | > w
168 |
169 | You can't get by the snake.
170 |
171 | You're in Hall of Mt King.
172 |
173 | A huge green fierce snake bars the way!
174 |
175 | Are you trying to somehow deal with the snake?
176 |
177 | > carry snake
178 |
179 | Please answer the question.
180 |
181 | Are you trying to somehow deal with the snake?
182 |
183 | > y
184 |
185 | I am prepared to give you a hint, but it will cost you 2 points.
186 |
187 | Do you want the hint?
188 |
189 | > y
190 |
191 | You can't kill the snake, or drive it away, or avoid it, or anything
192 | like that. There is a way to get by, but you don't have the necessary
193 | resources right now.
194 |
195 |
196 | You scored 55 out of a possible 430, using 25 turns.
197 |
198 | Your score qualifies you as a novice class adventurer.
199 |
200 | To achieve the next higher rating, you need 66 more points.
201 |
--------------------------------------------------------------------------------