image of READY prompt

Wang2200.org

Listing of file='FOOTBALL' on disk='vmedia/games.wvd.zip'

# Sector 126, program filename = 'FOOTBALL'
0010 DIM S$32,S9$64,S(3)
0020 SELECT PRINT 005
   : PRINT HEX(03),"***WANG 2200 FOOTBALL***"
0030 D=1
   : D$=HEX(010A0A0A0A0A0A0A0A0A0A0A0A0A0A0A)
0040 GOTO 2320
0050 %          G....!....1....!....2....!....3....!....4....!....M
0060 %          M....!....4....!....3....!....2....!....1....!....G
0070 %!     #    -##.#             #      ##.##      !
0080 DEFFN1(X)=8*A*(RND(1)-.5)^3+B
0090 DEFFN'15
   : PRINT "CALL PLAYS AS FOLLOWS:"
0100 PRINT " 1=SIMPLE RUN   2=TRICKY RUN   3=SHORT PASS   4=LONG PASS"
0110 PRINT " 5=PUNT   6=QUICK KICK   7=PLACE KICK"
0120 RETURN
0130 REM LOGIC FOR THIS PLAY  T=TIME EXPIRED
0140 T=T+RND(1)
   : IF T<30 THEN 160
0150 IF H2=4 THEN 1720
   : GOTO 1610
0160 IF T>=28 THEN 180
   : IF H7-T>0 THEN 200
0170 T=15
   : H7=30
   : H2=H2+1
   : GOTO 200
0180 IF H1=1 THEN 200
0190 GOSUB 1850
   : GOSUB 2070
   : PRINT "TWO MINUTE WARNING."
   : H1=1
   : T=28
0200 GOSUB 1870
   : Y,F=0
   : GOTO 1160
0210 A=20
   : B=0
   : X=FN1(X)
0220 GOSUB 2070
   : PRINT "KICKOFF...           ";
   : GOSUB 1850
   : K=1
0230 Y=0
   : F=-1
   : Z=8
   : X6=60
   : GOSUB 2120
   : GOSUB 2100
0240 K=0
   : IF X>0 THEN 260
   : PRINT "FAIR CATCH CALLED. TOUCHBACK. "
0250 X6,X=20
   : GOSUB 2120
   : GOTO 1070
0260 GOSUB 1790
   : GOTO 900
0270 REM LOGIC FOR TEAM B CALLING A PLAY
0280 REM --MISCALLED PLAY
0290 PRINT STR(D$,1,8);"MISCALLED PLAY. CALL PLAY AGAIN.";TAB(63);HEX(0D);
0300 IF G=3 THEN 1330
0310 PRINT STR(D$,1,12);TAB(63);HEX(0D);
0320 GOSUB '15
   : PRINT TAB(63);HEX(0D);
0330 IF P=1 THEN 340
   : PRINT A$;
   : GOTO 350
0340 PRINT B$;
0350 INPUT "'S BALL.  NEXT PLAY",L
   : Z=ABS(INT(L))
0360 IF Z=0THEN 280
   : IF Z>7THEN 280
0370 DEFFN'14
0380 R=RND(1)
0390 REM DETERMINE TYPE OF PLAY
0400 PRINT STR(D$,1,8);TAB(63);HEX(0D);
0410 IF RND(1)>.05 THEN 430
   : Q=-5
   : GOSUB 1800
0420 PRINT "  OFF SIDES:  ";
   : Y=Q
   : GOTO 1000
0430 IF Z>4THEN 660
   : IF Z<3THEN 460
0440 PRINT "PASS.";
   : IF Z=3THEN 540
   : GOTO 630
0450 REM LOGIC FOR RUN (1 OR 2)
0460 PRINT "RUN.";
   : IF Z<>1THEN 490
0470 A=4.1
   : B=3
   : Y=FN1(X)
0480 IF RND(1)<.05 THEN 500
   : GOTO 990
0490 A=15
   : B=6
   : Y=FN1(X)
   : IF RND(1)>.15 THEN 990
0500 PRINT "***FUMBLE***";
   : IF RND(1)>.4 THEN 520
0510 PRINT "BALL LOST AFTER ";
   : GOSUB 1790
   : F=-1
   : GOTO 990
0520 PRINT " BALL RECOVERED WITH ";
   : GOTO 990
0530 REM LOGIC FOR SHORT PASS (3)
0540 IF RND(1)>.4 THEN 550
   : IF RND(1)>.1 THEN 610
   : GOTO 600
0550 A=7.6
   : B=8
   : Y=FN1(X)
0560 IF RND(1)>.2THEN 990
0570 F=-1
   : X6=X
   : X=X+Y
   : GOSUB 2120
   : PRINT "INTERCEPTED!";
0580 IF X<100 THEN 590
   : PRINT "IN THE ENDZONE."
   : GOSUB 1850
   : X=80
0590 GOSUB 1790
   : GOTO 1070
0600 PRINT "BLITZ!  PASSER TACKLED. ";
   : Y=-13*R
   : GOTO 990
0610 PRINT " INCOMPLETE. ";
   : Y=0
   : GOTO 990
0620 REM LOGIC FOR LONG PASS
0630 IF RND(1)<.15 THEN 600
   : IF RND(1)<.6 THEN 610
0640 A=20
   : B=30
   : Y=FN1(X)
   : IF RND(1)<.7 THEN 570
   : GOTO 990
0650 REM LOGIC FOR KICK (5,6, OR 7)
0660 F=-1
   : K=1
   : IF Z=5THEN 670
   : IF Z=6THEN 680
   : GOTO 690
0670 A=15
   : B=45
   : GOTO 700
0680 A=20
   : B=30
   : GOTO 700
0690 A=20
   : B=35
0700 Y=FN1(X)
0710 IF Z=7THEN 950
0720 PRINT "PUNT.";
0730 IF X+Y>=100 THEN 760
0740 IF RND(1)<.7 THEN 780
0750 PRINT "  FAIR CATCH CALLED."
0760 X6=X
   : X=X+Y
   : GOSUB 2120
   : IF X<100 THEN 770
   : PRINT "TOUCHBACK"
   : X=80
0770 GOSUB 1790
   : K=0
   : GOTO 1070
0780 IF D=4 THEN 790
   : IF Z=5 THEN 800
0790 Y2=(3*RND(1))^2+RND(1)^2*25
   : GOTO 810
0800 Y2=(3*RND(1))^2+2*RND(1)
0810 X6=X
   : X=X+Y
   : GOSUB 2120
   : GOSUB 2100
0820 IF Z<>5 THEN 830
   : PRINT "GOOD FOR";INT(Y);
0830 K=0
   : GOSUB 1790
   : X6=X
   : X=X+Y2
   : GOSUB 2120
0840 PRINT "RUNBACK OF";INT(Y2);"YARDS"
0850 GOTO 1070
0860 IF RND(1)<.5THEN 940
0870 S1$="***FIELD GOAL***"
   : GOSUB 1980
   : I=3
   : GOSUB 1760
0880 GOSUB 1790
   : GOTO 210
0890 GOSUB 2100
   : PRINT "SHORT. ";
0900 PRINT "BALL TAKEN ON THE";
   : IF INT(100-X)=100 THEN 920
0910 PRINT INT(100-X);
   : GOTO 930
0920 PRINT " GOAL LINE";
0930 GOTO 830
0940 GOSUB 1790
   : PRINT "MISSED. "
   : K=0
   : GOTO 250
0950 PRINT "PLACEKICK.";
   : IF RND(1)>=.15 THEN 970
0960 PRINT "BLOCKED."
   : Y=-5
   : F=0
   : GOTO 990
0970 X6=X
   : X=X+Y
   : GOSUB 2120
0980 IF X<100 THEN 890
   : IF X<105 THEN 940
   : GOTO 860
0990 REM - CALCULATE GAIN OR LOSS
1000 X6=X
   : X=X+Y
   : GOSUB 2120
1010 IF Y=0 THEN 1030
   : IF Y<0 THEN 1040
1020 PRINT " GAIN OF ";INT(Y*10)/10
   : GOTO 1060
1030 PRINT " NO GAIN "
   : GOTO 1060
1040 PRINT " LOSS OF ";ABS(INT(Y*10)/10)
1050 IF X<=0 THEN 1220
   : GOTO 1070
1060 IF X>=100 THEN 1240
1070 IF F=0 THEN 1080
   : X6=X
   : GOSUB 2120
   : GOTO 1170
1080 X2=X-X1
   : IF X2>=10 THEN 1170
1090 D=D+1
   : IF D<=4 THEN 1150
   : GOSUB 1790
1100 GOSUB 1850
   : GOSUB 2070
1110 PRINT "FOURTH DOWN ATTEMPT IS NO GOOD!"
1120 F=-1
1130 GOSUB 1850
   : GOTO 1070
1140 REM ***********END OF DOWN***********
1150 GOTO 140
1160 IF P=1 THEN 300
   : GOTO 1320
1170 D=1
   : X2=0
1180 IF X<=90 THEN 1200
1190 X1=90
   : GOTO 140
1200 X1=X
   : GOTO 140
1210 REM SCORE CALCULATIONS
1220 S1$="***SAFETY***"
   : GOSUB 1980
   : P=-P
   : I=2
   : GOSUB 1760
1230 GOTO 210
1240 REM ******
1250 S1$="***TOUCHDOWN***"
   : GOSUB 1980
   : I=6
   : GOSUB 1760
1260 IF RND(1)<.5 THEN 1280
1270 PRINT "KICK IS GOOD."
   : I=1
   : GOSUB 1760
   : GOTO 1290
1280 PRINT "CONVERSION FAILS"
1290 GOSUB 1790
   : GOSUB 1850
1300 PRINT HEX(0C);
   : GOTO 210
1310 REM ****INITIATE NEXT PLAY FOR TEAM A
1320 IF G=2 THEN 310
1330 FOR E=1 TO 1000
   : NEXT E
   : REM - DISPLAY DELAY
1340 REM X=CURR.YD.LINE  X1=START YD.LINE  X2=YDS.TO GO  D=DOWN
1350 PRINT STR(D$,1,12);TAB(63);HEX(0D);
1360 IF P=1 THEN 1370
   : PRINT A$;"'S BALL."
   : GOTO 1380
1370 PRINT B$;"'S BALL."
1380 PRINT TAB(63)
   : PRINT TAB(63)
   : PRINT TAB(63)
1390 X2=10-X+X1
   : R=RND(1)
1400 IF D=4THEN 1520
   : IF X2<1THEN 1540
1410 IF X<90THEN 1430
   : IF X>95THEN 1540
1420 IF RND(1)>.6 THEN 1540
   : GOTO 1550
1430 REM DOWN 1,2,3 BETWEEN 0 AND 90
   : IF X2<2THEN 1420
1440 IF D=3THEN 1470
1450 IF RND(1)<.2 THEN 1570
   : IF RND(1)<.65 THEN 1560
1460 IF RND(1)<.75 THEN 1550
   : GOTO 1540
1470 IF X2<15 THEN 1500
   : IF X<45 THEN 1490
   : IF RND(1)>.8 THEN 1590
1480 REM TRY A LONG RUN OR PASS
1490 IF RND(1)<.3 THEN 1550
   : IF RND(1)<.6 THEN 1560
   : GOTO 1570
1500 IF X<5 THEN 1540
   : IF RND(1)>.6 THEN 1540
1510 IF RND(1)>.1 THEN 1550
   : GOTO 1560
1520 IF T<=55 THEN 1530
   : IF S(1)>S(3)+3 THEN 1560
1530 IF X<=60 THEN 1580
   : GOTO 1600
1540 Z=1
   : GOTO 380
1550 IF X<=20 THEN 1540
   : Z=2
   : GOTO 380
1560 Z=3
   : GOTO 380
1570 Z=4
   : GOTO 380
1580 Z=5
   : GOTO 380
1590 Z=6
   : GOTO 380
1600 Z=7
   : GOTO 380
1610 GOSUB 1850
1620 PRINT HEX(03);
   : T=30
   : D=1
   : X2=0
   : GOSUB 1870
1630 PRINT ,"***HALF TIME***"
   : PRINT
   : P=-H
1640 IF P=1THEN 1650
   : PRINT A$;
   : GOTO 1660
1650 PRINT B$;
1660 PRINT " WILL RECEIVE TO OPEN THE SECOND HALF"
1670 PRINT "THE PUNCHARD ALL GIRLS BAND WILL DAZZLE YOU WITH THEIR FOOTWORK AN
     D MEDIOCRE PLAYING"
1680 FOR E=1 TO 3000
   : NEXT E
1690 GOSUB 2560
1700 H2=3
   : T=0
   : H1=0
   : H7=15
   : H=0
1710 PRINT HEX(03);
   : GOSUB 1870
   : GOTO 210
1720 GOSUB 1850
1730 PRINT HEX(03);
   : T=30
   : GOSUB 1870
1740 PRINT ,"***FINAL SCORE***"
1750 STOP
1760 S(2-P)=S(2-P)+I
   : REM ADD TO SCORE
1770 GOSUB 1870
1780 RETURN
1790 P=-P
   : X=100-X
   : RETURN
   : REM - GIVE BALL TO OTHER SIDE
1800 PRINT "***PENALTY***";
   : D=D-1
1810 IF RND(1)<.5THEN 1830
1820 PRINT " OFFENSIVE ";
   : IF X>ABS(Q) THEN 1840
   : Q=-X/2
1825 RETURN
1830 PRINT " DEFENSIVE ";
   : IF 100-X>Q THEN 1840
   : Q=(100-X)/2
1840 RETURN
1850 FOR E=1 TO 400
   : NEXT E
   : RETURN
1860 %<<<<<<<<<<<<<<####################>>>>>>>>>>>>>>
1870 PRINT
   : PRINT HEX(01);
1880 READ S$
   : IF S$<>"9"THEN 1890
   : RESTORE
   : GOTO 1880
1890 IF LEN(S$)>=20THEN 1910
1900 S9$=S$
   : S$=" "
   : STR(S$,1+(20-LEN(S9$))/2)=S9$
1910 PRINTUSING 1860,"WANG 2200 SCOREBOARD"
1920 PRINT "!  ";A$;S(3);TAB(24);B$;S(1);TAB(47);"!"
1930 PRINT "!";TAB(47);"!"
1940 PRINT "!   DOWN  YDS.TO GO       PERIOD    TIME       !"
1950 PRINTUSING 70,D,10-X2,H2,INT(H7-T)+.6*(H7-T-INT(H7-T))
1960 PRINTUSING 1860,S$
1970 PRINT
   : RETURN
1980 REM --DISPLAY SCORE
1990 PRINT
   : PRINT STR(D$,1,3);
2000 FOR I7=1 TO 10
2010 PRINT HEX(07)
2020 FOR I8=1 TO 30
2030 PRINT "!";TAB(I8);S1$;" ";HEX(0D);
   : NEXT I8
   : PRINT HEX(07)
2040 FOR I8=30 TO 1 STEP -1
2050 PRINT "!";TAB(I8);S1$;" ";HEX(0D);
   : NEXT I8
2060 NEXT I7
2070 PRINT STR(D$,1,8);
2080 PRINT TAB(63);HEX(0D);
2090 RETURN
2100 PRINT STR(D$,1,11);HEX(0D);TAB(13);HEX(0C0C0C);
2110 RETURN
2120 PRINT STR(D$,1,9);HEX(0D);
2130 IF INT(X)=INT(X6) THEN 2160
2140 IF X>X6 THEN 2150
   : X6=X6-1-K
   : GOTO 2160
2150 X6=X6+1+K
2160 IF P=-1 THEN 2180
   : X3=100-X6
2170 IF X6>=50 THEN 2210
   : GOTO 2190
2180 X3=X6
   : IF X6<=50 THEN 2210
2190 PRINTUSING 60
2200 X3=X3-50
   : GOTO 2220
2210 PRINTUSING 50
2220 PRINT TAB(63);HEX(0D);
2230 PRINT TAB(X3+10);
2240 IF K=0 THEN 2250
   : PRINT "O"
   : GOTO 2270
2250 IF P=-1 THEN 2260
   : PRINT "<O"
   : GOTO 2270
2260 PRINT HEX(08);"O>"
2270 IF INT(X)=INT(X6) THEN 2310
2280 IF INT(X)=INT(X6)+1 THEN 2310
2290 IF X3<0 THEN 2310
   : IF X3>50 THEN 2310
2300 PRINT HEX(0C0C)
   : GOTO 2140
2310 PRINT TAB(43);HEX(0C0C0C);
   : RETURN
2320 PRINT "SET-UP PROCEDURE"
2330 A$="OPPONENT"
   : PRINT A$;
   : INPUT A$
   : B$="YOUR TEAM"
   : PRINT B$;
   : INPUT B$
   : PRINT
2340 PRINT "THERE ARE THREE WAYS TO PLAY:"
2350 PRINT ,"1. COMPUTER VS. PLAYER"
   : PRINT ,"2. PLAYER VS. PLAYER"
   : PRINT ,"3. COMPUTER VS. COMPUTER"
2360 INPUT "HOW DO YOU WISH TO PLAY",G
2370 PRINT HEX(03);"TODAY'S GAME PITS ";A$;" VS. ";B$
   : PRINT
2380 IF G<>3THEN 2390
   : PRINT "THE 2200 WILL SELECT AND ";
   : GOSUB '15
   : GOTO 2400
2390 PRINT "YOU WILL CALL PLAYS FOR YOUR TEAM"
   : GOSUB '15
2400 PRINT
2410 R=RND(1)
   : IF R<RND(1)THEN 2420
   : GOTO 2410
2420 DEFFN'0
   : H1=0
   : H2=1
   : H7=15
   : D=1
   : T=0
   : P=1
2430 IF RND(1)<.5 THEN 2440
   : PRINT B$;
   : GOTO 2450
2440 P=-1
   : PRINT A$;
2450 H=P
   : PRINT " WON THE TOSS AND WILL RECEIVE."
   : PRINT
2460 FOR Z=1TO 1000
   : NEXT Z
   : PRINT HEX(03);
   : GOSUB 1870
   : GOTO 210
2480 DATA "DRINK COCA COLA","MOTHERHOOD","APPLE PIE","NIXON 49-AMERICA 1","WAT
     ERGATE","BE HONEST","PAY YOUR TAXES"
2490 DATA "DRINK GLENNIE'S MILK","UDDERLY NUTRITIOUS","JOHNNIES B.B.CREAMS"
2500 DATA "GIVE A HOOT","DON'T POLLUTE","CLEAN BODY","CLEAN MIND","TAKE YOUR P
     ICK","STOP HEIR POLLUTION","MAKE LOVE NOT BABIES"
2510 DATA "ZPG FOR ME","NIXONS THE ONE"
2520 DATA "WANG LABS.","WORD PROCESSING","CALCULATORS","WITH PERIPHERALS"
2530 DATA "TAPE CASSETTES","DISK MEMORIES","LINE PRINTERS","TELECOMMUNICATION"
     ,"PLOTTERS","CARD READERS"
2540 DATA "SEE A WANG SALES REP"
2550 DATA "9"
2560 FOR Z=1TO 16
   : PRINT
   : NEXT Z
2570 GOSUB '33("^       ^    ^    ^    ^   ^^^^")
2580 GOSUB '33("*       *   * *   *    *  *    *")
2590 GOSUB '33("J       J  J   J  JJ   J  J")
2600 GOSUB '33("#       # %     % % #  #  #")
2610 GOSUB '33("$   $   $ $     $ %  $ $  $")
2620 GOSUB '33("&  & &  & ??????? ?   &&  &  &&&")
2630 GOSUB '33(" P P P P  P     P P    P  P    P")
2640 GOSUB '33("  O   0   0     0 0    0   000O")
2650 GOSUB '33(" ")
2660 GOSUB '33("    ^^^     ^^^     ^^^     ^^^")
2670 GOSUB '33("   8   8   8   8   8   8   8   8")
2680 GOSUB '33("       G       G   G   G   G   G")
2690 GOSUB '33("      +       +    +   +   +   +")
2700 GOSUB '33("     !       !     !   !   !   !")
2710 GOSUB '33("    S       S      S   S   S   S")
2720 GOSUB '33("   =       =       =   =   =   =")
2730 GOSUB '33("   OO.OO   <<<<<    >>>     OOO")
2740 FOR A=1TO 16
   : GOSUB '33(" ")
   : NEXT A
2750 RETURN
2760 DEFFN'33(S$)
   : S9$=" "
   : FOR Z=1TO 32
   : IF STR(S$,Z,1)=" "THEN 2780
2770 STR(S9$,2*Z,1)=STR(S$,Z,1)
2780 NEXT Z
   : PRINT S9$
   : FOR Z=1TO 100
   : NEXT Z
   : RETURN
2790 NEXT Z
   : FOR Z=1TO 100
   : NEXT Z
   : RETURN
2791 DEFFN'14
   : LOAD DC R"MENU"