The final score, according to Applewin in Enhanced Apple //e mode, is: GREEN BAY: 20 PITTSBURGH: 43 (Much to my dismay... I, of course, wanted Green Bay to win...)
Like my SOCCER program, the FOOTBALL simulator is also quite crude. It doesn't favor one team over the other, but here is the program code, complete with a "halftime show" of about ten seconds, as well as overtime if that is necessary:
10 HOME 20 INVERSE : PRINT "FOOTBALL SIMULATOR" 30 PRINT : PRINT "BY": PRINT "BRANDON TAYLOR" 40 NORMAL 50 PRINT 61 PRINT "WELCOME!!" 62 INPUT "NAME OF TEAM NUMBER 1? ";A$ 63 INPUT "TEAM NUMBER 2? ";B$ 64 PRINT "CAN GAME END IN TIE? "; 65 GET YN$ 66 IF YN$ < > "Y" AND YN$ < > "N" THEN 65 67 PRINT 70 A = 0:B = 0:S$ = "CURRENT" 75 FOR Q = 1 TO 4 80 FOR X = 1 TO 15 90 GOSUB 1000 100 NEXT X 110 GOSUB 2000 130 NEXT Q 180 FLASH : PRINT "PRESS ANY KEY TO START OVERTIME!!": NORMAL 190 GET Q$ 200 FOR X = 1 TO 15 210 GOSUB 1000 220 NEXT X 230 GOSUB 2000 235 Q = Q + 1: IF Q = 6 AND YN$ = "Y" THEN GOSUB 3000 237 GOTO 200 999 REM * MAIN GAME * 1000 Y = RND (1) 1005 IF Y < .035 THEN FLASH : PRINT "TOUCHDOWN!!!"; CHR$ (7); CHR$ (7); CHR$ (7); CHR$ (7); CHR$ (7); CHR$ (7);: NORMAL : PRINT " ";: INVERSE : PRINT A$;"!" : NORMAL : A = A + 6: IF Q >= 5 THEN GOSUB 3000 1007 IF Y < .035 THEN PRINT "EXTRA POINT GOOD!": PRINT :A = A + 1: GOSUB 5000: GOTO 1030 1010 IF Y < .085 THEN FLASH : PRINT "FIELD GOAL!!"; CHR$ (7); CHR$ (7); CHR$ (7);: NORMAL : PRINT " ";: INVERSE : PRINT A$;"!": NORMAL : PRINT :A = A + 3: IF Q >= 5 THEN GOSUB 3000 1012 IF Y < .085 THEN GOSUB 5000: GOTO 1030 1015 IF Y > .965 THEN FLASH : PRINT "TOUCHDOWN!!!"; CHR$ (7); CHR$ (7); CHR$ (7); CHR$ (7); CHR$ (7); CHR$ (7);: NORMAL : PRINT " ";: INVERSE : PRINT B$;"!" : NORMAL : B = B + 6: IF Q >= 5 THEN GOSUB 3000 1017 IF Y > .965 THEN PRINT "EXTRA POINT GOOD!": PRINT :B = B + 1: GOSUB 5000 1020 IF Y > .915 THEN FLASH : PRINT "FIELD GOAL!!"; CHR$ (7); CHR$ (7); CHR$ (7);: NORMAL : PRINT " ";: INVERSE : PRINT B$;"!": NORMAL : PRINT :B = B + 3: IF Q >= 5 THEN GOSUB 3000 1022 IF Y > .915 THEN GOSUB 5000 1030 RETURN 1999 REM * END OF QUARTER / HALFTIME * 2000 INVERSE 2001 IF Q = 4 OR (A = B AND Q = 5 AND YN$ = "Y") THEN GOSUB 3000: GOSUB 4000 2003 IF Q = 2 THEN PRINT "HALFTIME!!"; CHR$ (7); CHR$ (7): NORMAL 2006 IF Q < > 2 AND Q < > 4 THEN PRINT "END OF QUARTER ";Q;"!" CHR $ (7): NORMAL 2008 GOSUB 5000 2010 REM PRINT "THE CURRENT SCORE IS: " 2020 REM PRINT A$;": ";A 2030 REM PRINT B$;": ";B 2035 IF Q = 2 THEN PRINT : PRINT "HALFTIME SHOW!!": FOR Z = 1 TO 10000: NEXT: HOME 2040 FLASH : PRINT "PRESS ANY KEY TO START THE NEXT PERIOD!": NORMAL 2050 GET Q$ 2060 RETURN 2999 REM * END OF REGULATION / END OF GAME * 3000 IF A = B AND Q = 4 THEN INVERSE : PRINT "END OF REGULATION!!"; CHR$ (7); CHR$ (7): NORMAL 3010 IF A < > B OR (A = B AND Q = 5 AND YN$ = "Y") THEN FLASH : PRINT "GAME OVER!!!"; CHR$ (7); CHR$ (7); CHR$ (7): NORMAL 3020 IF A < > B OR (A = B AND Q = 5 AND YN$ = "Y") THEN S$ = "FINAL" 3025 GOSUB 5000 3030 REM PRINT "THE ";S$;" SCORE IS: " 3040 REM PRINT A$;": ";A 3050 REM PRINT B$;": ";B 3055 IF (A = B AND Q = 5 AND YN$ = "Y") THEN PRINT "THE GAME ENDS IN A TIE!"; CHR$ (7): NORMAL: GOTO 6000 3060 RETURN 3999 REM * DO WE HAVE A WINNER? * 4000 IF A > B THEN FLASH : PRINT A$;" WINS THE GAME!!!!";: NORMAL : FOR BB = 1 TO 6: PRINT CHR$ (7);: NEXT : PRINT : GOTO 6000 4010 IF A < B THEN FLASH : PRINT B$;" WINS THE GAME!!!!";: NORMAL : FOR BB = 1 TO 6: PRINT CHR$ (7);: NEXT : PRINT : GOTO 6000 4020 RETURN 4999 REM * DISPLAY CURRENT SCORE * 5000 PRINT "THE ";S$;" SCORE IS: " 5010 PRINT A$;": ";A 5020 PRINT B$;": ";B 5025 PRINT 5030 RETURN 5999 REM * DOES THE USER WANT ANOTHER GAME? * 6000 PRINT "DO YOU WANT ANOTHER GAME? "; 6010 GET YN$ 6020 IF YN$ < > "Y" AND YN$ < > "N" THEN GOTO 6010 6030 IF YN$ = "N" THEN END 6040 PRINT : PRINT "SAME TWO TEAMS? "; 6050 GET YN$ 6060 IF YN$ < > "Y" AND YN$ < > "N" THEN GOTO 6050 6070 IF YN$ = "N" THEN 10 6080 HOME: GOTO 70
I had to tweak the scoring routine (in lines 1000-1030) a few times to try to prevent the emulated Apple from favoring a defensive struggle, a blowout, or a barn-burner too heavily, but it works great. (Of course, the result the program generated may tick off more than a few Cheeseheads, and more than a few Dallas Cowboys fans, as they HATE the Steelers, but, hey, what are ya gonna do?)
> The final score, according to Applewin in Enhanced Apple //e mode, is: > GREEN BAY: 20 > PITTSBURGH: 43 > (Much to my dismay... I, of course, wanted Green Bay to win...)
> Like my SOCCER program, the FOOTBALL simulator is also quite crude. It > doesn't favor one team over the other, but here is the program code, > complete with a "halftime show" of about ten seconds, as well as > overtime if that is necessary:
> 10 HOME > 20 INVERSE : PRINT "FOOTBALL SIMULATOR" > 30 PRINT : PRINT "BY": PRINT "BRANDON TAYLOR" > 40 NORMAL > 50 PRINT > 61 PRINT "WELCOME!!" > 62 INPUT "NAME OF TEAM NUMBER 1? ";A$ > 63 INPUT "TEAM NUMBER 2? ";B$ > 64 PRINT "CAN GAME END IN TIE? "; > 65 GET YN$ > 66 IF YN$ < > "Y" AND YN$ < > "N" THEN 65 > 67 PRINT > 70 A = 0:B = 0:S$ = "CURRENT" > 75 FOR Q = 1 TO 4 > 80 FOR X = 1 TO 15 > 90 GOSUB 1000 > 100 NEXT X > 110 GOSUB 2000 > 130 NEXT Q > 180 FLASH : PRINT "PRESS ANY KEY TO START OVERTIME!!": NORMAL > 190 GET Q$ > 200 FOR X = 1 TO 15 > 210 GOSUB 1000 > 220 NEXT X > 230 GOSUB 2000 > 235 Q = Q + 1: IF Q = 6 AND YN$ = "Y" THEN GOSUB 3000 > 237 GOTO 200 > 999 REM * MAIN GAME * > 1000 Y = RND (1) > 1005 IF Y < .035 THEN FLASH : PRINT "TOUCHDOWN!!!"; CHR$ (7); CHR$ > (7); CHR$ (7); CHR$ (7); CHR$ (7); CHR$ (7);: NORMAL : PRINT " ";: > INVERSE : PRINT A$;"!" : NORMAL : A = A + 6: IF Q >= 5 THEN GOSUB 3000 > 1007 IF Y < .035 THEN PRINT "EXTRA POINT GOOD!": PRINT :A = A + 1: > GOSUB 5000: GOTO 1030 > 1010 IF Y < .085 THEN FLASH : PRINT "FIELD GOAL!!"; CHR$ (7); CHR$ > (7); CHR$ (7);: NORMAL : PRINT " ";: INVERSE : PRINT A$;"!": NORMAL : > PRINT :A = A + 3: IF Q >= 5 THEN GOSUB 3000 > 1012 IF Y < .085 THEN GOSUB 5000: GOTO 1030 > 1015 IF Y > .965 THEN FLASH : PRINT "TOUCHDOWN!!!"; CHR$ (7); CHR$ > (7); CHR$ (7); CHR$ (7); CHR$ (7); CHR$ (7);: NORMAL : PRINT " ";: > INVERSE : PRINT B$;"!" : NORMAL : B = B + 6: IF Q >= 5 THEN GOSUB 3000 > 1017 IF Y > .965 THEN PRINT "EXTRA POINT GOOD!": PRINT :B = B + 1: > GOSUB 5000 > 1020 IF Y > .915 THEN FLASH : PRINT "FIELD GOAL!!"; CHR$ (7); CHR$ > (7); CHR$ (7);: NORMAL : PRINT " ";: INVERSE : PRINT B$;"!": NORMAL : > PRINT :B = B + 3: IF Q >= 5 THEN GOSUB 3000 > 1022 IF Y > .915 THEN GOSUB 5000 > 1030 RETURN > 1999 REM * END OF QUARTER / HALFTIME * > 2000 INVERSE > 2001 IF Q = 4 OR (A = B AND Q = 5 AND YN$ = "Y") THEN GOSUB 3000: > GOSUB 4000 > 2003 IF Q = 2 THEN PRINT "HALFTIME!!"; CHR$ (7); CHR$ (7): NORMAL > 2006 IF Q < > 2 AND Q < > 4 THEN PRINT "END OF QUARTER ";Q;"!" CHR > $ (7): NORMAL > 2008 GOSUB 5000 > 2010 REM PRINT "THE CURRENT SCORE IS: " > 2020 REM PRINT A$;": ";A > 2030 REM PRINT B$;": ";B > 2035 IF Q = 2 THEN PRINT : PRINT "HALFTIME SHOW!!": FOR Z = 1 TO > 10000: NEXT: HOME > 2040 FLASH : PRINT "PRESS ANY KEY TO START THE NEXT PERIOD!": > NORMAL > 2050 GET Q$ > 2060 RETURN > 2999 REM * END OF REGULATION / END OF GAME * > 3000 IF A = B AND Q = 4 THEN INVERSE : PRINT "END OF REGULATION!!"; > CHR$ (7); CHR$ (7): NORMAL > 3010 IF A < > B OR (A = B AND Q = 5 AND YN$ = "Y") THEN FLASH : > PRINT "GAME OVER!!!"; CHR$ (7); CHR$ (7); CHR$ (7): NORMAL > 3020 IF A < > B OR (A = B AND Q = 5 AND YN$ = "Y") THEN S$ = > "FINAL" > 3025 GOSUB 5000 > 3030 REM PRINT "THE ";S$;" SCORE IS: " > 3040 REM PRINT A$;": ";A > 3050 REM PRINT B$;": ";B > 3055 IF (A = B AND Q = 5 AND YN$ = "Y") THEN PRINT "THE GAME ENDS > IN A TIE!"; CHR$ (7): NORMAL: GOTO 6000 > 3060 RETURN > 3999 REM * DO WE HAVE A WINNER? * > 4000 IF A > B THEN FLASH : PRINT A$;" WINS THE GAME!!!!";: NORMAL : > FOR BB = 1 TO 6: PRINT CHR$ (7);: NEXT : PRINT : GOTO 6000 > 4010 IF A < B THEN FLASH : PRINT B$;" WINS THE GAME!!!!";: NORMAL : > FOR BB = 1 TO 6: PRINT CHR$ (7);: NEXT : PRINT : GOTO 6000 > 4020 RETURN > 4999 REM * DISPLAY CURRENT SCORE * > 5000 PRINT "THE ";S$;" SCORE IS: " > 5010 PRINT A$;": ";A > 5020 PRINT B$;": ";B > 5025 PRINT > 5030 RETURN > 5999 REM * DOES THE USER WANT ANOTHER GAME? * > 6000 PRINT "DO YOU WANT ANOTHER GAME? "; > 6010 GET YN$ > 6020 IF YN$ < > "Y" AND YN$ < > "N" THEN GOTO 6010 > 6030 IF YN$ = "N" THEN END > 6040 PRINT : PRINT "SAME TWO TEAMS? "; > 6050 GET YN$ > 6060 IF YN$ < > "Y" AND YN$ < > "N" THEN GOTO 6050 > 6070 IF YN$ = "N" THEN 10 > 6080 HOME: GOTO 70
> I had to tweak the scoring routine (in lines 1000-1030) a few times to > try to prevent the emulated Apple from favoring a defensive struggle, > a blowout, or a barn-burner too heavily, but it works great. (Of > course, the result the program generated may tick off more than a few > Cheeseheads, and more than a few Dallas Cowboys fans, as they HATE the > Steelers, but, hey, what are ya gonna do?)
> Brandon Taylor
Interesting program, too bad it got it wrong. Packers Rule!
> > The final score, according to Applewin in Enhanced Apple //e mode, is: > > GREEN BAY: 20 > > PITTSBURGH: 43 > > (Much to my dismay... I, of course, wanted Green Bay to win...)
> > Like my SOCCER program, the FOOTBALL simulator is also quite crude. It > > doesn't favor one team over the other, but here is the program code, > > complete with a "halftime show" of about ten seconds, as well as > > overtime if that is necessary:
> > 10 HOME > > 20 INVERSE : PRINT "FOOTBALL SIMULATOR" > > 30 PRINT : PRINT "BY": PRINT "BRANDON TAYLOR" > > 40 NORMAL > > 50 PRINT > > 61 PRINT "WELCOME!!" > > 62 INPUT "NAME OF TEAM NUMBER 1? ";A$ > > 63 INPUT "TEAM NUMBER 2? ";B$ > > 64 PRINT "CAN GAME END IN TIE? "; > > 65 GET YN$ > > 66 IF YN$ < > "Y" AND YN$ < > "N" THEN 65 > > 67 PRINT > > 70 A = 0:B = 0:S$ = "CURRENT" > > 75 FOR Q = 1 TO 4 > > 80 FOR X = 1 TO 15 > > 90 GOSUB 1000 > > 100 NEXT X > > 110 GOSUB 2000 > > 130 NEXT Q > > 180 FLASH : PRINT "PRESS ANY KEY TO START OVERTIME!!": NORMAL > > 190 GET Q$ > > 200 FOR X = 1 TO 15 > > 210 GOSUB 1000 > > 220 NEXT X > > 230 GOSUB 2000 > > 235 Q = Q + 1: IF Q = 6 AND YN$ = "Y" THEN GOSUB 3000 > > 237 GOTO 200 > > 999 REM * MAIN GAME * > > 1000 Y = RND (1) > > 1005 IF Y < .035 THEN FLASH : PRINT "TOUCHDOWN!!!"; CHR$ (7); CHR$ > > (7); CHR$ (7); CHR$ (7); CHR$ (7); CHR$ (7);: NORMAL : PRINT " ";: > > INVERSE : PRINT A$;"!" : NORMAL : A = A + 6: IF Q >= 5 THEN GOSUB 3000 > > 1007 IF Y < .035 THEN PRINT "EXTRA POINT GOOD!": PRINT :A = A + 1: > > GOSUB 5000: GOTO 1030 > > 1010 IF Y < .085 THEN FLASH : PRINT "FIELD GOAL!!"; CHR$ (7); CHR$ > > (7); CHR$ (7);: NORMAL : PRINT " ";: INVERSE : PRINT A$;"!": NORMAL : > > PRINT :A = A + 3: IF Q >= 5 THEN GOSUB 3000 > > 1012 IF Y < .085 THEN GOSUB 5000: GOTO 1030 > > 1015 IF Y > .965 THEN FLASH : PRINT "TOUCHDOWN!!!"; CHR$ (7); CHR$ > > (7); CHR$ (7); CHR$ (7); CHR$ (7); CHR$ (7);: NORMAL : PRINT " ";: > > INVERSE : PRINT B$;"!" : NORMAL : B = B + 6: IF Q >= 5 THEN GOSUB 3000 > > 1017 IF Y > .965 THEN PRINT "EXTRA POINT GOOD!": PRINT :B = B + 1: > > GOSUB 5000 > > 1020 IF Y > .915 THEN FLASH : PRINT "FIELD GOAL!!"; CHR$ (7); CHR$ > > (7); CHR$ (7);: NORMAL : PRINT " ";: INVERSE : PRINT B$;"!": NORMAL : > > PRINT :B = B + 3: IF Q >= 5 THEN GOSUB 3000 > > 1022 IF Y > .915 THEN GOSUB 5000 > > 1030 RETURN > > 1999 REM * END OF QUARTER / HALFTIME * > > 2000 INVERSE > > 2001 IF Q = 4 OR (A = B AND Q = 5 AND YN$ = "Y") THEN GOSUB 3000: > > GOSUB 4000 > > 2003 IF Q = 2 THEN PRINT "HALFTIME!!"; CHR$ (7); CHR$ (7): NORMAL > > 2006 IF Q < > 2 AND Q < > 4 THEN PRINT "END OF QUARTER ";Q;"!" CHR > > $ (7): NORMAL > > 2008 GOSUB 5000 > > 2010 REM PRINT "THE CURRENT SCORE IS: " > > 2020 REM PRINT A$;": ";A > > 2030 REM PRINT B$;": ";B > > 2035 IF Q = 2 THEN PRINT : PRINT "HALFTIME SHOW!!": FOR Z = 1 TO > > 10000: NEXT: HOME > > 2040 FLASH : PRINT "PRESS ANY KEY TO START THE NEXT PERIOD!": > > NORMAL > > 2050 GET Q$ > > 2060 RETURN > > 2999 REM * END OF REGULATION / END OF GAME * > > 3000 IF A = B AND Q = 4 THEN INVERSE : PRINT "END OF REGULATION!!"; > > CHR$ (7); CHR$ (7): NORMAL > > 3010 IF A < > B OR (A = B AND Q = 5 AND YN$ = "Y") THEN FLASH : > > PRINT "GAME OVER!!!"; CHR$ (7); CHR$ (7); CHR$ (7): NORMAL > > 3020 IF A < > B OR (A = B AND Q = 5 AND YN$ = "Y") THEN S$ = > > "FINAL" > > 3025 GOSUB 5000 > > 3030 REM PRINT "THE ";S$;" SCORE IS: " > > 3040 REM PRINT A$;": ";A > > 3050 REM PRINT B$;": ";B > > 3055 IF (A = B AND Q = 5 AND YN$ = "Y") THEN PRINT "THE GAME ENDS > > IN A TIE!"; CHR$ (7): NORMAL: GOTO 6000 > > 3060 RETURN > > 3999 REM * DO WE HAVE A WINNER? * > > 4000 IF A > B THEN FLASH : PRINT A$;" WINS THE GAME!!!!";: NORMAL : > > FOR BB = 1 TO 6: PRINT CHR$ (7);: NEXT : PRINT : GOTO 6000 > > 4010 IF A < B THEN FLASH : PRINT B$;" WINS THE GAME!!!!";: NORMAL : > > FOR BB = 1 TO 6: PRINT CHR$ (7);: NEXT : PRINT : GOTO 6000 > > 4020 RETURN > > 4999 REM * DISPLAY CURRENT SCORE * > > 5000 PRINT "THE ";S$;" SCORE IS: " > > 5010 PRINT A$;": ";A > > 5020 PRINT B$;": ";B > > 5025 PRINT > > 5030 RETURN > > 5999 REM * DOES THE USER WANT ANOTHER GAME? * > > 6000 PRINT "DO YOU WANT ANOTHER GAME? "; > > 6010 GET YN$ > > 6020 IF YN$ < > "Y" AND YN$ < > "N" THEN GOTO 6010 > > 6030 IF YN$ = "N" THEN END > > 6040 PRINT : PRINT "SAME TWO TEAMS? "; > > 6050 GET YN$ > > 6060 IF YN$ < > "Y" AND YN$ < > "N" THEN GOTO 6050 > > 6070 IF YN$ = "N" THEN 10 > > 6080 HOME: GOTO 70
> > I had to tweak the scoring routine (in lines 1000-1030) a few times to > > try to prevent the emulated Apple from favoring a defensive struggle, > > a blowout, or a barn-burner too heavily, but it works great. (Of > > course, the result the program generated may tick off more than a few > > Cheeseheads, and more than a few Dallas Cowboys fans, as they HATE the > > Steelers, but, hey, what are ya gonna do?)
> > Brandon Taylor
> Interesting program, too bad it got it wrong. Packers Rule!
> Dean
So that means my Apple //e is 1 and 1 on sports predictions, with a correct pick in the World Cup final -- Spain over Netherlands -- although that came after I added on a "vuvuzela" routine. Without the "vuvuzelas," it picked the Dutch.
N.B. I think the Applesoft programmer who suggested the "vuvuzelas" pissed off a lot of Dutch, and made a lot of Spaniards elated...
Anyway -- I heard Madden NFL 11 also got the Super Bowl wrong, so -- hey, we can't all be saints.
Or, in this year's case, Packers!
Anyway, thanks for your take on my football program.
My next undertaking, I think, may be a basketball program... So watch out for my Apple //e NBA Basketball Simulator!
sicklittlemonkey <nick.westg...@gmail.com> wrote: > On Feb 9, 9:53 am, Toinet <antoine.vig...@laposte.net> wrote: >> (despite the fact I'll never understand your football & baseball >> compared to my "real" football from Europe, the sports you call >> "soccer")
> Come now. _Real_ football is called Rugby (Union)! ;-)