1 REM 2 REM Pocket Card Baseball v1.1 3 REM written by jurfer 4 REM http://home.comcast.net/~cheezsj/index.htm 5 REM 6 REM 1st release of English version happened on 7 REM June 20, 2007 8 REM 10 REM IMPORTANT NOTE 1: 11 REM Before running this program, 12 REM reserve at least 384 byte (180h byte) of 13 REM machine language area. You can do this 14 REM by typing these 2 lines: 15 REM POKE &BFE03,&1A,&FD,&B,&80,&1,0 [ENTER] 16 REM CALL &FFFD8 [ENTER] 17 REM 50 REM IMPORTANT NOTE 2: 51 REM After running this program 52 REM if you see some weird behavior 53 REM such as characters are not being 54 REM displayed correctly, press 55 REM [ctrl] key and [+/-] key 56 REM at the same time. You may 57 REM also try typing: 58 REM INIT"SCRN:" 59 REM to resolve this problem. 60 REM Such problem can happen 61 REM due to the usage of the 62 REM Font Substitute method 63 REM 100 CLEAR 110 FNT01=PEEK &HBFC93 120 FNT02=PEEK &HBFC94 130 FNT03=PEEK &HBFC95 140 RCDPWN=0: RCDCWN=0: TIE=0 150 DIM UX(6) 160 DIM LX(6) 170 DIM RUY(6) 180 DIM INIFP$(6) 190 DIM INISP$(6) 200 DIM FP$(6) 210 DIM SP$(6) 220 DIM INIFP2$(6) 230 DIM INISP2$(6) 240 DIM BASE(3) 250 DIM TMPN1(7) 260 DIM TMPN2(7) 270 DIM SCOMOT(5) 280 DIM SCURA(5) 290 DIM INIFP3$(6) 300 CLS 310 WAIT 0 320 TGL=0 330 K$="" 340 PRINT "Sound?" 350 *INSND 360 K$=INKEY$ 370 LOCATE 7, 0 380 IF TGL>0 AND TGL<7 THEN PRINT "(Y/N)?" 390 IF TGL>6 AND TGL<10 THEN PRINT " " 400 TGL=TGL+1:IF TGL>10 THEN TGL=0 410 IF K$="Y" OR K$="y" THEN SND=1:GOTO *EXSND 420 IF K$="N" OR K$="n" THEN SND=0:GOTO *EXSND 430 GOTO *INSND 440 *EXSND 450 GOSUB *TKKANA 460 *START 470 DUSEDP=0: USEDP=0 480 DUSEDC=0: USEDC=0 490 CLS 500 WAIT 0 510 PRINT " Pocket Card Baseball v1.1" 520 PRINT 530 PRINT " by jsurfer" 540 PRINT " on March 18, 2006"; 550 GOSUB *WTK2 560 CLS 570 PRINT " Mode select" 580 PRINT " 1) Play mode" 590 PRINT " 2) Watch mode" 600 K$="" 610 TGL=0 620 *ASK 630 K$=INKEY$ 640 LOCATE 1, 3 650 IF TGL>0 AND TGL<7 THEN PRINT "(1/2)" 660 IF TGL>6 AND TGL<10 THEN PRINT " " 670 TGL=TGL+1:IF TGL>10 THEN TGL=0 680 IF K$="1" THEN MODE=1:GOTO *INIT 690 IF K$="2" THEN MODE=2:GOTO *INIT 700 GOTO *ASK 710 *INIT 720 UY=23 730 LY=31 740 UX(1)=6 750 LX(1)=6 760 FOR I=2 TO 6 770 UX(I)=UX(I-1)+18 780 LX(I)=UX(I) 790 NEXT I 800 RUX=221 810 RUY(1)=5 820 FOR I=2 TO 6 830 RUY(I)=RUY(I-1)+5 840 NEXT I 850 WAIT 0 860 INIFP$(1)="OUT" 870 INIFP$(2)="HIT" 880 INIFP$(3)="OUT" 890 INIFP$(4)="HIT" 900 INIFP$(5)="OUT" 910 INIFP$(6)="OUT" 920 INISP$(1)="1B" 930 INISP$(2)="2B" 940 INISP$(3)="1B" 950 INISP$(4)="3B" 960 INISP$(5)="1B" 970 INISP$(6)="HR" 980 INIFP2$(1)="OUT" 990 INIFP2$(2)="HIT" 1000 INIFP2$(3)="OUT" 1010 INIFP2$(4)="OUT" 1020 INIFP2$(5)="OUT" 1030 INIFP2$(6)="OUT" 1040 INISP2$(1)="HR" 1050 INISP2$(2)="HR" 1060 INISP2$(3)="HR" 1070 INISP2$(4)="3B" 1080 INISP2$(5)="HR" 1090 INISP2$(6)="HR" 1100 INIFP3$(1)="OUT" 1110 INIFP3$(2)="HIT" 1120 INIFP3$(3)="OUT" 1130 INIFP3$(4)="HIT" 1140 INIFP3$(5)="OUT" 1150 INIFP3$(6)="HIT" 1160 BASE(1)=0: BASE(2)=0: BASE(3)=0 1170 FOR I=1 TO 5 1180 SCOMOT(I)=0 1190 SCURA(I)=0 1200 NEXT 1210 FLAG1=0 1220 FLAG2=0 1230 FLAG3=0 1240 FLAG4=0 1250 TGL=0 1260 PSCORE=0 1270 CSCORE=0 1280 INNING=1 1290 URA=0: ' URA=0 IS OMOTE 1300 RANDOMIZE : T=RND (2) 1310 ' 0 IS PLAYER FIRST 1320 IF T=1 THEN PFIRST=0 ELSE PFIRST=1 1330 HITTNG=PFIRST 1340 CLS 1350 WAIT 100 1360 IF PFIRST=0 THEN PRINT "You are batting first" ELSE PRINT "COM team is batting first" 1370 WAIT 0 1380 CLS 1390 PRINT 1400 WAIT 60 1410 PRINT " *** PLAY BALL! ***" 1420 WAIT 0 1430 CLS 1440 *FSTTRW 1450 GOSUB *DISPLY 1460 GOSUB *UPDTAR 1470 GOSUB *DRAWC3 1480 GOSUB *SFLPREP 1490 GOSUB *SFLFP 1500 POKE &BFC93,&80,&FA,&B 1510 CDX=1 1520 FOR I=1 TO 6 1530 LOCATE CDX,2 1540 REM PRINT "A I U" 1545 PRINT CHR$(177);:PRINT CHR$(178);:PRINT CHR$(179); 1550 LOCATE CDX,3 1560 REM PRINT "E O KA" 1565 PRINT CHR$(180);:PRINT CHR$(181);:PRINT CHR$(182); 1570 CDX=CDX+3 1580 NEXT I 1590 POKE &BFC93,FNT01, FNT02, FNT03 1600 *FNSDRW 1610 RANDOMIZE 1620 A=RND (6) 1630 IF HITTNG=0 AND MODE=1 THEN GOSUB *PKEYIN 1640 GOSUB *MEKUR1 1650 IF FP$(A)="OUT" AND SND=1 THEN BEEP 1, 250, 15 1660 IF FP$(A)="HIT" AND SND=1 THEN BEEP 1, 100, 15 1670 IF FP$(A)="OUT" THEN OUT=OUT+1 1680 GOSUB *WAITWHIL 1690 IF FP$(A)="OUT" THEN GOTO *CKCHNG 1700 GOSUB *SNDTRW 1710 *CKCHNG 1720 IF OUT=3 THEN GOTO *CHANGE 1730 IF FLAG2=1 THEN GOTO *FINISH 1740 IF OUT=2 AND INNING=5 AND HITTNG=0 AND PSCORECSCORE AND DUSEDC=0 THEN GOSUB *DCKC 1760 GOTO *FSTTRW 1770 *CHANGE 1780 IF SND=1 THEN BEEP 1, 140, 45 1790 WAIT 100 1800 LOCATE 4, 1:PRINT " ** Change ** "; 1810 WAIT 0 1820 OUT=0 1830 IF URA=1 THEN INNING=INNING+1 1840 IF URA=1 THEN URA=0 ELSE URA=1 1850 IF INNING=6 THEN *FINISH 1860 IF INNING=5 AND URA=1 GOTO *CKEND 1870 IF INNING=5 AND URA=0 THEN GOSUB *CKSP4 1880 *CHGCNT 1890 IF HITTNG=0 THEN HITTNG=1 ELSE HITTNG=0 1900 BASE(1)=0 1910 BASE(2)=0 1920 BASE(3)=0 1930 GOTO *FSTTRW 1940 *CKEND 1950 IF PFIRST=0 AND PSCORECSCORE THEN FLAG1=1 1980 IF PFIRST=1 AND PSCORE>CSCORE THEN GOTO *FINISH 1990 GOTO *CHGCNT 2000 *SNDTRW 2010 GOSUB *DRAWC4 2020 GOSUB *SFLPREP 2030 GOSUB *SFLSP 2040 POKE &BFC93,&80,&FA,&B 2050 CDX=1 2060 FOR I=1 TO 6 2070 LOCATE CDX,2 2080 REM PRINT "KU SHI HI" 2085 PRINT CHR$(184);:PRINT CHR$(188);:PRINT CHR$(203); 2090 LOCATE CDX,3 2100 REM PRINT "MU ME WA" 2105 PRINT CHR$(209);:PRINT CHR$(210);:PRINT CHR$(220); 2110 CDX=CDX+3 2120 NEXT I 2130 POKE &BFC93,FNT01, FNT02, FNT03 2140 *FNSDR2 2150 USEDP=0 2160 USEDC=0 2170 RANDOMIZE 2180 A= RND (6) 2190 IF HITTNG=0 AND MODE=1 THEN GOSUB *PKEYIN 2200 GOSUB *MEKUR2 2210 IF SP$(A)="1B" AND SND=1 THEN BEEP 1, 80, 15 2220 IF SP$(A)="2B" AND SND=1 THEN BEEP 1, 60, 15 2230 IF SP$(A)="3B" AND SND=1 THEN BEEP 1, 40, 15 2240 IF SP$(A)="HR" AND SND=1 THEN BEEP 2, 10, 15 2250 GOSUB *WAITWHIL 2260 TMPSCR=0 2270 IF SP$(A)<>"1B" THEN GOTO *SKIP1 2280 ' ++1B HIT 2290 IF BASE(3)=1 THEN TMPSCR=TMPSCR+1 2300 BASE(3)=BASE(2) 2310 BASE(2)=BASE(1) 2320 BASE(1)=1 2330 GOTO *EDSTR 2340 *SKIP1 2350 IF SP$(A)<>"2B" THEN GOTO *SKIP2 2360 ' ++2B HIT 2370 IF BASE(3)=1 THEN TMPSCR=TMPSCR+1 2380 BASE(3)=0 2390 IF BASE(2)=1 THEN TMPSCR=TMPSCR+1 2400 BASE(2)=0 2410 IF BASE(1)=1 THEN BASE(3)=1 2420 BASE(1)=0 2430 BASE(2)=1 2440 GOTO *EDSTR 2450 *SKIP2 2460 IF SP$(A)<>"3B" THEN GOTO *SKIP3 2470 ' ++3B HIT 2480 IF BASE(3)=1 THEN TMPSCR=TMPSCR+1 2490 BASE(3)=0 2500 IF BASE(2)=1 THEN TMPSCR=TMPSCR+1 2510 BASE(2)=0 2520 IF BASE(1)=1 THEN TMPSCR=TMPSCR+1 2530 BASE(1)=0 2540 BASE(3)=1 2550 GOTO *EDSTR 2560 *SKIP3 2570 ' ++HR! 2580 IF BASE(3)=1 THEN TMPSCR=TMPSCR+1 2590 BASE(3)=0 2600 IF BASE(2)=1 THEN TMPSCR=TMPSCR+1 2610 BASE(2)=0 2620 IF BASE(1)=1 THEN TMPSCR=TMPSCR+1 2630 BASE(1)=0 2640 TMPSCR=TMPSCR+1 2650 *EDSTR 2660 IF HITTNG=0 THEN PSCORE=PSCORE+TMPSCR 2670 IF HITTNG=1 THEN CSCORE=CSCORE+TMPSCR 2680 IF URA=0 THEN SCOMOT(INNING)=SCOMOT(INNING)+TMPSCR 2690 IF URA=1 THEN SCURA(INNING)=SCURA(INNING)+TMPSCR 2700 IF INNING=5 AND URA=1 AND HITTNG=0 AND PSCORE>CSCORE THEN FLAG2=1 2710 IF INNING=5 AND URA=1 AND HITTNG=1 AND PSCORE9 THEN LOCATE 21,0:FLAG3=1:PRINT "COM"; 2970 IF PFIRST=1 THEN LOCATE 10,0:PRINT "COM"; 2980 IF PFIRST=1 THEN LOCATE 13,0:PRINT CSCORE; 2990 IF PFIRST=1 THEN LOCATE 16,0:PRINT "-"; 3000 IF PFIRST=1 THEN LOCATE 17,0:PRINT PSCORE; 3010 IF PFIRST=1 AND PSCORE<10 THEN LOCATE 20,0:PRINT "YOU"; 3020 IF PFIRST=1 AND PSCORE>9 THEN LOCATE 21,0:FLAG3=1:PRINT "YOU"; 3030 LOCATE 28,0:PRINT " OUT="; 3040 PRINT OUT 3050 LOCATE 5, 1 3060 IF URA=0 THEN LINE (60,8)-(78,8) 3070 IF URA=1 AND FLAG3=0 THEN LINE (120,8)-(138,8) 3080 IF URA=1 AND FLAG3=1 THEN LINE (126,8)-(144,8) 3090 POKE &BFC93,&80,&FA,&B 3100 LOCATE 29, 1 3110 REM PRINT " NU SO YU" 3115 PRINT " ";:PRINT CHR$(199);:PRINT CHR$(191);:PRINT CHR$(213); 3120 LOCATE 29, 2 3130 REM PRINT "YA RE RO NE FU" 3135 PRINT CHR$(212);:PRINT CHR$(218);:PRINT CHR$(219);:PRINT " ";:PRINT CHR$(200);:PRINT CHR$(204); 3140 LOCATE 29, 3 3150 REM PRINT " KI HE MI" 3155 PRINT " ";:PRINT CHR$(183);:PRINT CHR$(205);:PRINT CHR$(208);: 3160 POKE &BFC93,FNT01, FNT02, FNT03 3170 IF BASE(1)=1 THEN PSET (197,19) 3180 IF BASE(1)=1 THEN PSET (195,19) 3190 IF BASE(1)=1 THEN LINE (196,16)-(196,18) 3200 IF BASE(1)=1 THEN LINE (195,17)-(197,17) 3210 IF BASE(2)=1 THEN PSET (184,11) 3220 IF BASE(2)=1 THEN PSET (182,11) 3230 IF BASE(2)=1 THEN LINE (183, 8)-(183, 10) 3240 IF BASE(2)=1 THEN LINE (182, 9)-(184, 9) 3250 IF BASE(3)=1 THEN PSET (184,21) 3260 IF BASE(3)=1 THEN PSET (182,21) 3270 IF BASE(3)=1 THEN LINE (183,18)-(183, 20) 3280 IF BASE(3)=1 THEN LINE (182,19)-(184,19) 3290 RETURN 3300 *FINISH 3310 WAIT 0 3320 CLS 3330 IF PFIRST=0 THEN GOSUB *SENKOU 3340 IF PFIRST=1 THEN GOSUB *KOUKOU 3350 FOR I=1 TO 5 3360 LOCATE I*3+1,0:PRINT SCOMOT(I) 3370 LOCATE I*3+1,1:PRINT SCURA(I) 3380 IF I=5 AND FLAG1=1 THEN LOCATE I*3+1,1:PRINT " X" 3390 NEXT 3400 IF PSCORE>CSCORE THEN PRINT " YOU WON!"; 3410 REM IF PSCORE>CSCORE AND FLAG2=1 THEN PRINT " Sayonara gachi...." 3420 IF PSCORE>CSCORE THEN RCDPWN=RCDPWN+1 3430 IF PSCORE0 AND TGL<7 THEN PRINT " (Y/N)" 3610 IF TGL>6 AND TGL<10 THEN PRINT " " 3620 TGL=TGL+1:IF TGL>10 THEN TGL=0 3630 IF K$="Y" OR K$="y" THEN GOTO *START 3640 IF K$="N" OR K$="n" THEN GOTO *EXIT 3650 GOTO *ASKPL 3660 *EXIT 3670 WAIT 0 3680 END 3690 *SENKOU 3700 LOCATE 0,0: PRINT "YOU":LOCATE 0,1: PRINT "COM" 3710 LOCATE 25,0: PRINT PSCORE:LOCATE 25,1: PRINT CSCORE 3720 RETURN 3730 *KOUKOU 3740 LOCATE 0,0: PRINT "COM":LOCATE 0,1: PRINT "YOU" 3750 LOCATE 25,0: PRINT CSCORE:LOCATE 25,1: PRINT PSCORE 3760 RETURN 3770 *UIGOUT 3780 GPRINT "FC02F10909F101F101F10111F11102FC" 3790 RETURN 3800 *LIGOUT 3810 GPRINT "0F10242525242425252524242524100F" 3820 RETURN 3830 *UIGHIT 3840 GPRINT "FC02F96161F90111F1110111F11102FC" 3850 RETURN 3860 *LIGHIT 3870 GPRINT "0F10252424252425252524242524100F" 3880 RETURN 3890 *UIG1B 3900 GPRINT "FC02191DFDFD010101F9F9C9F97102FC" 3910 RETURN 3920 *LIG1B 3930 GPRINT "0F102C2C2F2F2C2C202F2F2C2F27100F" 3940 RETURN 3950 *UIG2B 3960 GPRINT "FC02393D8DCDFD7901F9F9C9F97102FC" 3970 RETURN 3980 *LIG2B 3990 GPRINT "0F102E2F2F2D2C2C202F2F2C2F27100F" 4000 RETURN 4010 *UIG3B 4020 GPRINT "FC02191DCDCDFD3901F9F9C9F97102FC" 4030 RETURN 4040 *LIG3B 4050 GPRINT "0F10262E2C2C2F27202F2F2C2F27100F" 4060 RETURN 4070 *UIGHR 4080 GPRINT "FC02FDFDE1E1FDFD01FDFDCDFD3902FC" 4090 RETURN 4100 *LIGHR 4110 GPRINT "0F102F2F21212F2F202F2F212F2F100F" 4120 RETURN 4130 *IROUT 4140 GPRINT "60909090600070808080700010F01000" 4150 RETURN 4160 *IRHIT 4170 GPRINT "F0202020F00090F0900010F010" 4180 RETURN 4190 *IR1B 4200 GPRINT "0090F08000F0A0A040" 4210 RETURN 4220 *IR2B 4230 GPRINT "2090D0A000F0A0A040" 4240 RETURN 4250 *IR3B 4260 GPRINT "0088A87000F0A0A040" 4270 RETURN 4280 *IRHR 4290 GPRINT "00F02020F000F050B0" 4300 RETURN 4310 *DRAWC1 4320 FOR I=6 TO 1 STEP -1 4330 GCURSOR (RUX, RUY(I)) 4340 IF FP$(I)="OUT" THEN GOSUB *IROUT 4350 IF FP$(I)="HIT" THEN GOSUB *IRHIT 4360 NEXT I 4370 RETURN 4380 *DRAWC2 4390 LOCATE 38,0:PRINT " " 4400 LOCATE 38,1:PRINT " " 4410 LOCATE 38,2:PRINT " " 4420 LOCATE 38,3:PRINT " " 4430 FOR I=6 TO 1 STEP -1 4440 GCURSOR (RUX, RUY(I)) 4450 IF SP$(I)="1B" THEN GOSUB *IR1B 4460 IF SP$(I)="2B" THEN GOSUB *IR2B 4470 IF SP$(I)="3B" THEN GOSUB *IR3B 4480 IF SP$(I)="HR" THEN GOSUB *IRHR 4490 NEXT I 4500 RETURN 4510 *DRAWC3 4520 FOR I=6 TO 1 STEP -1 4530 GCURSOR (RUX, RUY(I)) 4540 IF FP$(I)="OUT" THEN GOSUB *IROUT 4550 IF FP$(I)="HIT" THEN GOSUB *IRHIT 4560 NEXT I 4570 RETURN 4580 *DRAWC4 4590 LOCATE 38,0:PRINT " " 4600 LOCATE 38,1:PRINT " " 4610 LOCATE 38,2:PRINT " " 4620 LOCATE 38,3:PRINT " " 4630 FOR I=6 TO 1 STEP -1 4640 GCURSOR (RUX, RUY(I)) 4650 IF SP$(I)="1B" THEN GOSUB *IR1B 4660 IF SP$(I)="2B" THEN GOSUB *IR2B 4670 IF SP$(I)="3B" THEN GOSUB *IR3B 4680 IF SP$(I)="HR" THEN GOSUB *IRHR 4690 NEXT I 4700 RETURN 4710 *MEKUR1 4720 FOR I=1 TO 6 4730 IF I=A GOSUB *MEKSY1 4740 NEXT I 4750 RETURN 4760 *MEKSY1 4770 IF FP$(A)="OUT" THEN GCURSOR (UX(A), UY):GOSUB *UIGOUT 4780 IF FP$(A)="OUT" THEN GCURSOR (LX(A), LY):GOSUB *LIGOUT 4790 IF FP$(A)="HIT" THEN GCURSOR (UX(A), UY):GOSUB *UIGHIT 4800 IF FP$(A)="HIT" THEN GCURSOR (LX(A), LY):GOSUB *LIGHIT 4810 RETURN 4820 *MEKUR2 4830 FOR I=1 TO 6 4840 IF I=A GOSUB *MEKSY2 4850 NEXT I 4860 RETURN 4870 *MEKSY2 4880 IF SP$(A)="1B" THEN GCURSOR (UX(A), UY):GOSUB *UIG1B 4890 IF SP$(A)="1B" THEN GCURSOR (LX(A), LY):GOSUB *LIG1B 4900 IF SP$(A)="2B" THEN GCURSOR (UX(A), UY):GOSUB *UIG2B 4910 IF SP$(A)="2B" THEN GCURSOR (LX(A), LY):GOSUB *LIG2B 4920 IF SP$(A)="3B" THEN GCURSOR (UX(A), UY):GOSUB *UIG3B 4930 IF SP$(A)="3B" THEN GCURSOR (LX(A), LY):GOSUB *LIG3B 4940 IF SP$(A)="HR" THEN GCURSOR (UX(A), UY):GOSUB *UIGHR 4950 IF SP$(A)="HR" THEN GCURSOR (LX(A), LY):GOSUB *LIGHR 4960 RETURN 4970 *SFLPREP 4980 FOR I=1 TO 7 4990 TMPN1(I)=I 5000 NEXT I 5010 I9=1 5020 NLEFTA=6 5030 *LPSFL 5040 RANDOMIZE : PNTR = RND (NLEFTA) 5050 TMPN2(I9) = TMPN1(PNTR) 5060 FOR I=PNTR TO NLEFTA 5070 TMPN1(I)=TMPN1(I+1) 5080 NEXT I 5090 NLEFTA=NLEFTA-1 5100 I9=I9+1 5110 IF NLEFTA=1 THEN TMPN2(I9)=TMPN1(1):GOTO *EXTSFL 5120 GOTO *LPSFL 5130 *EXTSFL 5140 RETURN 5150 *TKCFP3 5160 FOR I=1 TO 6 5170 FP$(TMPN2(I))=INIFP3$(I) 5180 NEXT I 5190 RETURN 5200 *SFLFP 5210 IF FLAG4=1 AND USEDP=0 THEN GOSUB *TKCFP3:RETURN 5220 IF FLAG4=1 AND USEDC=0 THEN GOSUB *TKCFP3:RETURN 5230 FOR I=1 TO 6 5240 IF HITTNG=0 AND USEDP=0 THEN FP$(TMPN2(I))=INIFP$(I) 5250 IF HITTNG=0 AND USEDP=1 THEN FP$(TMPN2(I))=INIFP2$(I) 5260 IF HITTNG=1 AND USEDC=0 THEN FP$(TMPN2(I))=INIFP$(I) 5270 IF HITTNG=1 AND USEDC=1 THEN FP$(TMPN2(I))=INIFP2$(I) 5280 NEXT I 5290 RETURN 5300 *SFLSP 5310 FOR I=1 TO 6 5320 IF HITTNG=0 AND USEDP=0 THEN SP$(TMPN2(I))=INISP$(I) 5330 IF HITTNG=0 AND USEDP=1 THEN SP$(TMPN2(I))=INISP2$(I) 5340 IF HITTNG=1 AND USEDC=0 THEN SP$(TMPN2(I))=INISP$(I) 5350 IF HITTNG=1 AND USEDC=1 THEN SP$(TMPN2(I))=INISP2$(I) 5360 NEXT I 5370 RETURN 5380 *PKEYIN 5390 *W1TO61 5400 K$="" 5410 K$=INKEY$ 5420 LOCATE 20, 3 5430 IF TGL>0 AND TGL<7 THEN PRINT "(1-6)" 5440 IF TGL>6 AND TGL<10 THEN PRINT " " 5450 TGL=TGL+1:IF TGL>10 THEN TGL=0 5460 TMPNUM=0 5470 TMPNUM=ASC K$ 5480 IF TMPNUM<49 OR TMPNUM>54 THEN GOTO *W1TO61 5490 LOCATE 20, 3:PRINT " " 5500 IF TMPNUM=49 THEN A=1 5510 IF TMPNUM=50 THEN A=2 5520 IF TMPNUM=51 THEN A=3 5530 IF TMPNUM=52 THEN A=4 5540 IF TMPNUM=53 THEN A=5 5550 IF TMPNUM=54 THEN A=6 5560 RETURN 5570 *DCKP 5580 CLS 5590 PRINT "YOU ARE LOSING AND IT'S LAST INNING." 5600 PRINT "YOU MAY USE A PINCH HITTER." 5610 PRINT " " 5620 GOSUB *WTK2 5630 CLS 5640 PRINT 5650 PRINT "CHANGE" 5660 FOR I=6 TO 1 STEP -1 5670 GCURSOR (43, RUY(I)) 5680 IF FP$(I)="OUT" THEN GOSUB *IROUT 5690 IF FP$(I)="HIT" THEN GOSUB *IRHIT 5700 NEXT I 5710 FOR I=6 TO 1 STEP -1 5720 GCURSOR (63, RUY(I)) 5730 IF SP$(I)="1B" THEN GOSUB *IR1B 5740 IF SP$(I)="2B" THEN GOSUB *IR2B 5750 IF SP$(I)="3B" THEN GOSUB *IR3B 5760 IF SP$(I)="HR" THEN GOSUB *IRHR 5770 NEXT I 5780 LOCATE 13,1 5790 PRINT "TO" 5800 FOR I=6 TO 1 STEP -1 5810 GCURSOR (93, RUY(I)) 5820 IF INIFP2$(I)="OUT" THEN GOSUB *IROUT 5830 IF INIFP2$(I)="HIT" THEN GOSUB *IRHIT 5840 NEXT I 5850 FOR I=6 TO 1 STEP -1 5860 GCURSOR (113, RUY(I)) 5870 IF INISP2$(I)="1B" THEN GOSUB *IR1B 5880 IF INISP2$(I)="2B" THEN GOSUB *IR2B 5890 IF INISP2$(I)="3B" THEN GOSUB *IR3B 5900 IF INISP2$(I)="HR" THEN GOSUB *IRHR 5910 NEXT I 5920 LOCATE 21,1 5930 PRINT "" 5940 LINE (174,3)-(174,28) 5950 LINE (173,2)-(173,29) 5960 LINE (172,3)-(172,28) 5970 LOCATE 30,0 5980 PRINT "SCORE:" 5990 LOCATE 31,1 6000 PRINT PSCORE; 6010 PRINT "-";CSCORE 6020 LOCATE 30,2 6030 PRINT "BASES: " 6040 LOCATE 31,3 6050 IF BASE(1)=0 AND BASE(2)=0 AND BASE(3)=0 THEN PRINT "NONE"; 6060 IF BASE(1)=0 AND BASE(2)=0 AND BASE(3)=0 THEN GOTO *EXRNR 6070 IF BASE(1)=1 AND BASE(2)=1 AND BASE(3)=1 THEN PRINT "LOADED"; 6080 IF BASE(1)=1 AND BASE(2)=1 AND BASE(3)=1 THEN GOTO *EXRNR 6090 IF BASE(1)=1 THEN PRINT "1B "; 6100 IF BASE(2)=1 THEN PRINT "2B "; 6110 IF BASE(3)=1 THEN PRINT "3B"; 6120 *EXRNR 6130 LOCATE 22,3 6140 PRINT "(Y/N)" 6150 TGL=0 6160 *TPDCK 6170 K$="" 6180 K$=INKEY$ 6190 LOCATE 22,3 6200 IF TGL>0 AND TGL<7 THEN PRINT "(Y/N)" 6210 IF TGL>6 AND TGL<10 THEN PRINT " " 6220 TGL=TGL+1:IF TGL>10 THEN TGL=0 6230 IF K$="Y" OR K$="y" THEN USEDP=1:DUSEDP=1:GOTO *EDCKP 6240 IF K$="N" OR K$="n" THEN USEDP=0:GOTO *EDCKP 6250 GOTO *TPDCK 6260 *EDCKP 6270 RETURN 6280 *DCKC 6290 CLS 6300 WAIT 300 6310 PRINT "COM'S THINKING TO USE PINCH HITTER.." 6320 RANDOMIZE : T=RND (3) 6330 WAIT 0 6340 IF T=1 THEN USEDC=1:DUSEDC=1:PRINT "COM WILL USE PINCH HITTER" 6350 IF T=2 OR T=3 THEN USEDC=0:PRINT "COM WILL NOT USE PINCH HITTER" 6360 GOSUB *WTK2 6370 RETURN 6380 *TKKANA 6390 POKE &BFC93,&80,&FA,&B 6400 ' CHR$(184) 6410 POKE &BFB10,&FC,&FE,&CF,&87,&F3,&F3 6420 ' CHR$(188) 6430 POKE &BFB28,&F3,&73,&33,&33,&33,&33 6440 ' CHR$(203) 6450 POKE &BFB82,&87,&CF,&FE,&FC,&00,&00 6460 ' CHR$(209) 6470 POKE &BFBA6,&0F,&1F,&3F,&3F,&3F,&3F 6480 ' CHR$(210) 6490 POKE &BFBAC,&3F,&32,&32,&3F,&3F,&3F 6500 ' CHR$(220) 6510 POKE &BFBE8,&3F,&3F,&1F,&0F,&00,&00 6520 ' CHR$(177) 6530 POKE &BFAE6,&FC,&02,&31,&79,&0D,&0D 6540 ' CHR$(178) 6550 POKE &BFAEC,&0D,&8D,&CD,&CD,&CD,&CD 6560 ' CHR$(179) 6570 POKE &BFAF2,&79,&31,&02,&FC,&00,&00 6580 ' CHR$(180) 6590 POKE &BFAF8,&0F,&10,&20,&20,&20,&20 6600 ' CHR$(181) 6610 POKE &BFAFE,&20,&2D,&2D,&20,&20,&20 6620 ' CHR$(182) 6630 POKE &BFB04,&20,&20,&10,&0F,&00,&00 6640 ' CHR$(199) 6650 POKE &BFB6A,&00,&00,&80,&40,&20,&10 6660 ' CHR$(191) 6670 POKE &BFB3A,&08,&04,&02,&07,&07,&02 6680 ' CHR$(213) 6690 POKE &BFBBE,&04,&08,&10,&20,&40,&80 6700 ' CHR$(212) 6710 POKE &BFBB8,&01,&02,&04,&08,&18,&3C 6720 ' CHR$(218) 6730 POKE &BFBDC,&5A,&81,&00,&00,&00,&00 6740 ' CHR$(219) 6750 POKE &BFBE2,&00,&00,&00,&20,&20,&00 6760 ' CHR$(200) 6770 POKE &BFB70,&81,&5A,&3C,&18,&08,&04 6780 ' CHR$(204) 6790 POKE &BFB88,&02,&01,&00,&00,&00,&00 6800 ' CHR$(183) 6810 POKE &BFB0A,&00,&00,&01,&02,&04,&08 6820 ' CHR$(205) 6830 POKE &BFB8E,&10,&20,&78,&F8,&F8,&78 6840 ' CHR$(208) 6850 POKE &BFBA0,&20,&10,&08,&04,&02,&01 6860 POKE &BFC93,FNT01, FNT02, FNT03 6870 RETURN 6880 *MIMAMO 6890 PRINT "I WILL JUST KEEP ON WATCHING":PRINT "(NOTHING HAPPENED)" 6900 GOSUB *WTK2 6910 RETURN 6920 *CKSP4 6930 IF PSCORE=0 AND CSCORE=0 THEN GOSUB *TKOZER:RETURN 6940 IF PSCORE=0 AND CSCORE=1 THEN GOSUB *TKOZER:RETURN 6950 IF PSCORE=1 AND CSCORE=0 THEN GOSUB *TKOZER:RETURN 6960 IF PSCORE=1 AND CSCORE=1 THEN GOSUB *TKOZER:RETURN 6970 TMPTTL=0 6980 IF PSCORE>CSCORE THEN TMPTTL=PSCORE-CSCORE 6990 IF PSCORECSCORE THEN CSCORE=CSCORE+TMPTTL 7120 IF PSCORECSCORE THEN SCURA(4)=SCURA(4)+TMPTTL 7140 IF PFIRST=0 AND PSCORECSCORE THEN SCOMOT(4)=SCOMOT(4)+TMPTTL 7160 IF PFIRST=1 AND PSCORE0 AND TGL<7 THEN PRINT ">" 7950 IF TGL>6 AND TGL<10 THEN PRINT " " 7960 TGL=TGL+1:IF TGL>10 THEN TGL=0 7970 K$=INKEY$ 7980 IF K$="" GOTO *LOOP01 7990 RETURN