40 lines
540 B
Plaintext
40 lines
540 B
Plaintext
|
|
|
|
.FUNCT ZPROB,BASE
|
|
ZERO? LUCKY /?ELS5
|
|
RANDOM 100
|
|
GRTR? BASE,STACK /TRUE
|
|
RFALSE
|
|
?ELS5: RANDOM 300
|
|
GRTR? BASE,STACK /TRUE
|
|
RFALSE
|
|
|
|
|
|
.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
|