5 REM COPYRIGHT 1993 - COMPUTE PUBLICATIONS INTL LTD - ALL RIGHTS RESERVED 10 REM SETUP 20 POKE53281,0:POKE53280,0:POKE53282,11:POKE53283,1:GETA$:GETA$ 30 DIMAG(8,9):PRINTCHR$(8) 40 S=54272:FORT=STOS+24:POKET,.:NEXTT:POKES+5,9 50 ZA$="[195][195][195][195][195][195][195][195][195][195][195][195][195][195]":ZB$="":ZC$="[157][157][157][157][157]":ZD$="":ZE$=" " 60 ZF$="000000":ZG$=" [151][193][192][192][192][192][192][192][192][192][192][192][192][192][192][192][193]":AT$="[206][207][157][157][208][209][146][145]":BL$="[154][170][171][157][157][172][173][145]" 70 CO$(1)="[149]":CO$(2)="[150]":CO$(3)="[151]":CO$(4)="[152]":CO$(5)="[153]":CO$(6)="[155]" 80 SC=0:AT=0:FORT=1TO7:FORI=1TO8:AG(T,I)=.:NEXTI:NEXTT:DI=1:DS=0:BA$="[146] [157][157] [145]" 90 DI$(1)="PRACTICE":DI$(2)="EASY":DI$(3)="MODERATE":DI$(4)="HARD" 100 R=0:V=0:C=2:DE$="N":XP$="[151]LM[157][157]NO" 110 REM DRAW SCREEN 120 PRINT"[147][151][146]"SPC(22)"[201][202][202][203]"ZC$"[198][204][205][205][200]"ZC$"[199] [150][206][207][151][200]"ZC$"[199] [150][208][209][151][200]" 130 PRINTZG$ZA$"[195][195][195][195][195]"; 140 FORT=1TO16:PRINT" [194]"SPC(14)"[194]":NEXTT:PRINT" [196]"ZA$"[197]"SPC(30)"[151][146][210][212][214]"; 150 PRINT"[216][218]"ZC$"[211][213][215][217][219]"ZC$"[157][157][220][221][255][223][160][161][162][163][164]"ZC$"[157][157][168][169][165][166][167]":PRINTSPC(22)"[187][188][189][190]"; 160 PRINT"[157][157][157][157][177][178][184][180][181]"ZC$"[182][183][184][185][177]"ZB$""ZD$;:FORT=1TO6:FORI=1TO7 170 PRINTCO$(INT(RND(0)*6)+1)AT$;:NEXTI:PRINT:PRINTZD$"";:NEXTT 180 REM START 190 POKE53247,0:SYS49323:POKES+24,15 200 PRINTZB$""SPC(28)""ZF$""ZC$"[157]"ZF$""ZC$"[157]"ZF$:GOSUB280 210 PRINTZB$""ZD$"[159]F1-GAMEPLAY:":PRINTZD$ZE$ZE$;"[145]" 220 PRINTZD$SPC(7-LEN(DI$(DI))/2)DI$(DI):IFDI=1THENDS=0 230 PRINTZD$"[159] PRESS RETURN":PRINTZD$" TO START" 240 IFA$=""THENGOSUB960:GOTO240 250 IFA$="[133]"THENDI=DI+1:IFDI=5THENDI=1 260 IFA$=CHR$(13)THEN310 270 A$="":DS=2*DI-3:GOTO210 280 REM PRINT SCORE 290 PRINTZB$"":JJ=HS:GOSUB300:JJ=SC*DS:GOSUB300:JJ=AT:GOSUB300:RETURN 300 PRINT""SPC(35-LEN(STR$(JJ)))MID$(STR$(JJ),2,10):RETURN 310 REM CLEAR AREA 320 PRINTZB$"";:FORT=1TO16:PRINTZD$"[146]"ZE$ZE$:NEXTT 330 REM NEW ATOM 340 PRINTZB$""ZG$:CO=C:D$="N" 350 FORT=22TO18STEP-1:PRINTZB$SPC(T)CO$(CO)AT$;:IFT=19THENPRINT"[199][157][199]":GOTO370 360 PRINT" [157] ":GOSUB960:V=0:R=7:TM=10:RE=0 370 GOSUB960:NEXTT:C=INT(RND(0)*6)+1:PRINTZB$SPC(23)CO$(C)"[208][209][157][157] ":GOSUB960 380 PRINTZB$SPC(23)CO$(C);AT$:GOSUB960 390 REM INPUT FROM JOYSTICK 400 JV=PEEK(56320):FR=JVAND16:JV=15-(JVAND15):A=R:V=0:B=V 410 IFJV=4THENR=R-1:IFR=0THENR=1 420 IFJV=4THEN460 430 IFJV=8THENR=R+1:IFR=8THENR=7 440 IFJV=8THEN460 450 IFFR<>16THEN490 460 IFA<>RTHENGOSUB1090 470 TM=TM-1:IFTM=0THEN490 480 GOSUB1120:GOSUB960:GOTO400 490 REM DROP ATOM 500 PRINTZB$" [151][193]"ZE$ZE$ 510 A=R:B=V:V=V+1:IFAG(R,V)<>0ORV=9THENV=V-1:GOTO540 520 GOSUB1090:GOSUB1120:GOSUB960 530 GOTO510 540 AG(R,V)=CO:IFV=0THEN1010 550 REM REACTION 560 F$="N":FORT=1TO8:FORI=1TO7:IFAG(I,T)=0ORAG(I,T)=10THEN610 570 IFAG(I,T+1)=0ANDT<8THENAG(I,T+1)=AG(I,T):AG(I,T)=0:F$="1":GOSUB630:GOTO610 580 IFAG(I,T+1)=AG(I,T)ANDT<8THENA=I:B=T+1:F$="2":GOSUB890 590 IFAG(I-1,T)=AG(I,T)ANDI>1THENA=I-1:B=T:F$="2":GOSUB890 600 IFF$="2"THENA=I:B=T:F$="1":GOSUB890:F$="1" 610 NEXTI:NEXTT:IFF$="N"THEN660 620 GOTO550 630 REM PULL ATOM DOWN 640 PRINTZB$""SPC(I*2+4);:FORJ=1TOT:PRINT"";:NEXTJ:PRINTBA$:PRINTZB$""; 650 PRINTSPC(I*2+4);:FORJ=1TOT+1:PRINT"";:NEXTJ:PRINTCO$(AG(I,T+1))AT$:RETURN 660 REM DIFFICULTY CHECK 670 IFDI=2ANDD$="N"THEN750 680 IFDI=3ANDD$="N"THEN750 690 IFDI>2THEN710 700 GOTO330 710 REM DRAW BLOCK 720 I=INT(RND(0)*7)+1:T=INT(RND(0)*7)+2:AG(I,T)=10:PRINTZB$""SPC(4+I*2); 730 FORZ=1TOT:PRINT"";:NEXTZ:PRINTBL$ 740 FORZ=10TO1STEP-.5:POKES+4,32:POKES+1,Z:POKES,10:POKES+4,33:NEXTZ:GOTO330 750 REM DRAW ZAPPER 760 A=INT(RND(0)*8)+1:IFA=2THEN760 770 IFDI=2THENA=INT(RND(0)*5)+4 780 PRINTZB$""SPC(6);:FORT=1TOA:PRINT"";:NEXTT:FORT=1TO7:PRINT"[153][174][175]"; 790 FORZ=1TO100STEP50:POKES+4,33:POKES+1,Z:POKES,10:POKES+4,32:NEXTZ 800 IFAG(T,A)<>0THENAG(T,A)=INT(RND(0)*6)+1 810 NEXTT:D$="Y":GOSUB820:GOTO550 820 REM REDRAW AREA 830 PRINTZB$""SPC(6);:FORT=1TO8:FORI=1TO7 840 IFAG(I,T)=0THENPRINTBA$;:GOTO870 850 IFAG(I,T)=10THENPRINTBL$;:GOTO870 860 PRINTCO$(AG(I,T))AT$; 870 NEXTI:PRINT:PRINTSPC(6)"";:NEXTT:RETURN 880 POKES+4,128:POKES+1,10:POKES,10:POKES+4,129 890 IFA=I AND B=T AND AG(I,T+1)=AG(I,T)THENRETURN 900 IFA=I AND B=T AND AG(I+1,T)=AG(I,T)THENRETURN 910 REM DRAW EXPLOSION 920 PRINTZB$"";:FORZ=1TOB:PRINT"";:NEXTZ:PRINTSPC(4+A*2)XP$ 930 FORZ=10TO20:POKES+4,33:POKES+1,Z:POKES,10:POKES+4,32:NEXTZ 940 PRINTZB$"";:FORZ=1TOB:PRINT"";:NEXTZ:PRINTSPC(4+A*2)BA$ 950 AG(A,B)=0:RE=RE+1:AT=AT+1:SC=SC+RE:GOSUB280:RETURN 960 GETB$:IFB$=CHR$(147)THEN1140 970 IFB$<>"_"THENA$=B$:RETURN 980 PRINT"[146]"SPC(10)"PAUSED" 990 GETB$:IFB$<>""THENPRINT"[146]"SPC(10)ZE$:RETURN 1000 GOTO990 1010 REM NUCLEAR MELTDOWN 1020 PRINTZB$""SPC(6);:FORT=1TO8:FORI=1TO7:PRINTXP$"[145]"; 1030 POKES+4,129:POKES+1,T*10+I*10:POKES,50:POKES+4,128 1040 NEXTI:PRINT:PRINTSPC(6)"";:NEXTT 1050 FORT=1TO50:POKE53281,0:POKE53281,1 1060 POKES+4,129:POKES+1,T:POKES,50:POKES+4,128:NEXTT:POKE53281,0:POKES+24,0 1070 FORT=1TO1000:NEXTT:IFSC*DS>HSTHENHS=SC*DS 1080 GOTO1140 1090 REM REDRAW ATOM 1100 PRINT"":IFB=0THENPRINTSPC(4+A*2)BA$:RETURN 1110 PRINT"";:FORT=1TOB:PRINT"";:NEXTT:PRINTSPC(4+A*2)BA$:RETURN 1120 PRINT"":IFV=0THENPRINTSPC(4+R*2)CO$(CO)AT$:RETURN 1130 PRINT"";:FORT=1TOV:PRINT"";:NEXTT:PRINTSPC(4+R*2)CO$(CO)AT$:RETURN 1140 REM RESET 1150 POKE36866,HS/256:POKE36867,HS-INT(HS/256)*256:POKES+24,0:CLR 1160 HS=PEEK(36866)*256+PEEK(36867):S=54272:GOTO20