Revision 107
This commit is contained in:
274
misc.zap
274
misc.zap
@@ -133,130 +133,138 @@ START::
|
||||
GET P-PRSO,1 >OBJ
|
||||
SET 'NUM,ICNT
|
||||
JUMP ?CND25
|
||||
?CCL34: SET 'NUM,1
|
||||
?CND25: ZERO? OBJ \?CND35
|
||||
EQUAL? ICNT,1 \?CND35
|
||||
?CCL34: GETB P-SYNTAX,P-SBITS
|
||||
BAND STACK,P-SONUMS
|
||||
EQUAL? STACK,2 \?CCL36
|
||||
SET 'NUM,ICNT
|
||||
JUMP ?CND25
|
||||
?CCL36: SET 'NUM,1
|
||||
?CND25: ZERO? OBJ \?CND37
|
||||
EQUAL? ICNT,1 \?CND37
|
||||
GET P-PRSI,1 >OBJ
|
||||
?CND35: EQUAL? PRSA,V?WALK \?CCL41
|
||||
CALL PERFORM-PRSA,PRSO >V
|
||||
JUMP ?CND39
|
||||
?CCL41: ZERO? NUM \?CCL43
|
||||
?CND37: EQUAL? PRSA,V?WALK \?CCL43
|
||||
CALL PERFORM,PRSA,PRSO >V
|
||||
JUMP ?CND41
|
||||
?CCL43: ZERO? NUM \?CCL45
|
||||
GETB P-SYNTAX,P-SBITS
|
||||
BAND STACK,P-SONUMS
|
||||
ZERO? STACK \?CCL46
|
||||
CALL PERFORM-PRSA >V
|
||||
ZERO? STACK \?CCL48
|
||||
CALL PERFORM,PRSA >V
|
||||
SET 'PRSO,FALSE-VALUE
|
||||
JUMP ?CND39
|
||||
?CCL46: ZERO? LIT \?CCL48
|
||||
JUMP ?CND41
|
||||
?CCL48: ZERO? LIT \?CCL50
|
||||
PRINT TOO-DARK
|
||||
CRLF
|
||||
CALL STOP
|
||||
JUMP ?CND39
|
||||
?CCL48: PRINTI "There isn't anything to "
|
||||
JUMP ?CND41
|
||||
?CCL50: PRINTI "There isn't anything to "
|
||||
GET P-ITBL,P-VERBN >TMP
|
||||
EQUAL? PRSA,V?TELL \?CCL51
|
||||
EQUAL? PRSA,V?TELL \?CCL53
|
||||
PRINTI "talk to"
|
||||
JUMP ?CND49
|
||||
?CCL51: ZERO? P-OFLAG \?CTR52
|
||||
ZERO? P-MERGED /?CCL53
|
||||
?CTR52: GET TMP,0
|
||||
JUMP ?CND51
|
||||
?CCL53: ZERO? P-OFLAG \?CTR54
|
||||
ZERO? P-MERGED /?CCL55
|
||||
?CTR54: GET TMP,0
|
||||
PRINTB STACK
|
||||
JUMP ?CND49
|
||||
?CCL53: GETB TMP,2 >?TMP1
|
||||
JUMP ?CND51
|
||||
?CCL55: GETB TMP,2 >?TMP1
|
||||
GETB TMP,3
|
||||
CALL WORD-PRINT,?TMP1,STACK
|
||||
?CND49: PRINTC 33
|
||||
?CND51: PRINTC 33
|
||||
CRLF
|
||||
SET 'V,FALSE-VALUE
|
||||
CALL STOP
|
||||
JUMP ?CND39
|
||||
?CCL43: SET 'P-NOT-HERE,0
|
||||
JUMP ?CND41
|
||||
?CCL45: SET 'P-NOT-HERE,0
|
||||
SET 'P-MULT,FALSE-VALUE
|
||||
GRTR? NUM,1 \?CND56
|
||||
GRTR? NUM,1 \?CND58
|
||||
SET 'P-MULT,TRUE-VALUE
|
||||
?CND56: SET 'TMP,FALSE-VALUE
|
||||
?PRG58: IGRTR? 'CNT,NUM \?CCL62
|
||||
GRTR? P-NOT-HERE,0 \?CCL65
|
||||
?CND58: SET 'TMP,FALSE-VALUE
|
||||
?PRG60: IGRTR? 'CNT,NUM \?CCL64
|
||||
GRTR? P-NOT-HERE,0 \?CCL67
|
||||
PRINTI "[The "
|
||||
EQUAL? P-NOT-HERE,NUM /?CND66
|
||||
EQUAL? P-NOT-HERE,NUM /?CND68
|
||||
PRINTI "other "
|
||||
?CND66: PRINTI "object"
|
||||
EQUAL? P-NOT-HERE,1 /?CND68
|
||||
?CND68: PRINTI "object"
|
||||
EQUAL? P-NOT-HERE,1 /?CND70
|
||||
PRINTC 115
|
||||
?CND68: PRINTI " that you mentioned "
|
||||
EQUAL? P-NOT-HERE,1 /?CCL72
|
||||
?CND70: PRINTI " that you mentioned "
|
||||
EQUAL? P-NOT-HERE,1 /?CCL74
|
||||
PRINTI "are"
|
||||
JUMP ?CND70
|
||||
?CCL72: PRINTI "is"
|
||||
?CND70: PRINTI "n't here.]"
|
||||
JUMP ?CND72
|
||||
?CCL74: PRINTI "is"
|
||||
?CND72: PRINTI "n't here.]"
|
||||
CRLF
|
||||
JUMP ?CND39
|
||||
?CCL65: ZERO? TMP \?CND39
|
||||
JUMP ?CND41
|
||||
?CCL67: ZERO? TMP \?CND41
|
||||
CALL REFERRING
|
||||
JUMP ?CND39
|
||||
?CCL62: ZERO? PTBL /?CCL76
|
||||
JUMP ?CND41
|
||||
?CCL64: ZERO? PTBL /?CCL78
|
||||
GET P-PRSO,CNT >OBJ1
|
||||
JUMP ?CND74
|
||||
?CCL76: GET P-PRSI,CNT >OBJ1
|
||||
?CND74: ZERO? PTBL /?CCL79
|
||||
JUMP ?CND76
|
||||
?CCL78: GET P-PRSI,CNT >OBJ1
|
||||
?CND76: ZERO? PTBL /?CCL81
|
||||
SET 'PRSO,OBJ1
|
||||
JUMP ?CND77
|
||||
?CCL79: SET 'PRSO,OBJ
|
||||
?CND77: ZERO? PTBL /?CCL82
|
||||
JUMP ?CND79
|
||||
?CCL81: SET 'PRSO,OBJ
|
||||
?CND79: ZERO? PTBL /?CCL84
|
||||
SET 'PRSI,OBJ
|
||||
JUMP ?CND80
|
||||
?CCL82: SET 'PRSI,OBJ1
|
||||
?CND80: GRTR? NUM,1 /?CCL84
|
||||
JUMP ?CND82
|
||||
?CCL84: SET 'PRSI,OBJ1
|
||||
?CND82: GRTR? NUM,1 /?CCL86
|
||||
GET P-ITBL,P-NC1
|
||||
GET STACK,0
|
||||
EQUAL? STACK,W?ALL,W?BOTH,W?EVERYT \?CND83
|
||||
?CCL84: CALL DONT-ALL,OBJ1
|
||||
ZERO? STACK \?PRG58
|
||||
EQUAL? OBJ1,IT \?CCL92
|
||||
EQUAL? STACK,W?ALL,W?BOTH,W?EVERYT \?CND85
|
||||
?CCL86: CALL DONT-ALL,OBJ1
|
||||
ZERO? STACK \?PRG60
|
||||
EQUAL? OBJ1,IT \?CCL94
|
||||
PRINTD P-IT-OBJECT
|
||||
JUMP ?CND90
|
||||
?CCL92: EQUAL? OBJ1,HIM \?CCL94
|
||||
JUMP ?CND92
|
||||
?CCL94: EQUAL? OBJ1,HIM \?CCL96
|
||||
PRINTD P-HIM-OBJECT
|
||||
JUMP ?CND90
|
||||
?CCL94: PRINTD OBJ1
|
||||
?CND90: PRINTI ": "
|
||||
?CND83: SET 'TMP,TRUE-VALUE
|
||||
CALL PERFORM-PRSA,PRSO,PRSI >V
|
||||
EQUAL? V,M-FATAL \?PRG58
|
||||
?CND39: EQUAL? V,M-FATAL \?CND97
|
||||
JUMP ?CND92
|
||||
?CCL96: PRINTD OBJ1
|
||||
?CND92: PRINTI ": "
|
||||
?CND85: SET 'TMP,TRUE-VALUE
|
||||
CALL PERFORM,PRSA,PRSO,PRSI >V
|
||||
EQUAL? V,M-FATAL \?PRG60
|
||||
SET 'P-CONT,FALSE-VALUE
|
||||
?CND97: CALL CLOCKER-VERB?
|
||||
ZERO? STACK /?CCL101
|
||||
EQUAL? PRSA,V?TELL /?CCL101
|
||||
ZERO? P-WON /?CCL101
|
||||
SET 'QUOTE-FLAG,FALSE-VALUE
|
||||
?CND41: EQUAL? V,M-FATAL \?CND99
|
||||
SET 'P-CONT,FALSE-VALUE
|
||||
?CND99: CALL CLOCKER-VERB?
|
||||
ZERO? STACK /?CCL103
|
||||
EQUAL? PRSA,V?TELL /?CCL103
|
||||
ZERO? P-WON /?CCL103
|
||||
CALL RUNNING?,I-SPACETRUCK
|
||||
ZERO? STACK /?CND105
|
||||
LESS? SPACETRUCK-COUNTER,5 \?CND105
|
||||
ZERO? STACK /?CND107
|
||||
LESS? SPACETRUCK-COUNTER,5 \?CND107
|
||||
SET 'C-ELAPSED,240
|
||||
?CND105: GETP HERE,P?ACTION
|
||||
?CND107: GETP HERE,P?ACTION
|
||||
CALL STACK,M-END >V
|
||||
JUMP ?CND1
|
||||
?CCL101: SET 'C-ELAPSED,0
|
||||
?CCL103: SET 'C-ELAPSED,0
|
||||
JUMP ?CND1
|
||||
?CCL3: SET 'P-CONT,FALSE-VALUE
|
||||
?CND1: ZERO? P-WON /?CND109
|
||||
?CND1: ZERO? P-WON /?CND111
|
||||
ADD INTERNAL-MOVES,C-ELAPSED >INTERNAL-MOVES
|
||||
FSET? CHRONOMETER,WORNBIT \?CCL113
|
||||
LESS? DAY,3 \?CCL116
|
||||
FSET? CHRONOMETER,WORNBIT \?CCL115
|
||||
LESS? DAY,3 \?CCL118
|
||||
SET 'MOVES,INTERNAL-MOVES
|
||||
JUMP ?CND111
|
||||
?CCL116: SET 'MOVES,9947
|
||||
JUMP ?CND111
|
||||
?CCL113: SET 'MOVES,0
|
||||
?CND111: ZERO? C-ELAPSED /?CND117
|
||||
JUMP ?CND113
|
||||
?CCL118: SET 'MOVES,9947
|
||||
JUMP ?CND113
|
||||
?CCL115: SET 'MOVES,0
|
||||
?CND113: ZERO? C-ELAPSED /?CND119
|
||||
CALL CLOCKER >V
|
||||
?CND117: SET 'POSTPONE-ATTACK,FALSE-VALUE
|
||||
?CND119: SET 'POSTPONE-ATTACK,FALSE-VALUE
|
||||
SET 'FLOYD-TRYTAKEN,FALSE-VALUE
|
||||
SET 'P-PRSA-WORD,FALSE-VALUE
|
||||
SET 'P-NUMBER,0
|
||||
SET 'PRSA,FALSE-VALUE
|
||||
SET 'PRSO,FALSE-VALUE
|
||||
SET 'PRSI,FALSE-VALUE
|
||||
?CND109: SET 'C-ELAPSED,7
|
||||
?CND111: SET 'C-ELAPSED,7
|
||||
RETURN C-ELAPSED
|
||||
|
||||
|
||||
@@ -335,87 +343,68 @@ START::
|
||||
PRINTR "?]"
|
||||
|
||||
|
||||
.FUNCT PERFORM-PRSA,O=0,I=0
|
||||
CALL PERFORM,PRSA,O,I
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT PERFORM,A,O=0,I=0,V,OA,OO,OI
|
||||
ZERO? DEBUG /?CND1
|
||||
PRINTI "[Perform: "
|
||||
PRINTN A
|
||||
ZERO? O /?CND3
|
||||
PRINTI " / PRSO = "
|
||||
EQUAL? A,V?WALK /?CCL7
|
||||
PRINTD O
|
||||
JUMP ?CND3
|
||||
?CCL7: PRINTN O
|
||||
?CND3: ZERO? I /?CND8
|
||||
PRINTI " / PRSI = "
|
||||
PRINTD I
|
||||
?CND8: PRINTC 93
|
||||
CRLF
|
||||
?CND1: SET 'OA,PRSA
|
||||
SET 'OA,PRSA
|
||||
SET 'OO,PRSO
|
||||
SET 'OI,PRSI
|
||||
SET 'PRSA,A
|
||||
ZERO? P-WALK-DIR \?CND10
|
||||
EQUAL? IT,O,I \?CND10
|
||||
ZERO? P-WALK-DIR \?CND1
|
||||
EQUAL? IT,O,I \?CND1
|
||||
CALL VISIBLE?,P-IT-OBJECT
|
||||
ZERO? STACK /?CCL16
|
||||
EQUAL? IT,O \?CCL19
|
||||
ZERO? STACK /?CCL7
|
||||
EQUAL? IT,O \?CCL10
|
||||
SET 'O,P-IT-OBJECT
|
||||
JUMP ?CND10
|
||||
?CCL19: SET 'I,P-IT-OBJECT
|
||||
?CND10: ZERO? P-WALK-DIR \?CND25
|
||||
EQUAL? HIM,O,I \?CND25
|
||||
JUMP ?CND1
|
||||
?CCL10: SET 'I,P-IT-OBJECT
|
||||
?CND1: ZERO? P-WALK-DIR \?CND16
|
||||
EQUAL? HIM,O,I \?CND16
|
||||
CALL VISIBLE?,P-HIM-OBJECT
|
||||
ZERO? STACK /?CCL31
|
||||
EQUAL? HIM,O \?CCL34
|
||||
ZERO? STACK /?CCL22
|
||||
EQUAL? HIM,O \?CCL25
|
||||
SET 'O,P-HIM-OBJECT
|
||||
JUMP ?CND25
|
||||
?CCL16: ZERO? I \?CCL22
|
||||
JUMP ?CND16
|
||||
?CCL7: ZERO? I \?CCL13
|
||||
CALL FAKE-ORPHAN,TRUE-VALUE
|
||||
RETURN 8
|
||||
?CCL22: CALL REFERRING
|
||||
?CCL13: CALL REFERRING
|
||||
RETURN 8
|
||||
?CCL34: SET 'I,P-HIM-OBJECT
|
||||
?CND25: SET 'PRSO,O
|
||||
?CCL25: SET 'I,P-HIM-OBJECT
|
||||
?CND16: SET 'PRSO,O
|
||||
SET 'PRSI,I
|
||||
EQUAL? A,V?WALK /?CCL42
|
||||
EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?CCL42
|
||||
EQUAL? A,V?WALK /?CCL33
|
||||
EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?CCL33
|
||||
CALL D-APPLY,STR?1,NOT-HERE-OBJECT-F >V
|
||||
ZERO? V /?CCL42
|
||||
ZERO? V /?CCL33
|
||||
SET 'P-WON,FALSE-VALUE
|
||||
JUMP ?CND40
|
||||
?CCL31: ZERO? I \?CCL37
|
||||
JUMP ?CND31
|
||||
?CCL22: ZERO? I \?CCL28
|
||||
CALL FAKE-ORPHAN
|
||||
RETURN 8
|
||||
?CCL37: CALL REFERRING,TRUE-VALUE
|
||||
?CCL28: CALL REFERRING,TRUE-VALUE
|
||||
RETURN 8
|
||||
?CCL42: SET 'O,PRSO
|
||||
?CCL33: SET 'O,PRSO
|
||||
SET 'I,PRSI
|
||||
CALL THIS-IS-IT,PRSI
|
||||
CALL THIS-IS-IT,PRSO
|
||||
GETP WINNER,P?ACTION
|
||||
CALL D-APPLY,STR?2,STACK >V
|
||||
ZERO? V \?CND40
|
||||
ZERO? V \?CND31
|
||||
GET PREACTIONS,A
|
||||
CALL D-APPLY,STR?3,STACK >V
|
||||
ZERO? V \?CND40
|
||||
ZERO? I /?CCL52
|
||||
ZERO? V \?CND31
|
||||
ZERO? I /?CCL43
|
||||
GETP I,P?ACTION
|
||||
CALL D-APPLY,STR?4,STACK >V
|
||||
ZERO? V \?CND40
|
||||
?CCL52: ZERO? O /?CCL56
|
||||
EQUAL? A,V?WALK /?CCL56
|
||||
ZERO? V \?CND31
|
||||
?CCL43: ZERO? O /?CCL47
|
||||
EQUAL? A,V?WALK /?CCL47
|
||||
GETP O,P?ACTION
|
||||
CALL D-APPLY,STR?5,STACK >V
|
||||
ZERO? V \?CND40
|
||||
?CCL56: GET ACTIONS,A
|
||||
ZERO? V \?CND31
|
||||
?CCL47: GET ACTIONS,A
|
||||
CALL D-APPLY,FALSE-VALUE,STACK >V
|
||||
ZERO? V /?CND40
|
||||
?CND40: SET 'PRSA,OA
|
||||
ZERO? V /?CND31
|
||||
?CND31: SET 'PRSA,OA
|
||||
SET 'PRSO,OO
|
||||
SET 'PRSI,OI
|
||||
RETURN V
|
||||
@@ -423,30 +412,11 @@ START::
|
||||
|
||||
.FUNCT D-APPLY,STR,FCN,FOO=0,RES
|
||||
ZERO? FCN /FALSE
|
||||
ZERO? DEBUG /?CND4
|
||||
ZERO? STR \?CCL8
|
||||
PRINTI " Default ->"
|
||||
CRLF
|
||||
JUMP ?CND4
|
||||
?CCL8: PRINTI " "
|
||||
PRINT STR
|
||||
PRINTI " -> "
|
||||
?CND4: ZERO? FOO /?CCL11
|
||||
ZERO? FOO /?CCL6
|
||||
CALL FCN,FOO >RES
|
||||
JUMP ?CND9
|
||||
?CCL11: CALL FCN >RES
|
||||
?CND9: ZERO? DEBUG /?CND12
|
||||
ZERO? STR /?CND12
|
||||
EQUAL? RES,M-FATAL \?CCL18
|
||||
PRINTI "Fatal"
|
||||
CRLF
|
||||
RETURN RES
|
||||
?CCL18: ZERO? RES \?CCL20
|
||||
PRINTI "Not handled"
|
||||
?CCL6: CALL FCN >RES
|
||||
RETURN RES
|
||||
?CCL20: PRINTI "Handled"
|
||||
CRLF
|
||||
?CND12: RETURN RES
|
||||
|
||||
|
||||
.FUNCT DEQUEUE,RTN
|
||||
|
||||
Reference in New Issue
Block a user