gigatron/rom/Contrib/at67/gbas/classic/bowling.gbas
2025-01-28 19:17:01 +03:00

109 lines
2.5 KiB
Plaintext

_runtimePath_ "../runtime"
_runtimeStart_ &h7FFF
_codeRomType_ ROMv2
mode 2 : cls
270 DIM C(15) : DIM A(100,6)
360 PRINT "WELCOME TO THE ALLEY BRING";
450 PRINT "YOUR FRIENDS! OKAY LET US"
540 PRINT "FIRST GET ACQUAINTED..."
630 PRINT ""
720 PRINT "THE INSTRUCTIONS (Y/N)"
810 INPUT Z$ : PRINT
900 IF UPPER$(Z$) = "Y" THEN 990
960 IF UPPER$(Z$) = "N" THEN 1530
990 CLS : PRINT "THE GAME OF BOWLING TAKES MIND AND SKILL. DURING THEGAME";
1080 PRINT " THE COMPUTER WILL KEEP SCORE. YOU MAY COMPETE";
1170 PRINT " WITH OTHER PLAYERS(UP TO FOUR).YOU WILL BE PLAYING TEN FRAMES. ON THE";
1260 PRINT "PIN DIAGRAM O MEANS THE"
1261 PRINT "PIN IS DOWN, + MEANS THE"
1350 PRINT "PIN IS STANDING. AT THE"
1351 PRINT "END OF THE GAME YOU WILL"
1352 PRINT "BE SHOWN YOUR SCORES."
1530 PRINT : PRINT "FIRST OF ALL...HOW MANY"
1531 PRINT "PLAYERS ARE THERE";
1620 INPUT R
1710 PRINT
1800 PRINT "VERY GOOD..."
1890 FOR I=1 TO 100: FOR J=1 TO 6: A(I,J)=0: NEXT J: NEXT I
1980 F=1
2070 FOR P=1 TO R
2160 M=0
2250 B=1
2340 M=0 : Q=0
2430 FOR I=1 TO 15: C(I)=0: NEXT I
REM ARK BALL GENERATOR USING MOD 15 SYSTEM
2610 PRINT "PRESS ENTER TO START."
2700 INPUT N$ : print : cls
2790 K=0: D=0
2880 FOR I=1 TO 20
2970 X=RND(100)
3060 FOR J=1 TO 10
3150 IF X<(15*J) THEN 3330
3240 NEXT J
3330 C(15*J-X)=1
3420 NEXT I
REM ARK PIN DIAGRAM
3600 PRINT "PLAYER:";P;" FRAME:";F;" BALL:";B
3690 FOR I=0 TO 3
3780 PRINT
3870 FOR J=1 TO 4-I
3960 K=K+1
4050 IF C(K)=1 THEN 4320
4140 AT J*6 + I*3 + 2 : PRINT "+ ";
4230 GOTO 4410
4320 AT J*6 + I*3 + 2 : PRINT "O ";
4410 NEXT J
4500 NEXT I
4590 PRINT ""
REM ARK ROLL ANALYSIS
4770 FOR I=1 TO 10
4860 D=D+C(I)
4950 NEXT I
5040 IF (D-M) <> 0 THEN 5220
5130 PRINT "GUTTER!!"
5220 IF (B<>1) OR (D<>10) THEN 5490
5310 PRINT "STRIKE!!!!!"
5400 Q=3
5490 IF (B<>2) OR (D<>10) THEN 5760
5580 PRINT "SPARE!!!!"
5670 Q=2
5760 IF (B<>2) OR (D>=10) THEN 6030
5850 PRINT "FAILED!!!"
5940 Q=1
6030 IF (B<>1) OR (D>=10) THEN 6300
6120 PRINT "ROLL YOUR 2ND BALL"
REM ARK STORAGE OF THE SCORES
6300 PRINT
6390 A(F*P,B)=D
6480 IF B=2 THEN 7020
6570 B=2
6660 M=D
6750 IF Q=3 THEN 6300
6840 A(F*P,B)=D-M
6930 IF Q=0 THEN 2610
7020 A(F*P,3)=Q
7110 NEXT P
7200 F=F+1
7290 IF F<11 THEN 2070
7295 PRINT "FRAMES"
7380 FOR I=1 TO 10
7470 PRINT I;
7560 NEXT I
7650 PRINT
7740 FOR P=1 TO R
7830 FOR I=1 TO 3
7920 FOR J=1 TO 10
8010 PRINT A(J*P,I);
8100 NEXT J
8105 PRINT
8190 NEXT I
8280 PRINT
8370 NEXT P
8460 PRINT "DO YOU WANT ANOTHER GO";
8550 INPUT A$ : PRINT : P=1
8640 IF UPPER$(LEFT$(A$,1)) = "Y" THEN 1890
END