enchanter/macros.zap

40 lines
526 B
Plaintext

.FUNCT PRINTA,O
FSET? O,VOWELBIT \?ELS7
PUSH STR?1
JUMP ?CND3
?ELS7: PUSH STR?2
?CND3: PRINT STACK
PRINTD O
RTRUE
.FUNCT RANDOM-ELEMENT,FROB
GET FROB,0
RANDOM STACK
GET FROB,STACK
RSTACK
.FUNCT PICK-ONE,FROB,L,CNT,RND,MSG,RFROB
GET FROB,0 >L
GET FROB,1 >CNT
DEC 'L
ADD FROB,2 >FROB
MUL CNT,2
ADD FROB,STACK >RFROB
SUB L,CNT
RANDOM STACK >RND
GET RFROB,RND >MSG
GET RFROB,1
PUT RFROB,RND,STACK
PUT RFROB,1,MSG
INC 'CNT
EQUAL? CNT,L \?CND1
SET 'CNT,0
?CND1: PUT FROB,0,CNT
RETURN MSG
.ENDI