10 REM C H A S E 8 5 X Version 4.3 September 13, 1985 20 REM BY HERMAN DEMONSTOY IN FEBRUARY 1977 KILOBAUD MAGAZINE 30 REM BY TOM SARBECK: A LARGER SCREEN, ON-SCREEN AUTOMATIC ACTION, 40 REM CURSOR ACTIVITY AND PROGRAM PARAMETERIZATION 50 DEFINT A-Z: REM INTEGER VARIABLES FOR INCREASED SPEED 60 REM ----------------------------------------------> CURSOR CONTROLS 70 CURPOS$=CHR$(27)+"=": REM BYTES 1,2 OF CURSOR POSITIONING: ESC = Y X 80 CURFAST$=CHR$(27)+CHR$(34)+"1": CURSLOW$=CHR$(27)+CHR$(34)+"0" 90 CURNONE$=CHR$(27)+CHR$(34)+"6": REM CURSOR FREQUENCY AND PRESENCE 100 REM ----------------------------------------------> PARAMETERS 110 HIGH=20: WIDE=79: DIM ARENA(HIGH,WIDE) 120 REM ARENA(Y,X) = 0 - EMPTY SPACE 130 REM ARENA(Y,X) = 1 - CHARGED FENCE OR POST (X) 140 REM ARENA(Y,X) = 2 - ROBOT GUARDS (+) 150 REM ARENA(Y,X) = 3 - YOU (O) 160 VH=81: DIM VERT(VH), HORIZ(VH) 170 REM VERT/HORIZ(1 TO NRG) - GUARD Y/X POSITIONS 180 REM VERT/HORIZ(NRG+1 TO VH-1) - FENCE POST Y/X POSITIONS 190 REM VERT/HORIZ(VH) - YOUR Y/X POSITION 200 NRG=20: NRGLIM=25: NPLYRS=1: NFP=VH-NRG-NPLYRS 210 REM NRG - NUMBER OF ROBOT GUARDS 220 REM NRGLIM - INITIAL LIMIT ON NRG 230 REM NPLYRS - NUMBER OF PLAYERS (TINKER AT YOUR OWN RISK) 240 REM NFP - NUMBER OF FENCE POSTS 250 DIM BETS$(4): BETS$(1)="Place your bets. ": BETS$(2)="Your bets down? " 260 BETS$(3)="Are you betting? ": BETS$(4)="$$$$$$$$$$$$$$$$$" 270 DIM CTR$(4),DEMISE$(2): REM - JUMP AND LOST GAME COMMENTS 280 CTR$(1)="5: Has no effect ": CTR$(2)="5: Halves the speed" 290 CTR$(3)="5: random jump ": CTR$(4)="5: random jumps" 300 DEMISE$(1)="you klutz!": DEMISE$(2)="I gotcha!!" 310 DIM RNDCHK!(100): REM ----------------------------> PREVENT RND LOOPS 320 NRG=20: NRGLIM=25: TSCORE!=O: DMS=3: REM ---------> RE-START HERE 330 REM PRINT CURSLOW$;: REM -----------------------------> SLOW CURSOR 340 WON=0: LOST=0: STRAIGHT=0: WONTOP=0: JUMPS=1: TMOVES=0 350 FOR D=1 TO 50: RNDCHK!(D)=99999!: NEXT D: RNDCNT=0: REM RND FIX 360 REM ----------------------------------------------> THE INSTRUCTIONS 370 PRINT CHR$(26): PRINT CURPOS$;CHR$(32);CHR$(32); 380 PRINT"Twenty robot guards (+) are pursuing you (0). If you can maneuver"; 390 PRINT" them into" 400 PRINT"the charged fence posts (X) or into each other, and if you can"; 410 PRINT" avoid the posts" 420 PRINT"and the charged fence (X), you can get away. You can also score"; 430 PRINT" some points." 440 PRINT"To see how I compute your score, enter a 0 game speed." 450 PRINT 460 PRINT" 7 8 9" 470 PRINT"From 5, your moves are: 4 5 6 5 See notes on screen." 480 PRINT" 1 2 3 0 Stop in place." 490 PRINT 500 PRINT"Enter a game speed and a starting number. When the board appears,"; 510 PRINT" plan your" 520 PRINT"first move and enter it. Each move you select repeats until you"; 530 PRINT" change it." 540 PRINT"With a win the game speed increases; with a loss it decreases. "; 550 PRINT"The jumps you" 560 PRINT"don't use add up for later games. Win five games in a row and"; 570 PRINT" things begin" 580 PRINT"to happen. For bettors, but for your end of game position, your"; 590 PRINT" starting" 600 PRINT"number determines all board setups in a series. Good luck and"; 610 PRINT" good moves." 620 PRINT 630 INPUT"Enter a game speed (1 = slow; 50 = fast. Try for 55?) ",SPEED 640 IF SPEED> 0 GOTO 780 650 PRINT CURPOS$;CHR$(41);CHR$(32); 660 PRINT"For each guard you destroy you get 10 points--unless that guard"; 670 PRINT" destroys you." 680 PRINT"If you destroy all of the guards, I add to this total a number"; 690 PRINT" proportional " 700 PRINT"to the game speed. In the first game in a series, this result"; 710 PRINT" is your score." 720 PRINT"In subsequent games, I add to your score the number of moves you"; 730 PRINT" take less " 740 PRINT"than your average and subtract from your score one half the"; 750 PRINT" number of moves " 760 PRINT"you take more than your average. One more time, g" 770 PRINT:PRINT: SPEED=1 780 IF SPEED<51 GOTO 800 ELSE SPEED=50 790 PRINT:PRINT CHR$(7);"Whoa! Win at 50 first." 800 DELAY=55-SPEED: SPEED!=SPEED 810 PRINT:INPUT"Enter a starting number (0 to 32767) ",SEED! 820 SEED!=ABS(SEED!): IF SEED!>32767! THEN SEED!=32767! 830 SEED!=-((LOG(SEED!+2!)-.5)/10!) 840 RNDCNT=RNDCNT+1: RNDCHK!(RNDCNT)=SEED! 850 REM PRINT CURNONE$;: REM -----------------------------> NO CURSOR 860 REM ----------------------------------------------> THE GAME LOOP 870 FACTOR!=1!+(55-DELAY)/100!: SEED!=-RND(SEED!) 880 RNDCNT=RNDCNT+1: IF RNDCNT<101 GOTO 900: REM ----> RND LOOP? 890 FOR D=1 TO 50: RNDCHK!(D)=RNDCHK!(D+50): NEXT D: RNDCNT=51 900 RNDCHK!(RNDCNT)=SEED! 910 FOR D=1 TO RNDCNT-1: IF SEED!<>RNDCHK!(D) GOTO 930 920 SEED!=SEED!-.001001: SEED!=-RND(SEED!): REM YES 930 NEXT D 940 PRINT CURPOS$;CHR$(54);CHR$(83);" " 950 PRINT CURPOS$;CHR$(54);CHR$(54);"Press . to quit or , to re-start. "; 960 NRGL=NRG: NMOVES=0: JUMPS=JUMPS+1: FIVER=3: BETS=INT(4*RND+1) 970 GSCORE!=0!: IF DELAY<54 THEN CTRX$=CTR$(2) ELSE CTRX$=CTR$(1) 980 IF JUMPS< 2 THEN FIVER=2 990 FOR XPOS=1 TO WIDE: ARENA( 1,XPOS)=1: NEXT XPOS 1000 FOR XPOS=1 TO WIDE: ARENA(HIGH,XPOS)=1: NEXT XPOS 1010 FOR YPOS=1 TO HIGH: ARENA(YPOS, 1)=1: NEXT YPOS 1020 FOR YPOS=1 TO HIGH: ARENA(YPOS,WIDE)=1: NEXT YPOS 1030 FOR YPOS=2 TO HIGH-1 1040 FOR XPOS=2 TO WIDE-1: ARENA(YPOS,XPOS)=0: NEXT XPOS 1050 KEY$=INKEY$: IF LEN(KEY$)=0 GOTO 1070 1060 IF KEY$="," GOTO 320 ELSE IF KEY$="." GOTO 3150 1070 PRINT MID$(BETS$(BETS),YPOS-1,1);: REM ---------> SCREEN ACTIVITY 1080 NEXT YPOS 1090 IF WON+LOST=0 GOTO 1110: REM ---------------------> IF FIRST GAME 1100 IF DMS=0 THEN ARENA(VERT(VH),HORIZ(VH))=3: REM ---> AFTER A WIN 1110 FOR D=1 TO VH: REM -------------------------------> Y-X POSITIONS 1120 YPOS=INT(RND*(HIGH-2))+2: XPOS=INT(RND*(WIDE-2))+2 1130 IF ARENA(YPOS,XPOS)<>0 GOTO 1120: REM ----------> IF TAKEN 1140 IF D=20 OR D=40 OR D=60 THEN PRINT"$";: REM ----> SCREEN ACTIVITY 1150 IF D RG 1160 IF D POST 1170 IF DMS=0 GOTO 1200: REM ------------------------> AFTER A WIN 1180 ARENA(YPOS,XPOS)=3 1190 VERT(D)=YPOS: HORIZ(D)=XPOS 1200 KEY$=INKEY$: IF LEN(KEY$)=0 GOTO 1220 1210 IF KEY$="," GOTO 320 ELSE IF KEY$="." GOTO 3150 1220 NEXT D: PRINT 1230 REM ----------------------------------------------> DISPLAY ARENA 1240 FOR D=32 TO 109: PRINT CURPOS$;CHR$(32);CHR$(D);" ";: NEXT D:PRINT" " 1250 PRINT CURPOS$;CHR$(32);CHR$(32);"You've won";WON;"and lost";LOST 1260 PRINT CURPOS$;CHR$(32);CHR$(63);"This game's speed:";55-DELAY 1270 PRINT CURPOS$;CHR$(32);CHR$(92);CTR$(FIVER+1) 1280 PRINT CURPOS$;CHR$(32);CHR$(95);JUMPS 1290 FOR YPOS=1 TO HIGH 1300 FOR XPOS=1 TO WIDE 1310 IF ARENA(YPOS,XPOS)=0 THEN PRINT" ";: GOTO 1350 1320 IF ARENA(YPOS,XPOS)=1 THEN PRINT"X";: GOTO 1350 1330 IF ARENA(YPOS,XPOS)=2 THEN PRINT"+";: GOTO 1350 1340 IF ARENA(YPOS,XPOS)=3 THEN PRINT"O"; 1350 NEXT XPOS 1360 PRINT 1370 KEY$=INKEY$: IF LEN(KEY$)=0 GOTO 1390 1380 IF KEY$="," GOTO 320 ELSE IF KEY$="." GOTO 3150 1390 NEXT YPOS 1400 PRINT CURPOS$;CHR$(53);CHR$(32);"In moves " 1410 PRINT CURPOS$;CHR$(53);CHR$(56);" Game score:" 1420 PRINT CURPOS$;CHR$(53);CHR$(76);"Total score:" 1430 PRINT CURPOS$;CHR$(53);CHR$(94);" " 1440 REM ----------------------------------------------> FAST CURSOR ON O 1450 PRINT CURPOS$;CHR$(VERT(VH)+32);CHR$(HORIZ(VH)+31);: REM CURFAST$; 1460 FOR DLY=1 TO 100: TIME=1.5^1.5: NEXT DLY: REM ----> PAUSE 1470 KEY$=INKEY$: IF LEN(KEY$)=0 GOTO 1490: REM -------> CHECK CONSOLE 1480 IF KEY$="," GOTO 320 ELSE IF KEY$="." GOTO 3150 1490 PRINT CURPOS$;CHR$(54);CHR$(32);" " 1500 PRINT CURPOS$;CHR$(54);CHR$(54);: REM ------------> GET FIRST MOVE 1510 PRINT"Press ONLY a # key. Do not or ENTER. Your move: " 1520 PRINT CURPOS$;CHR$(54);CHR$(109);: REM CURSLOW$;: REM --> SLOW CURSOR 1530 KEY$=INKEY$: REM ---------------------------------> GET FIRST MOVE 1540 IF LEN(KEY$)=0 GOTO 1530 1550 IF KEY$<"0" OR KEY$>"9" GOTO 1530 1560 REM PRINT CURNONE$: REM ------------------------------> NO CURSOR 1570 PRINT CURPOS$;CHR$(54);CHR$(109);KEY$ 1580 PRINT CURPOS$;CHR$(54);CHR$(97);" " 1590 KEY=ASC(KEY$)-48: KEYL=KEY: GOTO 1620 1600 REM ----------------------------------------------> THE PLAY LOOP 1610 FOR DLY=1 TO DELAY: TIME=1.5^1.5: NEXT DLY: REM --> THE PLAY PAUSE 1620 OLDY=VERT(VH): YPOS=OLDY: OLDX=HORIZ(VH): XPOS=OLDX 1630 ARENA(OLDY,OLDX)=0 1640 PRINT CURPOS$;CHR$(54);CHR$(98);"You keyed:" 1650 KEY$=INKEY$: REM ---------------------------------> GET A MOVE 1660 IF LEN(KEY$)=0 THEN KEY=KEYL: GOTO 1700 1670 IF KEY$<"0" OR KEY$>"9" GOTO 1650 1680 KEY=ASC(KEY$)-48 1690 PRINT CURPOS$;CHR$(54);CHR$(108);KEY 1700 IF KEY=0 GOTO 1970 1710 ON KEY GOTO 1730,1730,1730,1740,1770,1740,1720,1720,1720 1720 YPOS=YPOS-1: GOTO 1740: REM MOVE UP 1730 YPOS=YPOS+1: REM MOVE DOWN 1740 ON KEY GOTO 1750,1960,1760,1750,1770,1760,1750,1960,1760 1750 XPOS=XPOS-1: GOTO 1960: REM MOVE LEFT 1760 XPOS=XPOS+1: GOTO 1960: REM MOVE RIGHT 1770 JUMPS=JUMPS-1: REM A 5 MOVE 1780 IF JUMPS<-1 THEN KEY=KEYL: GOTO 1690 1790 IF JUMPS< 0 THEN KEY=KEYL: DELAY=DELAY+(55-DELAY)/2: ELSE GOTO 1830 1800 IF DELAY>54 THEN DELAY=54 1810 PRINT CURPOS$;CHR$(32);CHR$(92);CTR$(1); 1820 PRINT CURPOS$;CHR$(32);CHR$(81);55-DELAY;: GOTO 1690 1830 IF JUMPS< 1 THEN PRINT CURPOS$;CHR$(32);CHR$(92);CTRX$: GOTO 1860 1840 PRINT CURPOS$;CHR$(32);CHR$(95);JUMPS 1850 IF JUMPS< 2 THEN PRINT CURPOS$;CHR$(32);CHR$(110);" " 1860 KEYL=0: YLO=3: YHI=HIGH-2: XLO=3: XHI=WIDE-2 1870 YPOS=INT(RND*HIGH-2)+2: XPOS=INT(RND*WIDE-2)+2 1880 IF YPOSYHI GOTO 1870 1890 IF XPOSXHI GOTO 1870 1900 IF ARENA(YPOS,XPOS)<>0 GOTO 1870 1910 NEWY=YPOS-2: NEWX=XPOS-2: REM --------------------> LOOK AROUND 1920 FOR D=NEWY TO NEWY+4: FOR E=NEWX TO NEWX+4 1930 IF ARENA(D,E)=2 GOTO 1870: REM -------------------> NOT NEXT TO AN RG 1940 NEXT E: NEXT D 1950 REM ----------------------------------------------> MOVE RESULTS 1960 PRINT CURPOS$;CHR$(OLDY+32);CHR$(OLDX+31);" " 1970 NMOVES=NMOVES+1 1980 IF NMOVES>1 THEN PRINT CURPOS$;CHR$(53);CHR$(34);NMOVES 1990 IF ARENA(YPOS,XPOS)=1 THEN DMS=1: GOTO 2380: REM FENCE OR POST 2000 IF ARENA(YPOS,XPOS)=2 THEN DMS=1: GOTO 2380: REM ROBOT GUARD 2010 ARENA(YPOS,XPOS)=3: REM EMPTY - MOVE INTO THE SPACE 2020 VERT(VH)=YPOS: HORIZ(VH)=XPOS 2030 PRINT CURPOS$;CHR$(OLDY+32);CHR$(OLDX+31);" " 2040 PRINT CURPOS$;CHR$(YPOS+32);CHR$(XPOS+31);"O" 2050 IF KEY <> 5 THEN KEYL=KEY: GOTO 2090 2060 PRINT CURPOS$;CHR$(YPOS+32);CHR$(XPOS+31);: REM CURFAST$;: REM> CURSOR 2070 FOR DLY=1 TO 100: TIME=1.5^1.5: NEXT DLY: REM PAUSE AFTER JUMP 2080 REM PRINT CURNONE$: REM ------------------------------> CORSOR OFF 2090 IF DELAY > 36 THEN PRINT CURPOS$;CHR$(54);CHR$(98);"Your move:" 2100 FOR D=1 TO NRG: REM ------------------------------> MOVE THE GUARDS 2110 IF VERT(D)=0 GOTO 2330 2120 OLDY=VERT(D): NEWY=OLDY: OLDX=HORIZ(D): NEWX=OLDX 2130 ARENA(OLDY,OLDX)=0: PRINT CURPOS$;CHR$(OLDY+32);CHR$(OLDX+31);" " 2140 IF OLDY < YPOS THEN NEWY=NEWY+1: GOTO 2160: REM -------> DOWN 2150 IF OLDY > YPOS THEN NEWY=NEWY-1: REM ------------------> UP 2160 IF OLDX < XPOS THEN NEWX=NEWX+1: GOTO 2180: REM -------> RIGHT 2170 IF OLDX > XPOS THEN NEWX=NEWX-1: Z=RND: REM -----------> LEFT 2180 IF ARENA(NEWY,NEWX) > 0 GOTO 2210 2190 PRINT CURPOS$;CHR$(NEWY+32);CHR$(NEWX+31);"+": REM ----> EMPTY 2200 VERT(D)=NEWY: HORIZ(D)=NEWX: ARENA(NEWY,NEWX)=2: GOTO 2330 2210 IF ARENA(NEWY,NEWX) > 1 GOTO 2240 2220 PRINT CURPOS$;CHR$(NEWY+32);CHR$(NEWX+31);" ": REM ----> FENCE/POST 2230 VERT(D)=0: ARENA(NEWY,NEWX)=0: NRGL=NRGL-1: GOTO 2320 2240 IF ARENA(NEWY,NEWX) > 2 THEN DMS=2: GOTO 2380: REM ----> GOT ME 2250 PRINT CURPOS$;CHR$(NEWY+32);CHR$(NEWX+31);" ": REM ----> ANOTHER RG 2260 VERT(D)=0: ARENA(NEWY,NEWX)=0: NRGL=NRGL-2 2270 FOR E=1 TO NRG: IF E=D GOTO 2310: REM -----------------> WHICH OTHER? 2280 IF VERT(E) <> NEWY GOTO 2310 2290 IF HORIZ(E) <> NEWX GOTO 2310 2300 VERT(E)=0: REM --------------------------------------> KILL IT TOO 2310 NEXT E 2320 IF NRGL<1 GOTO 2520 2330 NEXT D: REM ---------------------------------------------> ALL DONE 2340 XSCORE!=TSCORE!+GSCORE! 2350 PRINT CURPOS$;CHR$(53);CHR$(88);INT(XSCORE!) 2360 GOTO 1610: REM -----------------------------------> NEXT MOVE 2370 REM ----------------------------------------------> GAME OVER - LOSS 2380 PRINT CURPOS$;CHR$(YPOS+32);CHR$(XPOS+31);"-" 2390 LOST=LOST+1: STRAIGHT=0: GSCORE!=10*(NRG-NRGL) 2400 TSCORE!=TSCORE!+GSCORE!: ASCORE!=TSCORE!/(WON+LOST) 2410 PRINT CURPOS$;CHR$(53);CHR$(46);DEMISE$(DMS) 2420 PRINT CURPOS$;CHR$(53);CHR$(69);GSCORE! 2430 PRINT CURPOS$;CHR$(53);CHR$(88);TSCORE! 2440 PRINT CURPOS$;CHR$(53);CHR$(94);" "; 2450 PRINT USING "####.##";ASCORE!;:PRINT" per game" 2460 IF DELAY>10 THEN DELAY=DELAY+INT(DELAY/5) ELSE DELAY=DELAY+2 2470 WONTOP=0: IF DELAY>54 THEN DELAY=54 2480 PRINT CURPOS$;CHR$(32);CHR$(32);"You've won";WON;"and lost";LOST 2490 PRINT CURPOS$;CHR$(32);CHR$(63);"Next game's speed:";55-DELAY 2500 JUMPS=JUMPS-1: GOTO 3110 2510 REM ----------------------------------------------> GAME OVER - WIN 2520 WON=WON+1: STRAIGHT=STRAIGHT+1: PRINT CHR$(7) 2530 GSCORE!=INT(10*NRG*FACTOR!+.5): IF WON>1 GOTO 2550 2540 TMOVES=NMOVES: AMOVES!=TMOVES: GOTO 2570: REM ----> FIRST WIN 2550 NET=INT(AMOVES!)-NMOVES: IF NET<0 THEN NET=NET/2 2560 GSCORE!=GSCORE!+NET: TMOVES=TMOVES+NMOVES: AMOVES!=TMOVES/WON 2570 TSCORE!=TSCORE!+GSCORE!: ASCORE!=TSCORE!/(WON+LOST) 2580 PRINT CURPOS$;CHR$(53);CHR$(46);"YOU WIN!!": DMS=0 2590 PRINT CURPOS$;CHR$(53);CHR$(69);GSCORE! 2600 PRINT CURPOS$;CHR$(53);CHR$(88);TSCORE! 2610 PRINT CURPOS$;CHR$(53);CHR$(95); 2620 PRINT USING "####.##";ASCORE!;:PRINT" per game" 2630 DLY=INT(3*DELAY/5): PRINT CURPOS$;CHR$(54);CHR$(34); 2640 PRINT USING "###.##";AMOVES!;: PRINT" moves/win" 2650 PRINT CURPOS$;CHR$(32);CHR$(32);"You've won";WON;"and lost";LOST 2660 PRINT CURPOS$;CHR$(32);CHR$(63);"Next game's speed:";55-DLY 2670 PRINT CURPOS$;CHR$(32);CHR$(92);" And add 1 jump " 2680 IF DELAY>0 AND STRAIGHT<5 GOTO 3090 2690 FOR DLY=1 TO 10: TIME=1.5^1.5: NEXT DLY 2700 FOR DLY=1 TO 3 2710 PRINT CHR$(7);: FOR D=1 TO 20: TIME=1.5^1.5: NEXT D 2720 NEXT DLY 2730 FOR DLY=1 TO 100: TIME=1.5^1.5: NEXT DLY 2740 FOR D=33 TO 52 2750 PRINT CURPOS$;CHR$(D);CHR$(32);" " 2760 PRINT CURPOS$;CHR$(D);CHR$(58);" " 2770 PRINT CURPOS$;CHR$(D);CHR$(85);" " 2780 IF D-1=YPOS+32 THEN PRINT CURPOS$;CHR$(YPOS+32);CHR$(XPOS+31);"O" 2790 NEXT D 2800 IF DELAY<1 GOTO 2900 2810 PRINT CURPOS$;CHR$(36);CHR$(32); 2820 PRINT TAB(20) "Y O U ' V E W O N ";STRAIGHT;" S T R A I G H T !" 2830 PRINT:PRINT: IF RND<.5 THEN GOTO 2870 2840 PRINT:PRINT TAB(19) "A N D Y O U W I N T H E T O S S" 2850 PRINT TAB(22) "F O R A N E X T R A J U M P":JUMPS=JUMPS+1 2860 PRINT CURPOS$;CHR$(32);CHR$(103);"2 jumps"; 2870 PRINT CURPOS$;CHR$(46);CHR$(32) 2880 PRINT TAB(28) "T R Y F O R ";STRAIGHT+1;"? ?" 2890 GOTO 3090 2900 WONTOP=WONTOP+1: PRINT CURPOS$;CHR$(36);CHR$(32); 2910 PRINT TAB(3) "Y O U ' V E W O N ";WONTOP; 2920 PRINT TAB(32) "S T R A I G H T A T T O P S P E E D !" 2930 PRINT: IF WONTOP<>2 GOTO 2960 2940 PRINT:PRINT TAB(11) "S T A R T C O U N T I N G "; 2950 PRINT TAB(43) "T H O S E B U G G E R S": GOTO 3030 2960 PRINT: IF WONTOP<>5 GOTO 2980 2970 PRINT TAB(20) "Y O U ' R E D O I N G W E L L ! ! !": GOTO 3030 2980 IF WONTOP<>10 GOTO 3000 2990 PRINT TAB(25) "C O U N T ' E M A G A I N":NRGLIM=30: GOTO 3030 3000 IF WONTOP<15 GOTO 3030 3010 IF NRG.5 GOTO 3070 3040 PRINT:PRINT TAB(19) "A N D Y O U W I N T H E T O S S" 3050 PRINT TAB(22) "F O R A N E X T R A J U M P":JUMPS=JUMPS+1 3060 PRINT CURPOS$;CHR$(32);CHR$(103);"2 jumps"; 3070 PRINT CURPOS$;CHR$(47);CHR$(32) 3080 PRINT TAB(28) "T R Y F O R ";WONTOP+1;"? ?" 3090 PRINT CURPOS$;CHR$(YPOS+32);CHR$(XPOS+31);"O" 3100 DELAY=INT(3*DELAY/5) 3110 IF JUMPS<0 THEN JUMPS=0 3120 IF DELAY=0 THEN NRG=NRG+1 3130 IF NRG>NRGLIM THEN NRG=NRGLIM 3140 GOTO 870 3150 PRINT CURPOS$;CHR$(53);CHR$(32);: REM CURSLOW$: REM ----> SLOW CURSOR 3160 END G>NRGLIM THEN NRG=NRGLIM 3140 GOTO 870 3150 PRINT CURPOS$;CHR$(53);CHR$(32);: REM CURSLOW$: REM ----> SLOW CURSOR 3160 E