1 ' CALCULATOR GAME FOR CASIO FX-850P/880P 2 ' BY THOMAS ILG 20 SOUND=1:STARTLEV=1 50 GOSUB 5000:CLS 60 WAVEL=18+STARTLEV*2:GUN=0 70 DISL=18-STARTLEV:IF DISL<8 THEN DISL=8 80 SPEED=16-STARTLEV 90 POINTS=0 100 GOSUB 4000 110 GOSUB 3700 200 T=T+1 'GAMELOOP 250 K$=INKEY$ 260 IF K$="1" THEN GOSUB 2000:GOTO 280 265 IF K$="2" THEN T=SPEED:GOTO 280 270 IF K$="3" THEN GOSUB 3000:IF POS>WAVEL AND DIST$=RESULT$ THEN GOSUB3500:GOTO200 ELSE GOTO 280 275 IF K$="0" THEN GOTO 400 280 IF T"" THEN GOTO 420 430 K$=INKEY$:IF K$="" THEN GOTO 430 440 IF POINTS<=CSCORE THEN GOTO 50 450 CSCORE=POINTS 460 CLS:PRINT"NEW HIGHSCORE!"; 470 LOCATE 0,1 480 INPUT "ENTER YOUR NAME: ",CNAME$ 500 GOTO 50 600 END 2000 IF SOUND=1 THEN BEEP 0 2005 GUN=GUN+1 2010 IF GUN>9 THEN GUN=0 2020 LOCATE 1,0:PRINT GUN; 2100 RETURN 2500 DIST$=MID$(DIST$,2)+MID$(WAVET$,POS,1):POS=POS+1 2510 GOSUB 2600:RETURN 2600 LOCATE 5,0:PRINT DIST$; 2650 RETURN 3000 IF SOUND=1 THEN BEEP 1 3002 LOCATE 5,1:PRINT "FIRE"; 3005 S$=MID$(STR$(GUN),2,1):LP=0 3010 I=DISL:TRIG=0 3015 C$=MID$(DIST$,I,1) 3020 IF C$=" " AND TRIG=1 THEN GOTO 3060 3025 IF C$<>" " AND TRIG=0 THEN TRIG=1 3030 IF C$=S$ THEN DIST$=" "+LEFT$(DIST$,I-1)+MID$(DIST$,I+1):LP=LP+1 ELSE I=I-1 3050 IF I>0 THEN GOTO 3015 3060 LOCATE 5,1:PRINT " "; 3070 IF LP=0 THEN GOTO 3100 3080 POINTS=POINTS+LP*LP*(16-SPEED) 3090 LOCATE 23,0:PRINT POINTS; 3100 GOSUB 2600:RETURN 3500 CLS:PRINT "*** STAGE CLEAR - NEXT STAGE ***";:IF SOUND=1 THEN BEEP 0:BEEP 1:BEEP 0 3505 IF SPEED>1 THEN SPEED=SPEED-1 3510 WAVEL=WAVEL+2 3520 IF DISL>8 THEN DISL=DISL-1 3550 GOSUB 4000:GOSUB 3700 3700 CLS 3704 LOCATE 0,0:PRINT CHR$(134); 3705 LOCATE 4,0:PRINT CHR$(134); 3710 FOR X=5+DISL TO 22 3712 LOCATE X,0:PRINT CHR$(134); 3715 NEXT X 3720 GOSUB 2600 3730 LOCATE 1,0:PRINT GUN; 3735 LOCATE 4,1:PRINT "> <"; 3740 LOCATE 13,1:PRINT "LENGTH"+STR$(WAVEL)+" SPEED"+STR$(15-SPEED); 3750 LOCATE 23,0:PRINT POINTS; 3800 RETURN 4000 LOCATE 0,1:PRINT "CREATING WAVE..."; 4003 WAVET$="":DIST$="":POS=1 4005 FOR I=1 TO WAVEL 4010 L$=STR$(INT(RAN#*10)) 4020 WAVET$=WAVET$+MID$(L$,2,1) 4050 NEXT I 4060 FOR I=1 TO DISL 4070 DIST$=DIST$+" ":WAVET$=WAVET$+" " 4080 NEXT I 4090 T=SPEED:RESULT$=DIST$ 4100 RETURN 5000 CLS 5010 PRINT " *** CALCULATOR GAME ***"; 5020 IF SOUND=1 THEN SOUND$=" 3-BEEP ON " ELSE SOUND$=" 3-BEEP OFF" 5030 LOCATE 0,1:PRINT "1-START 2-LEVEL"+STR$(STARTLEV)+SOUND$; 5050 K$=INKEY$:IF K$="" THEN GOTO 5050 5060 IF K$="1" THEN RETURN 5070 IF K$="2" THEN GOSUB 5200:GOTO 5030 5080 IF K$="3" THEN GOSUB 5400:GOTO 5020 5090 GOTO 5050 5200 STARTLEV=STARTLEV+1:IF STARTLEV>15 THEN STARTLEV=1 5210 RETURN 5400 IF SOUND=0 THEN SOUND=1:BEEP 0 ELSE SOUND=0 5410 RETURN