Commodore PET User Manual page 422

Table of Contents

Advertisement

105 IF C$=CHR$(13) GOTO 170
11 i Z 1 PI": 1NT
"::1" ;
:
REt'l CLEAF: SCREEN
120 X=RND(-TI)
:REM START NEW SEED
125 C=(ASC(C$)AND128)/2 OR (ASC(C$)AND63)
126 FOR L=lT01000 :REM 1 FOR EACH SPOT
127
T%=T~RND(l)+l
:REM PICK A TABLE
128 ON T% GOSUB 300,400,500,600 :REM GO PICK AN ELEMENT
130 POKE A,C
:REM DISPLAY CHAR
14~:::1
t·lE;:":T L
16€1 GOTO 95
170 Et·lIt
199 REM **SUBR TO INITIALIZE
TABLES~*
200 FOR 1=0 Ta N-l:Tl(I)=I:NEXT
210 FOR 1=0 TO N-IT2(1)=1+250:NEXT
220 FOR 1=0 Ta N-IT3(1)=1+500:NEXT
230 FOR 1=0 TO N-l :T4(1)=1+750:NEXT
240
RETUF:~j
299 REM _*SUBROUTINE FOR TABLE Tl*_
3~30
Nl=t·jl-1
305 REM IF EMPTY, GO TO ANOTHER TABLE
310 IF Nl<0 THEN ON INT(3*RND(1)+1) GOTO 400,500,600
320 A%=(Nl+l)*RND(l)
REM PICK AN ELEM
330 A=Tl(A%)+32768 :REM FORM POKE ADDR
340 TP=Tl(A%)Tl(A%)=Tl(Nl):Tl(Nl)=TP :REM SWAP ELEMENTS
350 F;ETUF.:N
399 REM **SUBROUTINE FOR TABLE T2**
4üü N2=t·j2-1
410 IF N2<0 THEN ON INT(3*RND(I)+1) GOTO 300,500,600
420 A%=(N2+1)*RND(1)
430 A=T2(A%)+32768
44ü TP=T2(A%):T2(A%)=T2(N2):T2(N2)=TP
45ü RETUf':N
499 REM *lI!SUBROUT 1NE FOF.: TABLE T3;+!*
500 t·j3=N:3-1
510 IF N3<0 THEN ON
INT(3~RND(1)+I)
GOTO 300,400,600
520 A%=(N3+1)*RND(I)
530 A=T3(A%)+32768
540 TP=T3(A%):T3(A%)=T3(N3):T3(N3)=TP
55€1 F;ETUF.:t·j
599 REM *;+!SUBROUTINE FOR TABLE
T4;+!*
600 N4=tN-1
610 IF N4<0 THEN ON INT(3*RND(1)+I) GOTO 300,400,500
620 A%=(N4+1)*RND(I)
630 A=T4(A%)+32768
640 TP=T4(A%)T4(A%)=T4(N4):T4(N4)=TP
65ü f':ETUF;N
409

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Cbm

Table of Contents