10 RANDOMIZE TIMER:ON ERROR GOTO 9999 12 DIM PT(25),X(25),Y(25),RICK(16),FIXS(16),CLORRICK(16):GOSUB 4000:GOSUB 5400 14 FOR I=68 TO 292 STEP 56:FOR L=L1 TO L1+20 STEP 5:X(L)=I:NEXT:L1=L1+1:NEXT:L1=0:FOR I=16 TO 128 STEP 28:FOR L=L1 TO L1+4:Y(L)=I:NEXT:L1=L1+5:NEXT 20 FOR L=0 TO 8:READ ST(L):NEXT:FOR L=0 TO 4:M(L)=X(L):N(L)=Y((4-L)*5):NEXT:FOR L=0 TO 5:READ P$(L):NEXT:FOR L=0 TO 4:C(L)=2:NEXT:C(2)=3:FOR L=1 TO 6:READ INS$(L):NEXT:INS$(3)=LEFT$(INS$(3),2)+","+RIGHT$(INS$(3),32) 21 INS$(6)=LEFT$(INS$(6),13)+","+RIGHT$(INS$(6),20) 30 GOSUB 3000 40 GOSUB 5023:LOCATE 23,2:PRINT "Would you like instructions? (Y or N)"; 42 GOSUB 60:IF IN$=CHR$(27) THEN GOSUB 5004:GOSUB 780:GOTO 40 44 IF IN$="Y" THEN GOSUB 2000:CLS:GOTO 1000 46 IF IN$<>"N" THEN 40 ELSE 1000 60 GOSUB 5110 62 GOSUB 5100:IN$=INKEY$:IF IN$="" THEN 62 ELSE GOSUB 5102:RETURN 100 LINE(M(M),16)-(M(M)+3,131),1,BF:RETURN 102 LINE(68,N(N))-(295,N(N)+3),1,BF:RETURN 110 GOSUB 7001 111 LINE(X(PT)-11,Y(PT)-11)-(X(PT)+14,Y(PT)-8),2,BF:LINE(X(PT)-11,Y(PT)-11)-(X(PT)-8,Y(PT)+14),2,BF:LINE(X(PT)+11,Y(PT)-11)-(X(PT)+14,Y(PT)+14),2,BF:LINE(X(PT)-11,Y(PT)+11)-(X(PT)+14,Y(PT)+14),2,BF 114 RETURN 116 LINE(X(PT)-11,Y(PT)-11)-(X(PT)+14,Y(PT)-8),COL,BF:LINE(X(PT)-11,Y(PT)-11)-(X(PT)-8,Y(PT)+14),COL,BF:LINE(X(PT)+11,Y(PT)-11)-(X(PT)+14,Y(PT)+14),COL,BF:LINE(X(PT)-11,Y(PT)+11)-(X(PT)+14,Y(PT)+14),COL,BF:RETURN 120 GET(X(BUG)-6,Y(BUG)-6)-(X(BUG)+9,Y(BUG)+9),FIXS:PUT(X(BUG)-6,Y(BUG)-6),RICK,PSET:RETURN 121 LINE(X(BUG),Y(BUG))-(X(BUG)+3,Y(BUG)+3),1,BF:RETURN 122 PUT(X(BUG)-6,Y(BUG)-6),FIXS,PSET:RETURN 124 RETURN 130 FOR I=0 TO 24:IF PT(I)=1 THEN PT=I:GOSUB 111 132 NEXT:RETURN 140 LINE(M(M),16)-(M(M)+3,131),C(M),BF 142 LINE(68,N(N))-(295,N(N)+3),C(N),BF 144 LINE(68,N(N))-(295,N(N)+3),C(N),BF:RETURN 200 MOVE=INT(RND(1)*4)+1 202 IF MOVE=1 AND Y(BUG)-28<16 THEN 200 204 IF MOVE=2 AND X(BUG)+56>292 THEN 200 206 IF MOVE=3 AND Y(BUG)+28>128 THEN 200 208 IF MOVE=4 AND X(BUG)-56<68 THEN 200 220 ON MOVE GOTO 222,224,226,228 222 BUG=BUG-5:GOTO 230 224 BUG=BUG+1:GOTO 230 226 BUG=BUG+5:GOTO 230 228 BUG=BUG-1 230 GOSUB 120 290 RETURN 310 IF SND=0 THEN GOSUB 400:RETURN ELSE PLAY "L16"+P$(M):RETURN 312 IF SND=0 THEN GOSUB 400:RETURN ELSE PLAY "L16"+P$(N):RETURN 320 IF SND=0 THEN GOSUB 410:RETURN ELSE PLAY"O2L8FL4C":RETURN 330 RETURN 340 IF SND=0 THEN GOSUB 420:RETURN ELSE PLAY"MFO2L8GO3L16CEDCL8O2AAGGO3L4C":RETURN 350 IF SND=0 THEN GOSUB 400:RETURN ELSE PLAY"L64N"+STR$(INT(RND(1)*84)):RETURN 400 FOR PAUSE=1 TO 100:NEXT:RETURN 410 FOR PAUSE=1 TO 500:NEXT:RETURN 420 FOR PAUSE=1 TO 1000:NEXT:RETURN 430 FOR PAUSE=1 TO 2000:NEXT:RETURN 440 FOR PAUSE=1 TO 3000:NEXT:RETURN 500 LOCATE 25,2:PRINT "PRESS TO CONTINUE."; 502 GOSUB 700:IF FLAG=1 THEN GOSUB 5025:GOTO 500 ELSE IF FLAG=2 THEN RETURN ELSE IF IN$<>CHR$(13) THEN 502 ELSE GOSUB 5025:RETURN 600 GOSUB 5004:LOCATE 23,2:PRINT "Which bottom number? "; 610 GOSUB 700:IF FLAG=1 THEN 600 ELSE IF FLAG=2 THEN RETURN 612 IF IN$=CHR$(13) THEN 610 614 PRINT IN$;:A$=IN$:IF IN$<>"+" AND IN$<>"-" THEN 630 620 GOSUB 700:IF FLAG=1 THEN 600 622 IF IN$<"0" OR IN$>"2" THEN 620 624 IF FLAG=2 THEN RETURN 626 A$=A$+IN$:PRINT IN$; 630 GOSUB 410 640 A=VAL(A$):M=A+2:RETURN 650 GOSUB 5004:LOCATE 23,2:PRINT "Which side number? "; 660 GOSUB 700:IF FLAG=1 THEN 650 ELSE IF FLAG=2 THEN RETURN 662 IF IN$=CHR$(13) THEN 620 664 PRINT IN$;:C$=IN$:IF IN$<>"+" AND IN$<>"-" THEN 680 670 GOSUB 700:IF FLAG=1 THEN 650 672 IF IN$<"0" OR IN$>"2" THEN 670 674 IF FLAG=2 THEN RETURN 676 C$=C$+IN$:PRINT IN$; 680 GOSUB 410 690 C=VAL(C$):N=C+2:RETURN 700 FLAG=0:GOSUB 60:IF IN$=CHR$(27) THEN GOSUB 5004:GOSUB 780:FLAG=1:RETURN 702 IF IN$="?" THEN FLAG=2:CLS:GOSUB 2000:SCREEN 1,0:COLOR 0:RETURN 706 IF IN$=CHR$(13) THEN 720 710 IF IN$<>"+" AND IN$<>"-" AND IN$<>"0" AND IN$<>"1" AND IN$<>"2" THEN 700 720 RETURN 770 PUT(X(BUG)-6,Y(BUG)-6),RICK,PSET:GOSUB 5004:LOCATE 23,2:PRINT "WHOOPS! That would squash the bug!";:LOCATE 25,2:PRINT "PRESS TO TRY AGAIN."; 772 GOSUB 320 774 FLAG=0:GOSUB 60:IF IN$=CHR$(13) THEN RETURN ELSE IF IN$=CHR$(27) THEN GOSUB 5004:GOSUB 780:GOTO 770 ELSE IF IN$="?" THEN GOSUB 2000:FLAG=1:RETURN ELSE GOTO 774 780 GOSUB 5025:LOCATE 25,6:PRINT "DO YOU WANT TO STOP? (Y OR N)"; 782 GOSUB 60:IF IN$<>"Y" AND IN$<>"N" THEN 782 784 IF IN$="Y" THEN 1500 ELSE GOSUB 5025:RETURN 820 HC=INT(RND(1)*7):IF HC=0 OR HC=7 THEN 820 822 LC=INT(RND(1)*16):IF LC=8 OR LC=0 OR LC=7 OR LC=15 OR LC=15 OR LC=HC THEN 822 824 FC=INT(RND(1)*16):IF FC=0 OR FC=7 OR FC=8 OR FC=15 OR FC=HC OR FC=LC THEN 824 826 BC=INT(RND(1)*16):IF BC=0 OR BC=7 OR BC=8 OR BC=15 OR BC=FC OR BC=LC OR BC=HC THEN 826 828 EC=INT(RND(1)*7)+9:IF EC=HC OR EC=8 THEN 828 830 SCREEN 0,1:COLOR 7,0:CLS:LOCATE 2,8,0:COLOR FC:PRINT STRING$(25,220);:LOCATE 3,8:PRINT CHR$(219);STRING$(23,223);CHR$(219);:FOR L=4 TO 16:LOCATE L,8:PRINT CHR$(219);:LOCATE L,32:PRINT CHR$(219); 832 NEXT:LOCATE 17,8:PRINT CHR$(219);STRING$(23,220);CHR$(219);:LOCATE 18,8:PRINT STRING$(25,223); 840 COLOR HC:LOCATE 4,19:PRINT STRING$(3,220);:COLOR EC,HC:LOCATE 5,18:PRINT " ";CHR$(220);" ";CHR$(220);" ";:LOCATE 6,17:PRINT " ";CHR$(220);" ";CHR$(220);" "; 842 COLOR LC,0:LOCATE 7,11:PRINT CHR$(220);:LOCATE 7,17:COLOR HC:PRINT CHR$(223);:COLOR EC,HC:PRINT " ";STRING$(3,223);" ";:COLOR HC,0:PRINT CHR$(223);:COLOR LC:LOCATE 7,29:PRINT CHR$(220); 844 COLOR LC:LOCATE 8,11:PRINT CHR$(223);STRING$(2,220);STRING$(3,32);:COLOR BC:PRINT STRING$(2,220);STRING$(3,219);STRING$(2,220);STRING$(3,32);:COLOR LC:PRINT STRING$(2,220);CHR$(223); 846 LOCATE 9,14:PRINT STRING$(2,223);:COLOR BC:PRINT CHR$(220);STRING$(7,219);CHR$(220);:COLOR LC:PRINT STRING$(2,220); 848 LOCATE 10,10:PRINT CHR$(220);:COLOR BC:LOCATE 10,15:PRINT CHR$(220);STRING$(9,219);CHR$(220);:COLOR LC:LOCATE 10,30:PRINT CHR$(220); 850 LOCATE 11,10:PRINT CHR$(223);STRING$(2,220);:COLOR BC:LOCATE 11,15:PRINT STRING$(11,219);:LOCATE 11,28:COLOR LC:PRINT STRING$(2,220);CHR$(223); 852 LOCATE 12,13:PRINT STRING$(2,223);:COLOR BC:PRINT CHR$(223);STRING$(9,219);CHR$(223);:COLOR LC:PRINT STRING$(2,223); 854 LOCATE 13,16:COLOR BC:PRINT STRING$(2,223);STRING$(5,219);STRING$(2,223);:LOCATE 14,15:COLOR LC:PRINT CHR$(220);STRING$(2,223);STRING$(5,32);STRING$(2,223);CHR$(220); 856 LOCATE 15,14:PRINT CHR$(220);CHR$(223);STRING$(9,32);CHR$(223);CHR$(220);:LOCATE 16,12:PRINT STRING$(2,220);CHR$(223);STRING$(11,32);CHR$(223);STRING$(2,220); 860 COLOR 15,0:RETURN 1000 FOR I=0 TO 24:PT(I)=0:NEXT 1010 GOSUB 7000 1020 ST=INT(RND(1)*8):BUG=ST(ST) 1022 GOSUB 120 1030 GOSUB 5004 1100 GOSUB 600:IF FLAG=2 THEN 1000 ELSE GOSUB 100:GOSUB 310 1102 GOSUB 500:IF FLAG=2 THEN 1000 1110 GOSUB 650:IF FLAG=2 THEN 1000 ELSE GOSUB 102:GOSUB 312 1111 GOSUB 500:IF FLAG=2 THEN 1000 1112 GOSUB 410 1114 GOSUB 5004 1120 PT=A+12-5*C:IF PT<>BUG THEN 1130 1122 GOSUB 770:IF FLAG=1 THEN SCREEN 1,0:CLS:GOTO 1000 ELSE MOLD=M:GOSUB 600:GOSUB 500:MNOW=M 1124 M=MOLD:GOSUB 140:GOSUB 130 1126 M=MNOW:GOSUB 100:PUT(X(BUG)-6,Y(BUG)-6),RICK,PSET:GOSUB 310 1128 GOTO 1110 1130 PT(PT)=1:GOSUB 111:GOSUB 110:GOSUB 130:GOSUB 122 1140 GOSUB 200:GOSUB 330 1142 IF PT(BUG)=1 THEN 1200 1150 GOTO 1100 1200 GOSUB 5004:LOCATE 24,8:PRINT "You trapped the bumblebug!!"; 1201 PUT(X(BUG)-6,Y(BUG)-6),CLORRICK,PSET 1202 PT=BUG:FOR L=1 TO 15:COL=INT(RND(1)*3)+1:GOSUB 116:GOSUB 350:NEXT:GOSUB 420:GOSUB 820:GOSUB 340 1210 COLOR 15,0:LOCATE 23,11:PRINT "Play again? (Y or N)"; 1212 GOSUB 60:IF IN$<>"Y" AND IN$<>"N" AND IN$<>"?" THEN 1212 1214 IF IN$="Y" THEN 1000 1216 IF IN$="?" THEN GOSUB 2000:CLS:GOTO 1210 1220 GOSUB 5004:LOCATE 23,7:PRINT "Goodbye! I hope you had fun";:LOCATE 25,9:PRINT "trapping the bumblebug!"; 1500 RUN"menu 2000 SCREEN 0,1:COLOR 13:CLS:LOCATE 1,1,0:PRINT STRING$(40,176);:FOR L=2 TO 22:LOCATE L,1:PRINT CHR$(176);:LOCATE L,40:PRINT CHR$(176);:NEXT:LOCATE 23,1:PRINT STRING$(40,176);:COLOR 15 2010 LIEN=5:LL=1:GOSUB 2100:LIEN=8:GOSUB 2100:LIEN=10:GOSUB 2100:LIEN=12:GOSUB 2100:LIEN=16:GOSUB 2100:LIEN=18:GOSUB 2100 2018 GOSUB 440 2020 LOCATE 22,10:PRINT "PRESS TO PLAY"; 2072 GOSUB 60:IF IN$<>CHR$(13) AND IN$<>CHR$(27) THEN 2072 2074 IF IN$=CHR$(27) THEN GOTO 2090 2080 RETURN 2090 LOCATE 22,6:PRINT "DO YOU WANT TO STOP? (Y OR N)"; 2092 GOSUB 60:IF IN$<>"N" AND IN$<>"Y" THEN 2092 2094 IF IN$="Y" THEN 1500 ELSE LOCATE 22,2:PRINT STRING$(38,32);:GOTO 2020 2100 LE=LEN(INS$(LL)):LE=INT((40-LE)/2)+1:LOCATE LIEN,LE:PRINT INS$(LL);:LL=LL+1:RETURN 3000 IF INKEY$=" " THEN RETURN 3004 GOSUB 820 3010 COLOR 15,0:LOCATE 23,12:PRINT "Trap a bumblebug!"; 3012 IF INKEY$=" " THEN RETURN 3020 GOSUB 340:RETURN 4000 SCREEN 1,0:CLS 4001 GOTO 4020 4010 DRAW"BM6,6C=CLOR;L4U1L2BU4BR7R1F1L3D1R3G1L1G1R3F1R3NL7U1R2BD2BL4L7G1R9F1R2NL15L4D1L7D1L1R9D1R2D1R1BL15R1U1R2U1R3D1R3D1R1D1R1D1R2BL9NL2U1R1U1R1":RETURN 4020 CLOR=3:GOSUB 4010:GET(O,O)-(15,15),RICK:CLOR=2:GOSUB 4010:GET(0,0)-(15,15),CLORRICK:LINE(0,0)-(15,15),0,BF 4021 RETURN 5001 LOCATE 25,1:PRINT STRING$(39,32);:RETURN 5002 LOCATE 24,1:PRINT STRING$(39,32);:LOCATE 25,1:PRINT STRING$(39,32);:RETURN 5003 FOR L=23 TO 25:LOCATE L,1:PRINT STRING$(39,32);:NEXT:RETURN 5004 FOR L=22 TO 25:LOCATE L,1:PRINT STRING$(39,32);:NEXT:RETURN 5005 FOR L=21 TO 24:LOCATE L,1:PRINT STRING$(39,32);:NEXT:LOCATE 25,1:PRINT STRING$(38,32);:RETURN 5022 LOCATE 22,1:PRINT STRING$(40,32);:RETURN 5023 LOCATE 23,1:PRINT STRING$(40,32);:RETURN 5024 LOCATE 24,1:PRINT STRING$(39,32);:RETURN 5025 LOCATE 25,1:PRINT STRING$(39,32);:RETURN 5100 DEF SEG=0:RAND=RND(0):POKE 1047,(PEEK(1047) OR 96) AND (223-(32*(PC<>&HFD))):DEF SEG:RETURN 5102 DEF SEG=0:POKE 1047,96+32*(PC=&HFD):DEF SEG:RETURN 5110 DEF SEG=0:POKE 1050,PEEK(1052):DEF SEG:RETURN 5400 DEF SEG=0:SND=PEEK(1264):DEF SEG:DEF SEG=&HF000:IF PEEK(&HFFFE)=&HFD THEN PC=&HFD 5401 DEF SEG:RETURN 7000 SCREEN 1,0:COLOR 8:CLS 7001 FOR L=68 TO 292 STEP 56 7004 LINE(L,16)-(L+3,131),2,BF:NEXT 7006 FOR L=16 TO 128 STEP 28 7008 LINE(68,L)-(295,L+3),2,BF:NEXT 7010 LINE(68,72)-(295,75),3,BF:LINE(180,16)-(183,131),3,BF 7012 NN$(0)="BR4R7F4D11G4L7H4U11E4BD4E1R5F2D9G2L5H2U9E2":NN$(1)="BR5R5D16R5D3L15U3R5U10L5U1E5":NN$(2)="BR4R7F4D3G8D1R8D3L15U3R1E11H2L5G2L3U1E4" 7014 L1=2:FOR L=62 TO 286 STEP 56:DRAW"BM"+STR$(L)+",148"+NN$(ABS(L1)):PAINT(L+8,149),3,3:L1=L1-1:NEXT 7016 L1=2:FOR L=8 TO 120 STEP 28:DRAW"BM36,"+STR$(L)+NN$(ABS(L1)):PAINT(44,L+1),3,3:L1=L1-1:NEXT 7018 LINE(20,100)-(31,103),3,BF:LINE(20,128)-(31,131),3,BF:LINE(46,156)-(55,159),3,BF:LINE(102,156)-(113,159),3,BF 7020 RETURN 9000 DATA 6,7,8,11,12,13,16,17,18,O2C,O2D,O2E,O2F,O2G,O2A 9004 DATA CAN YOU TRAP A BUMBLEBUG?,Put traps beside the bug. If it hops,in you trap it! (Be careful not to,put your trap on top of the bug.),First choose a number at the bottom,of the screen then a side number. 9999 RUN