REM BREAK OUT GAME BY KENKEN CLS B=$86:W=$87:Q=$EC PALETTE 9,255,165,0 CURSOR 3,10:COLOR 6:PRINT "BREAK OUT GAME"; LABEL START L=3:M=1:T=0 CURSOR 2,18:COLOR 4 PRINT "PUSH START BUTTON"; LABEL START1 K=RND() K=KEYS():IF K!=16 THEN START1 LABEL LOOP0 CLS COLOR 6 CURSOR 23,4:PRINT "BREAK"; CURSOR 24,5:PRINT "OUT"; COLOR 7 FOR I=0 TO 26 CURSOR 0,I:PRINT CHR$(W); CURSOR 21,I:PRINT CHR$(W); NEXT CURSOR 1,0 FOR I=1 TO 20 PRINT CHR$(W); NEXT COLOR 2 CURSOR 1,4 FOR I=1 TO 20 PRINT CHR$(B); NEXT CURSOR 1,5 FOR I=1 TO 20 PRINT CHR$(B); NEXT COLOR 9 CURSOR 1,6 FOR I=1 TO 20 PRINT CHR$(B); NEXT CURSOR 1,7 FOR I=1 TO 20 PRINT CHR$(B); NEXT COLOR 4 CURSOR 1,8 FOR I=1 TO 20 PRINT CHR$(B); NEXT CURSOR 1,9 FOR I=1 TO 20 PRINT CHR$(B); NEXT N=60 LABEL LOOP1 GOSUB PSCORE GOSUB PLIVES P=9:X=20:Y=24 C=1:D=1 U=RND()%5-2:V=-1 GOSUB PUTCHR CURSOR 9,14:COLOR 7:PRINT "STAGE ";M; CURSOR 9,16:COLOR 6:PRINT "READY!"; DRAWCOUNT 0 LABEL LOOP2 IF DRAWCOUNT()<60 THEN LOOP2 CURSOR 9,14:PRINT " "; CURSOR 9,16:PRINT " "; LABEL LOOP3 IF DRAWCOUNT()=0 THEN LOOP3 DRAWCOUNT 0 E=0 GOSUB ERSCHR C=C-1 IF C>0 THEN JUMP1 C=4 K=KEYS() IF K=4 AND P>1 THEN P=P-1 IF K=8 AND P<18 THEN P=P+1 LABEL JUMP1 D=D-1 IF D>0 THEN JUMP2 IF M<5 THEN D=8-M ELSE D=3 R=X+U:S=Y+V IF S<4 OR S>=10 OR X<2 OR X>=42 THEN JUMP3 IF TVRAM(S*30+X/2)!=B THEN JUMP3 CURSOR (X-2)/2 OR 1,S:PRINT " ";:V=-V:S=Y+V:N=N-1:T=T+1:E=1 LABEL JUMP3 IF Y<4 OR Y>=10 OR R<2 OR R>=42 THEN JUMP4 IF TVRAM(Y*30+R/2)!=B THEN JUMP4 CURSOR (R-2)/2 OR 1,Y:PRINT " ";:U=-U:R=X+U:N=N-1:T=T+1:E=1 LABEL JUMP4 IF S<4 OR S>=10 OR R<2 OR R>=42 THEN JUMP5 IF TVRAM(S*30+R/2)!=B THEN JUMP5 CURSOR (R-2)/2 OR 1,S:PRINT " ";:U=-U:R=X+U:V=-V:S=Y+V:N=N-1:T=T+1:E=1 LABEL JUMP5 IF S<1 THEN V=-V:S=Y+V:GOTO JUMP6 IF S!=25 THEN JUMP6 IF (X>=P*2 AND X<=(P+2)*2) OR (R>=P*2 AND R<=(P+2)*2) THEN V=-V:S=Y+V:U=RND()%5-2:R=X+U:E=2 LABEL JUMP6 IF R<2 OR R>40 THEN U=-U:R=X+U X=R:Y=S LABEL JUMP2 GOSUB PUTCHR GOSUB PSCORE GOSUB PSOUND IF N=0 THEN JUMP7 IF Y<26 THEN LOOP3 SOUND SOUND1 LABEL LOOP4 IF DRAWCOUNT()<60 THEN LOOP4 L=L-1:IF L<0 THEN GOVER GOSUB ERSCHR GOTO LOOP1 LABEL GOVER CURSOR 6,12:COLOR 7 PRINT "GAME OVER"; GOTO START LABEL JUMP7 SOUND SOUND2 CURSOR 8,13:PRINT "GOOD!"; M=M+1 LABEL LOOP5 IF DRAWCOUNT()<120 THEN LOOP5 GOTO LOOP0 LABEL PUTCHR CURSOR X/2,Y:COLOR 7:PRINT CHR$(Q); CURSOR P,25:COLOR 5:PRINT CHR$(W);CHR$(W);CHR$(W); RETURN LABEL ERSCHR CURSOR X/2,Y:PRINT " "; CURSOR P,25:PRINT " "; RETURN LABEL PSCORE CURSOR 23,14:COLOR 5:PRINT "SCORE"; CURSOR 24,15:COLOR 7:PRINT T; RETURN LABEL PLIVES CURSOR 23,18:COLOR 4:PRINT "STAGE "; CURSOR 24,19:COLOR 7:PRINT M; CURSOR 23,22:COLOR 5:PRINT "BALLS"; CURSOR 24,23:COLOR 7 IF L<=0 THEN PLJ1 FOR I=1 TO L PRINT CHR$(Q); NEXT LABEL PLJ1 PRINT " "; RETURN LABEL PSOUND IF E=1 THEN SOUND SOUND3 IF E=2 THEN SOUND SOUND4 RETURN LABEL SOUND1 DATA $64000,$20000,$1E4000,1 LABEL SOUND2 DATA $60800,$60C00,$61000,$61800,$62000 DATA $61800,$61000,$60C00,$60800,$60400,1 LABEL SOUND3 DATA $306E0,$30700,1 LABEL SOUND4 DATA $30B80,$30C00,1