--- title: "Strategy Football" id: 51786 type: "computer_media" slug: "strategy-football" url: "http://localhost/computer_media/strategy-football/" markdown_url: "http://localhost/computer_media/strategy-football.md" published_at: "2023-08-13T23:14:32+00:00" modified_at: "2026-04-04T20:17:58+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2019/02/20230809-041332.jpg" excerpt: "A two-player (or solo vs. AI) football strategy game with animated formations, play-calling menus, and a full scoring system including touchdowns, safeties, and field goals." category: - name: "Archived Media" slug: "archived-media" taxonomy: "category" url: "http://localhost/category/archived-media/" post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "Timex Computer Corporation" slug: "timex-computer-corporation" taxonomy: "post_tag" url: "http://localhost/tag/timex-computer-corporation/" - name: "TS 1000" slug: "ts1000" taxonomy: "post_tag" url: "http://localhost/tag/ts1000/" model: - name: "Timex/Sinclair 1000" slug: "ts-1000" taxonomy: "model" url: "http://localhost/model/ts-1000/" genre: - name: "Game" slug: "game" taxonomy: "genre" url: "http://localhost/type/game/" media_type: "Cassette" download_url: "https://archive.org/download/timex-sinclair-software-archive/Strategy Football (1983)(Timex)(US)(TS1000)(Cassette).zip" mediadate: "1983" producer_company: - id: 11401 title: "Timex Computer Corporation" type: "company" url: "http://localhost/company/timex-computer-corporation/" images: - url: "http://localhost/wp-content/uploads/2023/08/SCR-20260404-eklt.png" - url: "http://localhost/wp-content/uploads/2023/08/SCR-20260404-ekjk.png" related_products: - id: 14107 title: "Strategy Football" type: "product" url: "http://localhost/product/strategy-football/" media_type_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 | Event | Points | Lines | | --- | --- | --- | | Touchdown | 7 | 7100–7120 | | Safety | 2 | 7000–7020 | | Field goal | 3 | 9800–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 ## 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+710 THEN LET D=2 46 IF 5"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=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"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 ```