100 'BREAKOUT 110 ' 120 'Change made by Gary Weber -- 130 'Now it will run on both Model 100 and NEC PC-8201A without any changes! 140 'Uses escape codes for screen location 150 DEFSNGX:DEFINTA-W,Y-Z:BT=56:BB=57:ST=2:SB=60:SL=2:SR=236 160 DIMBX(20,32):SCREEN,0:CLS:OG=1:HI=0:BL=106:BH=132:BC=119:LINE(BL,BT)-(BH,BB),1,B 170 IFOG=0THEN190ELSEONERRORGOTO180:OPEN"SCORE.DO"FORINPUTAS1:INPUT#1,IT$,HI:IT$=LEFT$(IT$,3):GOTO190 180 RESUME190 190 ONERRORGOTO0:CLOSE 200 ' 210 ' 220 'DRAW SCREEN 230 ' 240 IFSC>HITHENHI=SC:X1=23:Y1=1:GOSUB700:INPUT"Initials:";IT$:IT$=LEFT$(IT$,3):IFOG=1THENOPEN"SCORE.DO"FOROUTPUTAS1:PRINT#1,IT$;",";HI:CLOSE#1 250 IFHI>0THENX1=23:Y1=1:GOSUB700:PRINT" ";IT$;":";HI 260 SC=0:BA=0:XL=.2 270 CT=52:LINE(SL-2,ST-2)-(SR+3,SB+3),1,B:LINE(SL-1,ST-1)-(SR+2,SB+2),1,B 280 FORYV=3TO8:FORXV=1TO14 290 IFYVMOD3<>0THENBX(XV,YV)=1:LINE(XV*16-7,YV*4)-(XV*16+6,YV*4+1),1,B 300 NEXT:NEXT 310 ' 320 ' 330 'READ KEYBOARD & ACT 340 ' 350 A$=INKEY$ 360 IFA$<>""THENGOSUB450 370 IFBA=0THEN350 380 LINE(XP,YP)-(XP+1,YP+1),0,B:XP=XP+XM:YP=YP+YM 385 IF XPSR OR YPSB THEN540 390 LINE(XP,YP)-(XP+1,YP+1),1,B:IFYP=BTTHEN610ELSEIFYPMOD4=0THEN660 400 GOTO350 410 ' 420 ' 430 'KEY PRESSED 440 ' 450 IFA$="."THENIFBHSL+10THENBL=BL-10:BH=BH-10:LINE(BH+1,BT)-(BH+10,BB),0,B:LINE(BL,BT)-(BL+9,BB),1,B:BC=BC-10:RETURNELSERETURN 470 IFA$=CHR$(27)THENMENU 480 IFBA=0THENBA=1:XM=RND(1)*2+1:YP=40+2*INT(RND(1)*3):XP=2:YM=2:X1=2:Y1=1:GOSUB700:PRINT" " 490 RETURN 500 ' 510 ' 520 'HIT A WALL 530 ' 540 IFXPSRTHENXM=-XM:SOUND4100,2:IFXPSBTHEN240 560 GOTO350 570 ' 580 ' 590 ' ON THE PADDLE ROW 600 ' 610 IF ABS(XP-BC)<=14 THEN YM=-YM :XM=XM+(XP-BC)*XL+(RND(1)-.5)/8 :SOUND 3900,2 :GOTO 350 620 ' 630 ' 640 'ON A BRICK'S ROW 650 ' 660 XV=(XP+7)\16:YV=YP\4:IF(XP+7)MOD16>14ORBX(XV,YV)=0THEN350 670 LINE(XV*16-7,YV*4)-(XV*16+6,YV*4+1),0,B:SC=SC+3*(15-YV)+7:X1=2:Y1=1:GOSUB700:PRINT"Score:";SC; 671 SOUND2000+200*(15-YV),2:YM=-YM:BX(XV,YV)=0:CT=CT-1:IFCT=4THENSOUND4100,3:SOUND4200,3:SOUND4300,3:XL=XL+.2:SC=SC+1000:GOTO270ELSE350 700 PRINTCHR$(27)"Y"CHR$(32+Y1)CHR$(32+X1);:RETURN