A final modification to the program will show how this kind of program ac-
tivity can be hidden in a screen display. The following program intersperses dis-
playing a header on the screen with the initialization procedure.
5 RH1
F~ANDot1
' · ...
EF~S
1ON 3
10 REM
~*~***~
B LAN K E T
~****~*
20 REM RANDOM DISPLAY OF ONE
::::0 F:Et'1
CHA":ACTER nnERED
FF:O~l
THE
40 REM
KEYBOARD
50 REM
****~*****~~*******************
70 DIM T(999),H(121)
75 FOR 1=0 TO 121:READ H(I):NEXT
76 PI': 1tH":']"
: REt1
CLEAF~
::;;CREEN
::;:0 GOSlJE: 213fl
: ":H1 IN 1T I AL I ZE TABLE
90 PRINT"HIT A KE'T'
OF~
.Cf':> TO Et·m".;
100 GET C$:IF C$="" GOTO 11313
105 IF C$=CHR$(13) GOTO 170
11 fi PF.: I NT":']" .;
: REM CLEAR SCREEN
120 X=RND(-TI)
:REM START NEW SEED
125 C=(ASC(C$)ANDI28)/2 OR (ASC(C$)AND63)
126 FOR N=999 TO 0 STEP -1
127 A%=(N+1).RND(1)
:REM PICK AN ELEM
128 A=T(A%)+32768 :REM FORM POKE ADDR
129 TP=T(A%):T(A%)=T(N):T(N)=TP
:REM SWAP ELEMENTS
130 POKE A., C
:
RE~1
DI SPLA'r' CHAR
140 NE>':T N
160 GOTO 1f1fl
17fl Et·m
199 REM .*SUBR TO INITIALIZE TABLE**
2f1f1 FOR I=f1 TO 999 STEP 8
21f1 FOR 3=1 TO I+7:T(3)=3:NEXT
22f1 IF K>121 GOTO 250
23f1 POKE H(K)+33133,16f1
24ü K=K+l
250
NE~':T
I
;;:60
RETUF~N
3f10 DATA 28,171,7,165,245,O,223,249,54,97,16,19,262,109
,160,183,167,99,248,14
31f1 DATA 267,264,185,120,189,17,269,29,172,247,9,145,26
5,204,162,25,261,266,137
32ü DATA 251,45,2Ü7,243,1Ü,257,26,22,85,254,225,242,149
,20,11,18,205,263,129
330 DATA 200,103,229,27,15,12,21,174,268,139,125,101,20
2,24,5,141,1,132,169,63
340 DATA 212,4,8,164,219,256,181,253,23,6,214,3,187,255
,131,177,83,179,240,246
350 DATA 87,143,241,209,82,211,89,258,69,59,134,80,147,
94,2,13,259,260,250,227
360 DATA 244,252,49,4f1
301