5 FORI=1TO24:PRINT:NEXT 10 DATA 1,34,33,32,31,30,-1,-34,-33,-32,-31,-30 15 C=57000 20 DEF FNA(R)=INT(RND(R)*12)+1 30 R=1:D=10:PERCENT=50 40 DIM A(D,5),B(12) 50 CENTER=53776 60 DEF FNB(R)=INT(RND(1)*99)+1 70 FOR I=1 TO 12:READ B(I):NEXT 80 DATA 117,226,-218,327,52,-98,72,341,318,-386,0 90 READ X:POKE CENTER+X,46:IF X<>0 GOTO 90 100 REM MOVE FORWARD 110 FOR I=1 TO D 120 IF A(I,1)<>0 THEN GOSUB 400 130 NEXT I 140 GOSUB 300 200 REM ADD A STAR 220 FOR I=1 TO D 230 IF FNB(R)>PERCENT GOTO 250 240 IF A(I,1)=0 THEN GOSUB 500 250 NEXT I 260 GOSUB 300 270 GOTO 100 300 IF PEEK(C)=250 THEN POKE CENTER,32:CENTER=CENTER-1 310 IF PEEK(C)=252 THEN POKE CENTER,32:CERTER=CENTER+1 320 POKE CENTER,188 330 RETURN 400 REM MOVE SINGLE 410 IF A(I,5)<>188 AND A(I,2)<>CENTER THEN POKE A(I,2),A(I,5) 420 LET A(I,5)=PEEK(A(I,2)+A(I,3)) 430 LET A(I,2)=A(I,2)+A(I,3) 440 LET A(I,4)=A(I,4)+1 450 IF A(I,4)>10 THEN A(I,1)=0:GOTO470 460 IF A(I,2)<>CENTER THEN POKE A(I,2),46 470 RETURN 500 REM ADD SINGLE 510 LET A(I,4)=0 520 LET X=FNA(R) 530 LET A(I,3)=B(X) 540 LET A(I,2)=CENTER+B(X) 550 IF PEEK(A(I,2))<>32 OR PEEK(A(I,2)+B(X))<>32 GOTO 580 560 A(I,1)=1:POKE A(I,2),46 570 LET A(I,5)=32 580 RETURN 600 END