-
Notifications
You must be signed in to change notification settings - Fork 30
/
zork1.zil
65 lines (57 loc) · 1.75 KB
/
zork1.zil
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
"ZORK1 for
Zork I: The Great Underground Empire
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
-- CHEAPO EDITION"
<VERSION XZIP>
<SETG ZORK-NUMBER 1>
<SETG PLUS-MODE T>
<SET REDEFINE T>
<SETG NEW-VOC? T>
<FREQUENT-WORDS?>
<PRINC "Renovated ZORK I: The Great Underground Empire
">
<COND (<GASSIGNED? PREDGEN>
<ID 0>)>
ON!-INITIAL
OFF!-INITIAL ;"makes dubugging possible -pld"
;<PROPDEF DIRECTIONS <>
(DIR TO R:ROOM =
(UEXIT 2) #SEMI "UNCONDITIONAL EXIT"
(REXIT <OBJECT .R>) #SEMI "TO ROOM")
(DIR SORRY S:STRING =
(NEXIT 3) #SEMI "IMPOSSIBLE EXIT"
(NEXITSTR <STRING .S>) #SEMI "FAILURE MESSAGE"
<BYTE 0>)
(DIR S:STRING =
(NEXIT 3) #SEMI "IMPOSSIBLE EXIT"
(NEXITSTR <STRING .S>) #SEMI "FAILURE MESSAGE"
<BYTE 0>)
(DIR PER F:FCN =
(FEXIT 4) #SEMI "CONDITIONAL EXIT"
(FEXITFCN <WORD .F>) #SEMI "PER FUNCTION"
<BYTE 0> <BYTE 0>)
(DIR TO R:ROOM IF F:GLOBAL "OPT" ELSE S:STRING =
(CEXIT 5) #SEMI "CONDITIONAL EXIT"
(REXIT <OBJECT .R>) #SEMI "TO ROOM"
(CEXITFLAG <GLOBAL .F>) #SEMI "IF FLAG IS TRUE"
(CEXITSTR <STRING .S>) #SEMI "FAILURE MESSAGE")
(DIR TO R:ROOM IF O:OBJECT IS OPEN "OPT" ELSE S:STRING =
(DEXIT 6) #SEMI "CONDITIONAL EXIT"
(REXIT <OBJECT .R>) #SEMI "TO ROOM"
(DEXITOBJ <OBJECT .O>) #SEMI "IF DOOR IS OPEN"
(DEXITSTR <STRING .S>) #SEMI "FAILURE MESSAGE")>
<DIRECTIONS NORTH EAST WEST SOUTH NE NW SE SW UP DOWN IN OUT LAND>
<PROPDEF SIZE 5>
<PROPDEF CAPACITY 0>
<PROPDEF VALUE 0>
<PROPDEF TVALUE 0>
<INSERT-FILE "TELLS" T>
<INSERT-FILE "SYNTAX" T>
<INSERT-FILE "DUNGEON" T>
<INSERT-FILE "GLOBALS" T>
<INSERT-FILE "CLOCK" T>
<INSERT-FILE "LOOP" T>
<INSERT-FILE "PARSER" T>
<INSERT-FILE "VERBS" T>
<INSERT-FILE "ACTIONS" T>
<INSERT-FILE "HINTS" T>