10 ON KEY# 1,"SET UP" GOSUB 1740 20 ON KEY# 5," HELP " GOSUB 1760 30 ON KEY# 2 GOSUB 1560 40 ON KEY# 4 GOSUB 1540 50 ON KEY# 8 GOSUB 1580 60 ON KEY# 3 GOSUB 1520 70 LDIR 0 @ CLEAR @ KEY LABEL @ DISP "SKI GAME" 80 DIM F(10,2),G(10,2),M(10),P$[10] 90 V9=-1 100 F=0 110 IF NOT F THEN 110 120 IF F=1 THEN 1600 130 V9=-1 140 W=0 @ B=1 @ CLEAR @ DISP "ENTER BACKGROUND COLOR:0=W, 1=B"; 150 INPUT V8 160 SCALE 0,255,0,191 170 IF V8 THEN V9=1 180 DISP "ENTER COURSE CODE" 190 INPUT S1 200 DISP "WHAT'S YOUR ABILITY:1 TO 5 (1 IS EASY,5 IS HARD)" 210 INPUT Q 220 IF Q<1 THEN 200 230 RANDOMIZE S1*.6142332571 240 PEN V9 @ GCLEAR @ MOVE 6,180 @ LABEL "HP 85 SKI GAME" 250 G=1 260 MOVE 210,182 @ LABEL "S" 270 MOVE 227,182 @ LABEL "S" 280 X=196 @ Y=170 290 F(G,1)=INT(X) @ F(G,2)=INT(Y) 300 MOVE INT(X),INT(Y) 310 GOSUB 1780 320 IF RND<=.5 THEN 380 330 X,G(G,1)=INT(F(G,1)+13) 340 G(G,2)=INT(Y) 350 MOVE INT(X),INT(Y) 360 GOSUB 1820 370 GOTO 400 380 G(G,1)=INT(X) @ Y,G(G,2)=INT(Y-13) 390 GOTO 350 400 IF RND>.5 THEN 440 410 X=218+RND*16-30*G 420 Y=Y-13-RND*19 430 GOTO 460 440 X=218-RND*16-30*G 450 GOTO 420 460 IF Y<35 THEN 490 470 G=G+1 480 GOTO 290 490 X=F(G,1)-8 @ G=G+1 500 F(G,1)=X @ G(G,1)=X+17 510 Y,F(G,2),G(G,2)=18 520 MOVE X-16,10 @ LABEL "FINISH" 530 MOVE X,18 540 GOSUB 1780 550 MOVE X+17,18 560 GOSUB 1820 570 MOVE 203,10 @ LABEL "REPEAT" 580 MOVE 73,0 @ LABEL "START LEFT RIGHT" 590 W=.001 600 P=190 610 A=.25+.1*Q @ V=1 @ D=190 620 C=218 630 FOR I=0 TO 10 640 M(I)=0 650 NEXT I 660 M1=1 670 X1=218 @ Y1=190 @ F=0 680 MOVE 8,131 @ LABEL "TIME:" 690 F=1 700 PEN -V9 @ MOVE 73,0 @ LABEL "START" @ BEEP 15,10 710 PEN V9 @ MOVE 73,0 @ LABEL "START" @ BEEP 25,20 720 IF F THEN 700 730 FOR I=-5 TO 0 STEP .1 740 BEEP 90-ABS(I*15),10 750 NEXT I 760 T=0 770 MOVE X1,Y1 780 B=TIME 790 MOVE 50,131 @ LABEL VAL$(T) @ MOVE X1,Y1 800 V=V+A/2 @ Y=V+A/4*P/190 @ X=W 810 IF F=0 THEN 870 820 W=W+3*A*F 830 F=0 840 V=V-(1.5-A)/2 850 IF V>.8 THEN 870 860 V=1 @ W=.75*W 870 IF W>V THEN X=.75*W 880 C=X1 @ D=Y1 890 C1,X1=X1+X @ D1,Y1=Y1-Y @ DRAW X1,Y1 900 C2=MIN(C,C1) @ C3=MAX(C,C1) 910 D2=MIN(D,D1) @ D3=MAX(D,D1) 920 M=M1 930 IF Y1R OR R>C3) AND F(M,2)=G(M,2) THEN 1190 970 IF (D2>S OR S>D3) AND F(M,1)=G(M,1) THEN 1190 980 IF F(M,2)=G(M,2) AND R>=F(M,1) AND G(M,1)>=R THEN 1010 990 IF F(M,1)>=G(M,1) AND F(M,2)>=S AND S>=G(M,2) THEN 1110 1000 GOTO 1190 1010 IF F(M,1)+1S THEN 1130 1120 GOTO 1020 1130 IF S>G(M,2)+1 THEN 1150 1140 GOTO 1070 1150 M(M)=1 1160 FOR K=1 TO 15 1170 BEEP 75+K,5 1180 NEXT K 1190 T1=INT(TIME-B) 1200 IF T=T1 THEN 1240 1210 PEN -V9 @ MOVE 50,131 @ LABEL VAL$(T) @ PEN V9 1220 T=T1 1230 MOVE 50,131 @ LABEL VAL$(T) @ MOVE X1,Y1 1240 P=P-Y 1250 IF P>17 THEN 800 1260 DRAW X1+X,Y1-Y 1270 MOVE 8,142 @ LABEL "THAT'S THE RACE" 1280 PEN -V9 @ MOVE 50,131 @ LABEL VAL$(T) @ PEN V9 1290 T=TIME-B 1300 MOVE 50,131 @ LABEL VAL$(T) 1310 FOR I=1 TO G 1320 IF M(I)=1 THEN 1340 1330 MOVE G(I,1),G(I,2) @ LABEL "MISSED" 1340 NEXT I 1350 F1,F=1 1360 PEN -V9 @ MOVE 73,0 @ LABEL "START" @ BEEP 15,10 1370 PEN -V9 @ MOVE 203,10 @ LABEL "REPEAT" @ BEEP 40,15 1380 PEN V9 @ MOVE 73,0 @ LABEL "START" @ BEEP 25,20 1390 PEN V9 @ MOVE 203,10 @ LABEL "REPEAT" @ BEEP 12,25 1400 IF F THEN 1360 1410 IF F1=0 THEN 230 1420 ALPHA @ DISP "TRY AGAIN:YES/NO"; 1430 INPUT P$[1,9] 1440 IF UPC$(P$[1,1])="N" THEN 1510 1450 IF UPC$(P$[1,1])#"Y" THEN BEEP @ GOTO 1420 1460 DISP "NEW COURSE:YES/NO"; 1470 INPUT P$[1,9] 1480 IF UPC$(P$[1,1])="N" THEN 200 1490 IF UPC$(P$[1,1])#"Y" THEN BEEP @ GOTO 1460 1500 GOTO 130 1510 STOP 1520 F=F-1 1530 RETURN 1540 F=F+1 1550 RETURN 1560 F=0 1570 RETURN 1580 F1,F=0 @ BEEP 15,200 1590 RETURN 1600 CLEAR @ KEY LABEL @ DISP " SKI GAME" 1610 DISP "K1:SET UP GAME CONDITIONS" 1620 DISP "K5:HELP" 1630 DISP "================================" 1640 DISP "EXPLANATION OF KEYS IN GRAPHICS:" 1650 DISP "START-PRESS TO START GAME OR TO" 1660 DISP " SET UP NEW COURSE" 1670 DISP "LEFT/RIGHT-CONTROL SKIER BY" 1680 DISP " HITTING DESIRED KEY" 1690 DISP "REPEAT-DUPLICATE COURSE" 1700 DISP "THE OBJECT OF GAME IS TO MAKE" 1710 DISP "EACH GATE IN LEAST TIME!" 1720 BEEP 10,200 1730 GOTO 100 1740 F=2 1750 RETURN 1760 F=1 1770 RETURN 1780 IDRAW -5,17 1790 IDRAW -4,-4 1800 IDRAW 4,0 @ PENUP 1810 RETURN 1820 IDRAW 5,17 1830 IDRAW 4,-4 1840 IDRAW -4,0 @ PENUP 1850 RETURN