Strategy Football

Date: 1983
Type: Cassette
Platform(s): TS 1000
Tags: Game

Strategy Football is a text-based American football simulation that supports both one-player (human vs. computer AI) and two-player modes. The game tracks field position using a single variable K on a 0–100 scale, where values below 50 represent the home team’s territory and values above 50 represent the visitor’s territory. Offensive plays include long pass, short pass, inside run, outside run, kick/punt, and field goal attempts, while the defense chooses from nickel, man-to-man, goal line, and run blitz coverages. The computer AI selects plays based on field position, score differential, and remaining time, using conditional logic spread across lines 33–78. Animated player diagrams are drawn using inverse video characters and block graphics to illustrate offensive formations before each play result is resolved.


Program Analysis

Program Structure

The program is organized into loosely grouped functional blocks spread across roughly 200 line numbers. There is no subroutine structure using GO SUB/RETURN; all flow control is handled via GOTO. Key functional regions are:

  • Lines 2–32: Initialization, mode selection, and variable setup
  • Lines 33–78: Computer AI play selection (offense at 33–48, defense at 54–78)
  • Lines 79–120: Game setup, coin toss, kickoff routing
  • Lines 200–261: Scoreboard and field position display (home possession)
  • Lines 265–390: Down-and-distance management and play menu display
  • Lines 490–591: Play selection input and formation animation dispatch
  • Lines 600–846: Formation animations (passing plays 600–708, running plays 800–846)
  • Lines 1000–1465: Play outcome resolution by play type
  • Lines 2000–2010: Sack outcome
  • Lines 3000–5050: Post-play result reporting (gain, incomplete, interception)
  • Lines 6000–6004: Down advancement and possession routing
  • Lines 7000–7139: Scoring events (safety, touchdown)
  • Lines 9000–9925: Kickoff, punt, and field goal handling
  • Lines 9950–9966: Final score display

Field Position Model

Field position is encoded in the single integer variable K on a scale of 1–99, where 50 represents midfield. Values below 50 indicate home team territory, and values above 50 indicate visitor territory. A value of 0 or below triggers a safety (line 7000), while a value of 100 or above triggers a touchdown (line 7100). This elegant encoding means yardage gained by the offense always increments K, and turnovers flip possession by computing K = 100 - K (lines 5011, 9915). The display at line 247 converts visitor-side positions with (K-100)*(-1) to show a positive yard line.

Down and Distance Management

The current down is tracked by variable E (0=pre-snap/1st, 1=2nd, 2=3rd, 3=4th), incremented at line 513 after each play. Yards to go are stored in L, initialized to 10 and decremented by S (yards gained) at line 265. When L drops to zero or below mid-down-check, control jumps to line 285 to reset for a new first down. On fourth down with no gain (E=4, line 320), control passes to line 5010 for a turnover on downs.

Play Matching and Outcome Logic

The offense enters play D and defense enters play O. When offensive and defensive calls match (O=D), the outcome branches to a “defended” path with worse odds for the offense. For passing plays (O=1, O=2), a random value V (1–100) determines: sack (lines 2000–2010), incomplete (lines 4000–4010), or gain (lines 1100–1259). Interceptions are generated at lines 5000–5039 when V falls below a low threshold. Running plays (O=3, O=4) always produce a yardage result, using INT(RND*N) ranges that can go negative (loss of yards) when the defense matches.

Computer AI

The offensive AI (lines 33–48) is invoked when C$="S" (single-player mode) and N=2 (computer is on offense). It selects play D based on field position (K), score margin (H vs W), time remaining (L… note: here L is reused ambiguously as both yards-to-go and a time-like variable), and field position zone (inside 80-yard line triggers a different set at line 44). The defensive AI (lines 54–78) selects coverage O using similar heuristics, escalating to play 5 (kick/prevent) when the score differential E>=4 — though E is also used for down tracking, creating a potential logic collision.

Animation

Before play resolution, the program draws an animated formation diagram using inverse video characters (%O for offensive players, %X for defensive players) and block graphics (\;;, \,,, \##) for yard lines and field borders. Passing animations run in a SLOW loop (lines 600–708) moving individual player tokens across the screen. Running play animations use a separate loop (lines 800–846). The ball carrier is represented by a \: or \ : block graphic moving diagonally.

Scoring Events

EventPointsLines
Touchdown77100–7120
Safety27000–7020
Field goal39800–9870

Touchdowns award 7 points (PAT is assumed automatic). Field goal success is probabilistic, based on the distance computed as K = 100 - K at line 9630, with success thresholds at lines 9650–9670. Punts (line 9900) advance the ball 30–35 yards and flip possession.

Notable Bugs and Anomalies

  • Variable E is used both as the down counter (0–4) and implicitly compared to score-related values in the AI (line 62: IF E>=4 THEN LET O=5), which will incorrectly trigger prevent defense on fourth down even when the score is tied.
  • Line 321 jumps to line 5010 for turnover on downs, but line 5010 computes K=K+S then K=100-K. If S=0 (which it will be after a failed fourth down), this correctly flips possession.
  • Lines 7111 and 7125 are unreachable dead code — GOTO 7100 falls through to LET E=0 at 7101 and then checks N, bypassing 7111.
  • Line 9125 sends control to line 205, which does not exist; the interpreter will run to the next available line (209), which is the correct scoreboard display continuation — an intentional non-existent-line technique.
  • The game clock variable M (entered at line 90) is decremented by 0.5 each play (line 512) and also by 0.5 on kickoffs (lines 9014, 9114). The minimum decrement produces fractional values that are displayed at line 516, which may render with a decimal point.
  • Lines 5031 and 5037 print spaces to blank score display fields, but the specific columns (4 for home score, 18 for visitor score) may not correctly align with the scoreboard layout established at lines 210–213.

Key BASIC Idioms

  • LET S=30+INT(RND*20)+1 — generates a random integer in a specific range for yardage
  • LET K=100-K — possession flip via field position complement
  • IF K+S>=100 THEN GOTO ... — pre-checks whether a gain would cross the goal line, then splits yards into touchdown yards (S1) and non-touchdown yards
  • Repeated PRINT AT row,col;"% ..." with inverse space characters to draw filled rectangular regions as field graphics
  • PAUSE 100 before SLOW animation loops to give a brief pause before the animation begins

Content

Appears On

Related Products

Strategy football is an exciting challenge for all. Features safeties, QB sacks, interceptions, points, field goals, big plays and losses,...

Related Articles

Related Content

Image Gallery

Source Code

   2 PRINT AT 9,5;"ENTER S FOR ONE PLAYER";AT 11,2;"PRESS ENTER FOR TWO PLAYERS"
   5 SLOW 
   6 INPUT C$
   7 CLS 
   9 LET I=0
  10 LET S=0
  11 PRINT AT 18,1;"ENTER AMOUNT OF TIME FOR GAME"
  12 LET L=10
  13 LET E=0
  15 LET C1=0
  16 LET C2=0
  17 LET C3=0
  18 LET C4=0
  19 LET C5=0
  20 LET B1=0
  21 LET B2=0
  22 LET B3=0
  23 LET B4=0
  24 LET B5=0
  25 LET B6=0
  26 LET C6=0
  27 LET K=0
  28 LET S=0
  31 LET S1=0
  32 GOTO 79
  33 SLOW 
  34 IF C$<>"S" THEN GOTO 518
  35 IF N=2 THEN GOTO 518
  38 IF K>80 THEN GOTO 44
  39 IF L>10 THEN LET D=INT (RND*2)+1
  40 LET D=INT (RND*4)+1
  41 IF L<5 THEN LET D=2+INT (RND*2)+1
  42 IF H+7<W THEN LET D=INT (RND*2)+1
  43 GOTO 519
  44 LET D=INT (RND*3)*2
  45 IF L>10 THEN LET D=2
  46 IF 5<L<8 THEN LET D=4
  47 IF L<5 THEN LET D=2+INT (RND*2)+1
  48 GOTO 519
  50 IF N=1 THEN LET C5=C5+1
  51 GOTO 79
  52 GOTO 285
  54 IF C$<>"S" THEN GOTO 522
  55 IF N=1 THEN GOTO 522
  57 IF M<=2 THEN GOTO 65
  58 LET O=INT (RND*4)+1
  59 IF L>10 THEN LET O=INT (RND*2)+1
  60 IF L<5 THEN LET O=2+INT (RND*2)+1
  61 IF W+7<H THEN LET O=INT (RND*2)+1
  62 IF E>=4 THEN LET O=5
  64 GOTO 523
  65 LET O=INT (RND*2)+1
  66 IF W>=H THEN LET O=3
  67 IF E>=4 THEN LET O=5
  69 IF K>=61 THEN GOTO 71
  70 GOTO 523
  71 IF E<4 THEN GOTO 75
  75 IF W+3>H THEN LET O=5
  76 IF W+3<H THEN LET O=INT (RND*2)+1
  78 GOTO 523
  79 LET H=0
  80 LET W=0
  85 LET Z=.3
  90 INPUT M
  91 CLS 
 100 LET K=10+INT (RND*30)+1
 110 LET A=INT (RND*2)+1
 111 IF A=1 THEN GOTO 113
 112 GOTO 391
 113 IF C$="S" THEN PRINT AT 10,3;"YOU WILL RECEIVE KICKOFF"
 114 PRINT AT 15,10;"PRESS ENTER"
 115 IF C$<>"S" THEN GOTO 190
 119 LET S=0
 120 GOTO 202
 190 LET S=0
 200 PRINT AT 10,3;"HOME TEAM RECEIVES KICKOFF"
 201 PRINT AT 15,10;"PRESS ENTER"
 202 INPUT A$
 203 CLS 
 204 LET K=K+S
 205 IF K<=0 THEN GOTO 7000
 206 FAST 
 207 IF K>=100 THEN GOTO 7100
 209 PRINT AT 1,0;"% % % % % % % % % % % %S%C%O%R%E%B%O%A%R%D% % % % % % % % % % % "
 210 PRINT AT 2,0;"HOME*"
 211 PRINT AT 2,6;H
 212 PRINT AT 2,10;"VISITORS"
 213 PRINT AT 2,20;W
 215 IF C$="S" THEN PRINT AT 2,0;"YOU* "
 216 IF C$="S" THEN PRINT AT 2,10;"COMPUTER"
 218 LET N=1
 219 PRINT AT 2,24;"MIN:"
 220 PRINT AT 4,0;"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 222 IF K>50 THEN GOTO 247
 240 PRINT AT 3,10;K
 242 PRINT AT 3,8;"H"
 243 GOTO 250
 247 PRINT AT 3,10;(K-100)*(-1)
 248 PRINT AT 3,8;"V"
 250 PRINT AT 3,14;"DOWN"
 255 PRINT AT 3,25;"TOGO"
 256 IF C$<>"S" THEN GOTO 259
 257 PRINT AT 3,8;"Y"
 258 IF K>50 THEN PRINT AT 3,8;"C"
 259 PRINT AT 3,0;"BALL ON"
 260 IF K>=100 THEN GOTO 7100
 261 IF K=50 THEN PRINT AT 3,8;" "
 265 LET L=L-S
 266 IF E=1 THEN GOTO 292
 267 IF E=2 THEN GOTO 300
 268 IF E=3 THEN GOTO 310
 269 IF E=4 THEN GOTO 320
 270 IF E=0 THEN GOTO 284
 276 IF L<=0 THEN GOTO 284
 284 GOTO 285
 285 LET L=10
 286 PRINT AT 3,30;L
 287 PRINT AT 3,19;"1ST"
 288 IF K>=90 THEN LET I=10
 289 LET E=0
 290 IF I=10 THEN PRINT AT 3,30;"G "
 291 GOTO 490
 292 IF L<=0 THEN GOTO 285
 293 PRINT AT 3,30;L
 294 PRINT AT 3,19;"2ND"
 295 IF I=10 THEN PRINT AT 3,30;"G "
 296 GOTO 490
 300 IF L<=0 THEN GOTO 285
 301 PRINT AT 3,30;L
 302 PRINT AT 3,19;"3RD"
 303 IF I=10 THEN PRINT AT 3,30;"G "
 304 GOTO 490
 310 IF L<=0 THEN GOTO 285
 311 PRINT AT 3,30;L
 312 PRINT AT 3,19;"4TH"
 313 IF I=10 THEN PRINT AT 3,30;"G "
 314 GOTO 490
 320 IF L<=0 THEN GOTO 285
 321 GOTO 5010
 350 IF C$="S" THEN PRINT AT 10,0;"COMPUTERS TEAM RECEIVES KICKOFF"
 390 GOTO 490
 391 IF C$="S" THEN PRINT AT 10,0;"COMPUTERS TEAM RECEIVES KICKOFF"
 392 IF C$<>"S" THEN GOTO 400
 393 GOTO 402
 400 PRINT AT 10,0;"VISITING TEAM RECEIVES KICKOFF"
 402 PRINT AT 15,10;"PRESS ENTER"
 403 INPUT A$
 404 CLS 
 405 FAST 
 406 PRINT AT 1,0;"% % % % % % % % % % % %S%C%O%R%E%B%O%A%R%D% % % % % % % % % % % "
 407 PRINT AT 2,0;"HOME"
 408 LET K=K+S
 409 IF K>=100 THEN GOTO 7100
 410 PRINT AT 2,10;"VISITORS*"
 412 PRINT AT 2,6;H
 413 PRINT AT 2,20;W
 414 LET N=2
 415 PRINT AT 2,24;"MIN:"
 416 IF C$="S" THEN PRINT AT 2,0;"YOU "
 417 IF C$="S" THEN PRINT AT 2,10;"COMPUTER*"
 419 IF K>50 THEN GOTO 421
 420 GOTO 445
 421 PRINT AT 3,8;"H"
 423 IF K<=0 THEN GOTO 7000
 424 PRINT AT 3,10;(K-100)*(-1)
 444 GOTO 450
 445 PRINT AT 3,10;K
 446 PRINT AT 3,8;"V"
 450 PRINT AT 3,14;"DOWN"
 451 IF C$<>"S" THEN GOTO 455
 452 PRINT AT 3,8;"C"
 453 IF K>50 THEN PRINT AT 3,8;"Y"
 454 IF K=50 THEN PRINT AT 3,8;" "
 455 PRINT AT 3,25;"TOGO"
 460 PRINT AT 3,0;"BALL ON"
 461 GOTO 260
 462 GOTO 490
 470 IF E=0 THEN GOTO 284
 480 PRINT AT 5,0;"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 490 PRINT AT 5,0;"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 491 GOTO 500
 500 PRINT AT 6,0;"##################################DEF. ENTER PLAY% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 501 IF K>=80 THEN GOTO 503
 502 GOTO 505
 503 PRINT AT 9,0;"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 504 GOTO 506
 505 PRINT AT 9,0;"% %1%=%L%O%N%G% %P%A%S%S% % % % % % % % %1%=%N%I%C%K%L%E% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 506 PRINT AT 11,0;"% %2%=%S%H%O%R%T% %P%A%S%S% % % % % % % %2%=%M%A%N% %T%O% %M%A%N% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 507 PRINT AT 13,0;"% %3%=%I%N%S%I%D%E% %R%U%N% % % % % % % %3%=%G%O%A%L% %L%I%N%E% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 508 PRINT AT 15,0;"% %4%=%O%U%T%S%I%D%E% %R%U%N% % % % % % %4%=%R%U%N% %B%L%I%T%Z% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 509 PRINT AT 17,0;"% %5%=%K%I%C%K% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 510 PRINT AT 20,0;"################################################################% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 511 IF K=50 THEN PRINT AT 3,8;" "
 512 LET M=M-1/2
 513 LET E=E+1
 514 IF M<=0 THEN GOTO 9950
 515 IF K<=0 THEN GOTO 7000
 516 PRINT AT 2,28;M
 517 GOTO 33
 518 INPUT D
 519 PRINT AT 6,0;"################################################################"
 520 PRINT AT 20,0;"OFF. ENTER PLAY##################################"
 521 GOTO 54
 522 INPUT O
 523 CLS 
 524 GOTO 550
 550 IF O=5 THEN GOTO 9600
 551 FAST 
 552 FOR A=1 TO 21
 553 PRINT AT A,0;"##% ;;% % % % % % % % % % % % % % % % % % % % % % % % % % ;;% ##"
 554 NEXT A
 555 FOR P=1 TO 21 STEP 5
 556 PRINT AT P,1;";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
 557 PRINT AT 1,0;",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
 560 NEXT P
 570 PRINT AT 10,11;"%O% %O% %O% %O% %O";AT 9,15;"%O% % % % % %O";AT 7,13;"%O% % % % % %O";AT 10,4;"%O";AT 10,27;"%O"
 575 PRINT AT 11,11;"%X;;;;%X;;%X;;;;%X";AT 13,10;"%X% % % % % % % %X";AT 14,15;"%X% % % % % % % % % % %X";AT 17,5;"%X";AT 18,15;"%X";AT 12,21;"%X"
 579 LET S1=0
 580 IF O=1 THEN GOTO 600
 585 IF O=2 THEN GOTO 600
 587 IF O=3 THEN GOTO 800
 590 IF O=4 THEN GOTO 800
 591 IF O=5 THEN GOTO 9900
 600 SLOW 
 601 PAUSE 100
 605 PRINT AT 9,15;"% % % % % % % ";AT 10,11;"% % %O% %O% %O% % ";AT 7,13;"% "
 606 PRINT AT 9,12;"%O";AT 8,12;"%O";AT 8,15;"%O";AT 9,19;"%O";AT 8,20;"%O";AT 8,15;"% ";AT 7,15;"%O"
 607 IF O=1 THEN GOTO 609
 608 GOTO 611
 609 IF K>=80 THEN LET O=2
 611 IF O=2 THEN GOTO 619
 613 IF O=3 THEN GOTO 800
 614 IF O=4 THEN GOTO 800
 615 IF O=5 THEN GOTO 9900
 616 LET V=INT (RND*100)+1
 617 IF V<=10 THEN GOTO 2000
 618 IF O=D AND V<=20 THEN GOTO 2000
 619 LET C1=10
 620 LET C2=27
 621 LET C3=10
 650 LET B1=13
 651 LET B3=14
 652 LET C5=9
 653 LET C6=15
 655 LET B4=15
 660 LET B5=19
 661 LET B6=11
 670 PRINT AT C1,4;"% "
 671 LET C1=C1+2
 672 PRINT AT C1,4;"%O"
 675 PRINT AT C3,C2;"% "
 676 PRINT AT 11,3;";;;;;;;;;;;;";AT 11,24;";;;;;;;;;;";AT 16,3;";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
 677 LET C2=C2-1
 678 LET C3=C3+1
 679 PRINT AT C3,C2;"%O"
 680 PRINT AT B3,15;"% "
 681 LET B3=B3-1
 682 PRINT AT B3,15;"%X"
 683 PRINT AT 11,13;";;";AT 11,15;";;"
 685 PRINT AT 18,B4;"% "
 686 LET B4=B4-1
 687 PRINT AT 18,B4;"%X"
 690 PRINT AT B1,10;"% ";AT B1,18;"% "
 691 LET B1=B1+1
 692 PRINT AT B1,10;"%X";AT B1,18;"%X"
 693 IF O=2 THEN GOTO 700
 694 PRINT AT C5-2,C6+2;"% "
 695 PRINT AT C5,C6;": "
 696 LET C5=C5+2
 697 LET C6=C6-2
 698 IF C5>=18 THEN GOTO 1010
 699 GOTO 670
 700 PRINT AT C5-1,C6-1;"% "
 703 PRINT AT C5,C6;" :"
 704 LET C5=C5+1
 705 LET C6=C6+1
 706 IF C5>=14 THEN GOTO 1010
 707 PRINT AT 11,12;";;";AT 11,17;";;";AT 11,15;";;"
 708 GOTO 670
 800 PAUSE 100
 801 SLOW 
 802 LET C1=8
 803 LET C2=17
 804 LET B1=13
 805 LET B2=14
 810 IF O=3 THEN PRINT AT 10,13;"% ";AT 11,12;"%O";AT 9,15;"% ";AT 8,14;"%O";AT 7,13;"% ";AT 8,13;"%O"
 811 IF O=4 THEN PRINT AT 7,19;"% ";AT 7,17;"%O";AT 9,15;"% ";AT 8,15;"%O";AT 7,13;"% ";AT 8,12;"%O"
 820 PRINT AT B1,10;"% ";AT B1,21;"% ";AT B2,15;"% "
 821 LET B1=B1-1
 822 LET B2=B2-1
 823 PRINT AT B1,10;"%X";AT B1,21;"%X";AT B2,15;"%X"
 825 IF O=3 THEN PRINT AT C1,13;"% "
 830 IF O=3 THEN LET C1=C1+1
 831 IF O=3 THEN PRINT AT C1,13;"%O"
 832 IF C1>=10 THEN PRINT AT 11,15;";;";AT 11,21;";;";AT 11,10;";;"
 833 IF C2<=14 THEN PRINT AT 11,15;";;";AT 11,10;";;";AT 11,21;";;"
 835 IF C1>=11 THEN GOTO 1010
 840 IF O=4 THEN PRINT AT 7,C2;"% "
 841 IF O=4 THEN LET C2=C2-1
 842 IF O=4 THEN PRINT AT 7,C2;"%O"
 844 IF C2<=11 THEN PRINT AT 7,C2;"% ";AT 8,11;"%O"
 845 IF C2<=11 THEN GOTO 1010
 846 GOTO 820
 1000 PRINT AT 1,0;",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
 1001 PRINT AT 20,11;"PRESS ENTER"
 1002 SLOW 
 1005 INPUT A$
 1010 CLS 
 1015 LET V=INT (RND*100)+1
 1020 IF O=1 THEN GOTO 1100
 1030 IF O=2 THEN GOTO 1200
 1040 IF O=4 THEN GOTO 1400
 1050 IF O=3 THEN GOTO 1300
 1100 IF O=D THEN GOTO 1150
 1101 IF V<5 THEN GOTO 5000
 1103 IF V<50 THEN GOTO 4000
 1106 LET S=30+INT (RND*20)+1
 1110 IF K+S>=100 THEN GOTO 1112
 1111 GOTO 1122
 1112 LET S1=(K+S)-100
 1113 LET S=S-S1
 1145 GOTO 3000
 1150 IF V<20 THEN GOTO 5000
 1152 IF V<80 THEN GOTO 4000
 1160 GOTO 1106
 1200 IF O=D THEN GOTO 1250
 1201 IF V<5 THEN GOTO 5000
 1203 IF V<40 THEN GOTO 4000
 1206 LET S=5+INT (RND*15)
 1208 IF K+S>=100 THEN GOTO 1210
 1209 GOTO 1219
 1210 LET S1=(K+S)-100
 1211 LET S=S-S1
 1225 GOTO 3000
 1250 IF V<7 THEN GOTO 5000
 1251 IF V<40 THEN GOTO 4000
 1259 GOTO 1206
 1300 IF O=D THEN GOTO 1350
 1301 LET S=INT (RND*10)+1
 1303 IF K+S>=100 THEN GOTO 1305
 1304 GOTO 1314
 1305 LET S1=(K+S)-100
 1306 LET S=S-S1
 1314 IF N=1 THEN LET C2=C2+S
 1315 IF N=2 THEN LET B2=B2+S
 1320 GOTO 3000
 1350 LET S=-5+INT (RND*11)+1
 1353 IF K+S>=100 THEN GOTO 1355
 1354 GOTO 1363
 1355 LET S1=(K+S)-100
 1356 LET S=S-S1
 1363 IF N=1 THEN LET C2=C2+S
 1364 IF N=2 THEN LET B2=B2+S
 1365 GOTO 3000
 1400 IF O=D THEN GOTO 1450
 1401 LET S=INT (RND*15)
 1402 IF K+S>=100 THEN GOTO 1404
 1403 GOTO 1414
 1404 LET S1=(K+S)-100
 1405 LET S=S-S1
 1415 IF N=2 THEN LET B2=B2+S
 1416 IF N=1 THEN LET C2=C2+S
 1420 GOTO 3000
 1450 LET S=-10+INT (RND*16)+1
 1452 IF K+S>=100 THEN GOTO 1454
 1453 GOTO 1463
 1454 LET S1=(K+S)-100
 1455 LET S=S-S1
 1463 IF N=1 THEN LET C2=C2+S
 1464 IF N=2 THEN LET B2=B2+S
 1465 GOTO 3000
 2000 CLS 
 2001 PRINT AT 10,13;"SACK"
 2002 LET S=-10+INT (RND*5)+1
 2003 PRINT AT 11,10;S;" YARD(S)"
 2005 PRINT AT 15,10;"PRESS ENTER"
 2007 INPUT A$
 2008 IF N=1 THEN LET C4=C4-1
 2009 IF N=2 THEN LET B4=B4-1
 2010 GOTO 6000
 3000 IF K+S>=100 THEN GOTO 3002
 3001 GOTO 3009
 3002 PRINT AT 10,4;"PLAY GOOD FOR TOUCHDOWN"
 3003 PRINT AT 15,10;"PRESS ENTER"
 3004 LET Z8=(K+S)-100
 3005 INPUT A$
 3006 CLS 
 3008 GOTO 7100
 3009 IF K<=0 THEN GOTO 7000
 3010 FAST 
 3011 FOR P=1 TO 21
 3012 PRINT AT P,0;"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 3013 NEXT P
 3020 PRINT AT 12,10;"PRESS ENTER"
 3025 PRINT AT 10,5;"PLAY GOOD FOR ";S;" YARD(S)"
 3030 INPUT A$
 3050 GOTO 6000
 4000 FAST 
 4001 FOR P=1 TO 21
 4002 PRINT AT P,0;"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 4003 NEXT P
 4006 PRINT AT 10,8;"%P%A%S%S% %I%N%C%O%M%P%L%E%T%E"
 4009 PRINT AT 15,10;"PRESS ENTER"
 4010 INPUT A$
 4011 LET S=0
 4050 GOTO 6000
 5000 PRINT AT 10,10;"INTERCEPTION"
 5002 LET E=0
 5003 LET S=0
 5005 PRINT AT 15,10;"PRESS ENTER"
 5006 INPUT A$
 5007 CLS 
 5010 LET K=K+S
 5011 LET K=100-K
 5012 LET I=0
 5030 LET E=0
 5031 PRINT AT 2,4;" "
 5035 IF N=1 THEN GOTO 404
 5037 PRINT AT 2,18;" "   
 5039 GOTO 204
 5040 INPUT A$
 5050 GOTO 6000
 6000 CLS 
 6001 IF N=1 THEN GOTO 204
 6003 CLS 
 6004 GOTO 404
 7000 CLS 
 7001 FAST 
 7002 FOR P=1 TO 21
 7003 PRINT AT P,0;"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 7004 NEXT P
 7005 PRINT AT 9,10;"**********"
 7006 PRINT AT 10,10;"* SAFETY *"
 7007 PRINT AT 11,10;"**********"
 7008 LET E=0
 7009 PRINT AT 15,10;"PRESS ENTER"
 7010 INPUT A$
 7011 IF N=1 THEN GOTO 7013
 7012 GOTO 7016
 7013 LET W=W+2
 7014 SLOW 
 7015 GOTO 9000
 7016 LET H=H+2
 7020 GOTO 9100
 7100 CLS 
 7101 LET E=0
 7105 IF N=1 THEN GOTO 7115
 7106 LET W=W+7
 7107 GOTO 9100
 7111 IF N=1 THEN GOTO 9000
 7115 LET H=H+7
 7120 GOTO 9000
 7125 GOTO 7110
 7130 PRINT AT 20,0;"           PRESS ENTER          "
 7139 SLOW 
 7140 INPUT A$
 9000 LET K=0
 9001 LET K=10+INT (RND*30)+1
 9004 LET S=0
 9005 CLS  
 9010 PRINT AT 10,8;"KICKOFF RECEIVED"
 9011 LET I=0
 9014 LET M=M-.5
 9015 PRINT AT 15,10;"PRESS ENTER"
 9020 INPUT A$
 9025 CLS 
 9028 GOTO 404
 9100 LET K=0
 9102 LET K=10+INT (RND*30)+1
 9105 CLS  
 9106 LET S=0
 9110 PRINT AT 10,8;"KICKOFF RECEIVED"
 9111 LET I=0
 9114 LET M=M-.5
 9115 PRINT AT 15,10;"PRESS ENTER"
 9120 INPUT A$
 9121 CLS 
 9125 GOTO 205
 9600 CLS 
 9601 LET S=0
 9602 LET E=0
 9610 LET U=INT (RND*100)+1
 9620 IF K<=61 THEN GOTO 9900
 9630 LET K=100-K
 9635 IF K<20 THEN GOTO 9650
 9637 IF K<30 THEN GOTO 9660
 9639 IF K<=40 THEN GOTO 9670
 9650 IF U<80 THEN GOTO 9800
 9655 GOTO 9700
 9660 IF U<65 THEN GOTO 9800
 9665 GOTO 9700
 9670 IF U<50 THEN GOTO 9800
 9700 PRINT AT 10,9;"KICK NO GOOD"
 9701 PRINT AT 15,10;"PRESS ENTER"
 9702 INPUT A$
 9703 CLS 
 9704 LET I=0
 9710 GOTO 5030
 9800 PRINT AT 10,11;"KICK GOOD"
 9801 PRINT AT 15,10;"PRESS ENTER"
 9805 IF N=1 THEN GOTO 9850
 9806 LET I=0
 9810 LET W=W+3
 9815 INPUT A$
 9820 GOTO 9100
 9850 LET H=H+3
 9860 INPUT A$
 9870 GOTO 9000
 9900 PRINT AT 10,13;"PUNT"
 9901 PRINT AT 15,10;"PRESS ENTER"
 9902 LET S=0
 9903 LET I=0
 9910 LET K=K+30+INT (RND*5)+1
 9915 LET K=100-K
 9918 INPUT A$
 9919 CLS 
 9920 IF N=1 THEN GOTO 404
 9925 GOTO 204
 9950 CLS 
 9960 PRINT AT 8,10;"FINAL SCORE"
 9965 IF C$<>"S" THEN PRINT AT 12,0;"HOME ";H;AT 12,20;"VISITORS ";W
 9966 IF C$="S" THEN PRINT AT 12,0;"YOU ";H;AT 12,20;"COMPUTER ";W

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

People

No people associated with this content.

Scroll to Top