15 OPTION RUN 20 DEF FNat$(x,y)=CHR$(27)+"Y"+CHR$(x+32)+CHR$(y+32) 30 cl$=CHR$(27)+"E"+CHR$(27)+"H":rev$=CHR$(27)+"p":rof$=CHR$(27)+"q":le=1 40 del=50:l=1:DIM ar$(28,65):b$=rev$+" "+rof$:DIM br(300),ls(21) 50 PRINT cl$;CHR$(27)+"f":RANDOMIZE PEEK(64504!):FOR a=1 TO le*10 60 br(a)=INT(RND*12)+1:IF br(a)/2<>INT(br(a)/2) THEN 60 ELSE NEXT 70 FOR a=1 TO 20:PRINT FNat$(a+5,31);CHR$(133);FNat$(a+5,60);CHR$(133):NEXT 80 PRINT FNat$(26,31);CHR$(131);STRING$(28,138);CHR$(137) 90 PRINT FNat$(2,36);"N * I * O * N * X * X" 100 PRINT FNat$(8,63);"LEFT/RIGHT CURSOR KEYS MOVE";FNat$(12,67)"BLOCKS INTO POSITION" 110 PRINT FNat$(16,63);"UP/DOWN DECREASES/INCREASES";FNat$(20, 70);"FALLING SPEED " 120 PRINT FNat$(23,5)"PRESS Q TO QUIT" 130 x=6:y=42:ti$="":tib$="":FOR q=1 TO br(1):ti$=ti$+b$:tib$=tib$+" ":NEXT q 140 PRINT FNat$(ox,oy);tib$:PRINT FNat$(x,y);ti$:ox=x:oy=y 150 PRINT FNat$(8,5)"SCORE :";sc;FNat$(12,5);"LEVEL :"le; 160 PRINT FNat$(16,5);"SPEED :";del/10;FNat$(4,5)rev$;"* SCORECARD *"rof$ 170 x=x+1:FOR c=1 TO br(1):IF ar$(x+1,y+c)=b$ THEN 250 ELSE NEXT c 180 FOR a=1 TO del:NEXT:IF x=26 THEN 250 190 k$=INKEY$:IF k$=CHR$(1) THEN y=y-2 ELSE IF k$=CHR$(6) THEN y=y+2 200 IF k$=CHR$(31) THEN del=del+30 ELSE IF k$=CHR$(30) THEN del=del-30 210 IF k$="q" THEN 340 220 IF del<0 THEN del=0 230 IF y=30 THEN y=y+2 ELSE IF y+br(1)>=62 THEN y=y-2 240 GOTO 140 250 FOR c=1 TO br(1):ar$(x,y+c)=b$:NEXT:sc=sc+br(1):IF x=7 THEN 290 260 ls(x-5)=ls(x-5)+br(1):IF ls(x-5)=28 THEN sc=sc+(100-(del/10)):del=del-30 270 l=l+1:ox=5:oy=1:IF l=le*10 THEN 300 280 GOTO 130 290 PRINT FNat$(28,36);"FAILED LEVEL "le;FNat$(30,36);"TRY AGAIN....":GOTO 330 300 IF le=10 THEN PRINT FNat$(14,70);"GAME COMPLETED !!!" ELSE 320 310 PRINT CHR$(7):FOR a=1 TO 6000:NEXT:GOTO 340 320 le=le+1:PRINT FNat$(24,70);"THROUGH LEVEL "le-1;FNat$(26,70);" NEXT LEVEL..." 330 FOR a=1 TO 3000:NEXT:ERASE ar$,br,ls:GOTO 40 340 PRINT FNat$(28,34);"PRESS A KEY TO END GAME" 350 m$=INKEY$:IF m$="" THEN 340 ELSE PRINT cl$;CHR$(27)+"e"