home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 551-575 / apd560 / amoner5 / aafp.amos / aafp.amosSourceCode next >
AMOS Source Code  |  1993-11-29  |  26KB  |  741 lines

  1. Break Off 
  2. Screen Open 0,640,400,2,Hires
  3. Dim NFL_NAME$(28),WLAF_NAME$(9)
  4. Global WLAF_DIR$,NFL_DIR$,NFL_NAME$(),WLAF_NAME$()
  5. MAIN
  6. Procedure MAIN
  7.    Sam Bank 15
  8.    NFL_DIR$="" : WLAF_DIR$=""
  9.    Make Mask : Hide 
  10.    Curs Off : Flash Off 
  11.    Led On 
  12.    _SMALL_COPYRIGHT[225]
  13.    Fade 1 : Wait 16
  14.    Auto View Off : Unpack 6 To 0 : Screen Clone 1 : Screen To Front 0
  15.    For C=0 To 31
  16.       Colour C,0
  17.    Next 
  18.    View : Auto View On 
  19.    Curs Off : Flash Off 
  20.    Fade 3 To 1,%10001001100 : Wait 100
  21.    Fade 3 To 1,%10000000 : Wait 100
  22.    Fade 3 To 1,%1000000000 : Wait 100
  23.    Fade 3 To 1 : Wait 45
  24.    Wait Key 
  25.    Auto View Off 
  26.    Screen Close 1
  27.    Erase 6
  28.    Screen Open 1,640,400,16,Hires
  29.    Get Palette 0
  30.    Pen 14
  31.    Curs Pen 14
  32.    Palette ,0
  33.    If Not Exist("S:AAFP.NFLstats")
  34.       Screen To Front 1
  35.       Screen 1
  36.       N0THERE:
  37.       Cls 
  38.       Centre "Could not find the NFL stats file."
  39.       Cdown : Centre "If you wish to create a new one, press enter"
  40.       Cdown : Centre "or enter the directory where it resides.  (i.e. dh0:AAFP/)"
  41.       Locate 0,3 : Print "Please include the slash (/) if needed: ";
  42.       Wait Vbl : View : Auto View On 
  43.       Line Input "";NFL_DIR$
  44.       If NFL_DIR$=""
  45.          STATS_MAKER["N"]
  46.          NFL_DIR$="S:"
  47.       Else 
  48.          If Not Exist(NFL_DIR$+"AAFP.NFLstats")
  49.             Goto N0THERE
  50.          End If 
  51.       End If 
  52.    End If 
  53.    If Not Exist("S:AAFP.WLAFstats")
  54.       Auto View Off 
  55.       Screen To Front 1
  56.       Screen 1
  57.       N0THERE2:
  58.       Cls 
  59.       Centre "Could not find the WLAF stats file."
  60.       Cdown : Centre "If you wish to create a new one, press enter"
  61.       Cdown : Centre "or enter the directory where it resides.  (i.e. dh0:AAFP/)"
  62.       Locate 0,4 : Print "Please include the slash if needed: ";
  63.       Wait Vbl : View : Auto View On 
  64.       Line Input "";WLAF_DIR$
  65.       If WLAF_DIR$=""
  66.          STATS_MAKER["W"]
  67.          WLAF_DIR$="S:"
  68.       Else 
  69.          If Not Exist(WLAF_DIR$+"AAFP.WLAFstats")
  70.             Goto N0THERE2
  71.          End If 
  72.       End If 
  73.    End If 
  74.    Data "bears","bengals","bills","broncos","browns","bucaneers","cardinals"
  75.    Data "chargers","chiefs","colts","cowboys","dolphins","eagles","falcons"
  76.    Data "forty-niners","giants","jets","lions","oilers","packers","patriots"
  77.    Data "raiders","rams","redskins","saints","seahawks","steelers","vikings"
  78.    For X=0 To 27
  79.       Read NAME$
  80.       NFL_NAME$(X)=Upper$(NAME$)
  81.    Next X
  82.    Sort NFL_NAME$(0)
  83.    Data "fire","thunder","knights","surge","galaxy","monarchs","riders","glory"
  84.    Data "dragons"
  85.    For X=0 To 8
  86.       Read NAME$
  87.       WLAF_NAME$(X)=Upper$(NAME$)
  88.    Next X
  89.    Sort WLAF_NAME$(0)
  90.    '*********************************************************************** 
  91.    '*            Setup BOBs on the screen                                 * 
  92.    '*********************************************************************** 
  93.    Auto View Off 
  94.    Screen Hide 1
  95.    Screen 0
  96.    Cls 0,0,180 To 319,199
  97.    Get Sprite Palette 
  98.    Reserve Zone 3
  99.    Set Zone 1,123,87 To 196,99
  100.    Set Zone 2,123,104 To 196,116
  101.    Set Zone 3,123,121 To 196,133
  102.    Paste Bob 113,81,2
  103.    Locate 0,9 : Paper 0 : Cline : Centre "Main Menu"
  104.    Bob 1,123,87,10
  105.    Bob 2,123,104,9
  106.    Bob 3,123,121,6
  107.    '*********************************************************************** 
  108.    '*           BOBs are seen, so start loop to detect click or key       * 
  109.    '*********************************************************************** 
  110.    Show 
  111.    Do 
  112.       Wait Vbl : View 
  113.       MAINKEY$=""
  114.       Repeat 
  115.          MAINKEY$=Inkey$
  116.       Until Mouse Key or(Upper$(MAINKEY$)="E") or(Upper$(MAINKEY$)="P") or(Upper$(MAINKEY$)="Q")
  117.       MAIN_ZONE=Mouse Zone
  118.       MAIN_KEY=Instr("EePpQq",MAINKEY$)
  119.       If MAIN_ZONE>0 or MAIN_KEY>0
  120.          If(MAIN_ZONE=1) or(Upper$(MAINKEY$)="E")
  121.             Sam Play 1,2,8000
  122.             Bob 1,124,88,10
  123.             Wait Vbl : View : Wait 25
  124.             ESTATS
  125.             MAIN_ZONE=0 : MAINKEY$=""
  126.             Locate 0,9 : Paper 0 : Cline : Centre "Main Menu"
  127.          End If 
  128.          If(MAIN_ZONE=2) or(Upper$(MAINKEY$)="P")
  129.             Sam Play 1,2,8000
  130.             Bob 2,124,105,9
  131.             Wait Vbl 
  132.             View : Wait 25
  133.             PREDICTOR
  134.             MAIN_ZONE=0 : MAINKEY$=""
  135.             Locate 0,9 : Paper 0 : Cline : Centre "Main Menu"
  136.          End If 
  137.          If(MAIN_ZONE=3) or(Upper$(MAINKEY$)="Q")
  138.             Sam Play 1,2,8000
  139.             Bob 3,124,122,6
  140.             Wait Vbl : View : Wait 25
  141.             Run "autoexec.amos"
  142.          End If 
  143.       End If 
  144.    Loop 
  145.    Run "autoexec.amos"
  146. End Proc
  147. Procedure PREDICTOR
  148.    '*********************************************************************** 
  149.    '*            Setup BOBs on the screen                                 * 
  150.    '*********************************************************************** 
  151.    Paper 0 : Locate 0,9 : Cline : Centre "Predictions Menu"
  152.    Bob 1,123,87,3
  153.    Bob 2,123,104,4
  154.    Bob 3,123,121,5
  155.    Wait Vbl : View 
  156.    '*********************************************************************** 
  157.    '*           BOBs are seen, so start loop to detect click or key       * 
  158.    '*********************************************************************** 
  159.    Do 
  160.       Wait Vbl : View 
  161.       PREDICTKEY$=""
  162.       Repeat 
  163.          PREDICTKEY$=Inkey$
  164.       Until Mouse Key or(Upper$(PREDICTKEY$)="N") or(Upper$(PREDICTKEY$)="W") or(Upper$(PREDICTKEY$)="M")
  165.       PREDICT_ZONE=Mouse Zone
  166.       PREDICT_KEY=Instr("NnWwMm",PREDICTKEY$)
  167.       If PREDICT_ZONE>0 or PREDICT_KEY>0
  168.          If(PREDICT_ZONE=1) or(Upper$(PREDICTKEY$)="N")
  169.             Sam Play 1,2,8000
  170.             Bob 1,124,88,3 : Wait Vbl : View : Wait 25
  171.             PREDICT["N"]
  172.             PREDICT_ZONE=0 : PREDICTKEY$="" : Bob 1,123,87,3
  173.          End If 
  174.          If(PREDICT_ZONE=2) or(Upper$(PREDICTKEY$)="W")
  175.             Sam Play 1,2,8000
  176.             Bob 2,124,105,4 : Wait Vbl 
  177.             View : Wait 25
  178.             PREDICT["W"]
  179.             PREDICT_ZONE=0 : PREDICTKEY$="" : Bob 2,123,104,4
  180.          End If 
  181.          If(PREDICT_ZONE=3) or(Upper$(PREDICTKEY$)="M")
  182.             Sam Play 1,2,8000
  183.             Bob 3,124,122,5
  184.             Wait Vbl : View : Wait 25
  185.             Bob 1,123,87,10
  186.             Bob 2,123,104,9
  187.             Bob 3,123,121,6
  188.             Pop Proc
  189.          End If 
  190.       End If 
  191.    Loop 
  192. End Proc
  193. Procedure PREDICT[LEAGUE$]
  194.    Screen Hide 0
  195.    Screen Show 1
  196.    Screen 1
  197.    If LEAGUE$="N"
  198.       _MAXGAMES=14
  199.       NAMEFILE$=NFL_DIR$+"AAFP.NFLnames"
  200.       STATFILE$=NFL_DIR$+"AAFP.NFLstats"
  201.       WINNERFILE$=NFL_DIR$+"AAFP.NFLwinners"
  202.    Else 
  203.       NAMEFILE$=WLAF_DIR$+"AAFP.WLAFnames"
  204.       STATFILE$=WLAF_DIR$+"AAFP.WLAFstats"
  205.       WINNERFILE$=WLAF_DIR$+"AAFP.WLAFwinners"
  206.       _MAXGAMES=8
  207.    End If 
  208.    View : Auto View On 
  209.    Dim _HOME$(_MAXGAMES),VISITOR$(_MAXGAMES),_HOME_DEF(_MAXGAMES),_HOME_OFF(_MAXGAMES),VISIT_DEF(_MAXGAMES)
  210.    Dim VISIT_OFF(_MAXGAMES),_HOME_PF(_MAXGAMES),_HOME_PA(_MAXGAMES),VISIT_PF(_MAXGAMES),VISIT_PA(_MAXGAMES)
  211.    Dim USER_LIKES$(_MAXGAMES),WINNER$(_MAXGAMES),H_FIRST_DOWNS(_MAXGAMES),H_RET_YARDS(_MAXGAMES)
  212.    Dim V_FIRST_DOWNS(_MAXGAMES),V_RET_YARDS(_MAXGAMES)
  213.    _START:
  214.    A$=At(39,2)+"vs"
  215.    Repeat 
  216.       Cls 
  217.       Print "Would you like to enter the stats (K) or have the stats read in from the"
  218.       Line Input "stats file(F)? (K/F)";REDIN$
  219.    Until(Upper$(REDIN$)="K") or(Upper$(REDIN$)="F")
  220.    Cls : Centre "How many games would you like to predict (1 - "+Str$(_MAXGAMES)+")" : Input INDEX
  221.    If INDEX=0
  222.       Wait 50
  223.       Auto View Off 
  224.       Screen Hide 1
  225.       Screen Show 0
  226.       Screen 0
  227.       Pop Proc
  228.    Else 
  229.       If(INDEX<1) or(INDEX>_MAXGAMES)
  230.          Centre "Illegal entry.  Press a key to try again" : Wait Key 
  231.          Cline 
  232.          Goto _START
  233.       End If 
  234.    End If 
  235.    Cls 
  236.    Centre "Which week is this" : Line Input WEEKNO
  237.    Cup : Cline : Centre "Week #"+Str$(WEEKNO)
  238.    Locate 0,4 : Print "  Total Offensive Yardage -- ";
  239.    Locate 0,5 : Print "        Total First Downs -- ";
  240.    Locate 0,6 : Print "       Total Return Yards -- ";
  241.    Locate 0,7 : Print "Yards Given Up by Defense -- ";
  242.    Locate 12,8 : Print "Points Scored -- ";
  243.    Locate 10,9 : Print "Points Given Up -- ";
  244.    Locate 0,11 : Centre "Who do you pick (H/V) -- "
  245.    Locate 0,12 : Centre "A '?' Means Who Cares"
  246.    If Upper$(REDIN$)="K"
  247.       For X=0 To INDEX-1
  248.          REDO:
  249.          _HOME_OUTCUM=1
  250.          VISIT_OUTCUM=0
  251.          Put Key _HOME$(X)
  252.          Locate 25,14 : Line Input "Home Team? ";_HOME$(X)
  253.          If _HOME$(X)=""
  254.             Wait 50
  255.             Auto View Off 
  256.             Screen Hide 1
  257.             Screen Show 0
  258.             Screen 0
  259.             Pop Proc
  260.          End If 
  261.          Cup : Cline 
  262.          _HOME$(X)=Upper$(Left$(_HOME$(X),1))+Mid$(_HOME$(X),2)
  263.          Locate 25,2 : Cline : Print _HOME$(X);
  264.          Put Key Str$(_HOME_OFF(X))
  265.          Locate 29,4 : Cline 49 : Line Input "";_HOME_OFF(X)
  266.          Put Key Str$(H_FIRST_DOWNS(X))
  267.          Locate 29,5 : Cline 49 : Line Input "";H_FIRST_DOWNS(X)
  268.          Put Key Str$(H_RET_YARDS(X))
  269.          Locate 29,6 : Cline 49 : Line Input "";H_RET_YARDS(X)
  270.          Put Key Str$(_HOME_DEF(X))
  271.          Locate 29,7 : Cline 49 : Line Input "";_HOME_DEF(X)
  272.          Put Key Str$(_HOME_PF(X))
  273.          Locate 29,8 : Cline 49 : Line Input "";_HOME_PF(X)
  274.          Put Key Str$(_HOME_PA(X))
  275.          Locate 29,9 : Cline 49 : Line Input "";_HOME_PA(X)
  276.          Put Key VISITOR$(X)
  277.          Locate 25,14 : Line Input "Visiting Team? ";VISITOR$(X) : Cup : Cline 
  278.          If VISITOR$(X)=""
  279.             Wait 50
  280.             Auto View Off 
  281.             Screen Hide 1
  282.             Screen Show 0
  283.             Screen 0
  284.             Pop Proc
  285.          End If 
  286.          VISITOR$(X)=Upper$(Left$(VISITOR$(X),1))+Mid$(VISITOR$(X),2)
  287.          Locate 45,2 : Cline 33 : Print VISITOR$(X);
  288.          Print A$;
  289.          Put Key Str$(VISIT_OFF(X))
  290.          Locate 49,4 : Line Input "";VISIT_OFF(X)
  291.          Put Key Str$(V_FIRST_DOWNS(X))
  292.          Locate 49,5 : Cline 33 : Line Input "";V_FIRST_DOWNS(X)
  293.          Put Key Str$(V_RET_YARDS(X))
  294.          Locate 49,6 : Cline 33 : Line Input "";V_RET_YARDS(X)
  295.          Put Key Str$(VISIT_DEF(X))
  296.          Locate 49,7 : Cline 33 : Line Input "";VISIT_DEF(X)
  297.          Put Key Str$(VISIT_PF(X))
  298.          Locate 49,8 : Cline 33 : Line Input "";VISIT_PF(X)
  299.          Put Key Str$(VISIT_PA(X))
  300.          Locate 49,9 : Cline 33 : Line Input "";VISIT_PA(X)
  301.          Put Key "?"
  302.          Locate 52,11 : Cline 33 : Line Input "";USER_LIKES$(X) : USER_LIKES$(X)=Upper$(Left$(USER_LIKES$,1))
  303.          If((USER_LIKES$(X)<>"H") or(USER_LIKES$(X)<>"V"))
  304.             USER_LIKES$(X)="?"
  305.          End If 
  306.          Put Key "Y"
  307.          Locate 0,13 : Centre "Do you accept these values (Y/N)? " : Line Input "";ACCEPT$
  308.          Cup : Cline 
  309.          If Upper$(ACCEPT$)<>"Y"
  310.             Goto REDO
  311.          End If 
  312.          If(_HOME_DEF(X)>VISIT_DEF(X))
  313.             Inc VISIT_OUTCUM
  314.          End If 
  315.          If(_HOME_DEF(X)<VISIT_DEF(X))
  316.             Inc _HOME_OUTCUM
  317.          End If 
  318.          If(H_FIRST_DOWNS(X)>V_FIRST_DOWNS(X))
  319.             Inc _HOME_OUTCUM
  320.          End If 
  321.          If(H_FIRST_DOWNS(X)<V_FIRST_DOWNS(X))
  322.             Inc VISIT_OUTCUM
  323.          End If 
  324.          If(H_RET_YARDS(X)>V_RET_YARDS(X))
  325.             Inc _HOME_OUTCUM
  326.          End If 
  327.          If(H_RET_YARDS(X)<V_RET_YARDS(X))
  328.             Inc VISIT_OUTCUM
  329.          End If 
  330.          If(_HOME_PF(X)>VISIT_PF(X))
  331.             Inc _HOME_OUTCUM
  332.          End If 
  333.          If(_HOME_PF(X)<VISIT_PF(X))
  334.             Inc VISIT_OUTCUM
  335.          End If 
  336.          If(_HOME_PA(X)>VISIT_PA(X))
  337.             Inc VISIT_OUTCUM
  338.          End If 
  339.          If(_HOME_PA(X)<VISIT_PA(X))
  340.             Inc _HOME_OUTCUM
  341.          End If 
  342.          If(_HOME_OFF(X)>VISIT_OFF(X))
  343.             Inc _HOME_OUTCUM
  344.          End If 
  345.          If(_HOME_OFF(X)<VISIT_OFF(X))
  346.             Inc VISIT_OUTCUM
  347.          End If 
  348.          If(_HOME_OUTCUM>VISIT_OUTCUM)
  349.             WINNER$(X)=_HOME$(X)
  350.          Else 
  351.             If(VISIT_OUTCUM>_HOME_OUTCUM)
  352.                WINNER$(X)=VISITOR$(X)
  353.             Else 
  354.                If(Upper$(USER_LIKES$(X))="H")
  355.                   WINNER$(X)=_HOME$(X)
  356.                Else 
  357.                   If(Upper$(USER_LIKES$(X))="V")
  358.                      WINNER$(X)=VISITOR$(X)
  359.                   Else 
  360.                      WINNER$(X)="Pick'em"
  361.                   End If 
  362.                End If 
  363.             End If 
  364.          End If 
  365.       Next 
  366.    Else 
  367.       Open Random 1,STATFILE$
  368.       Field 1,12 As NAME$,5 As OFF_YARDS$,4 As PF$,4 As PA$,5 As DEF_YARDS$,4 As FIRSTDOWNS$,4 As RETYARDS$
  369.       For X=0 To INDEX-1
  370.          REDO2:
  371.          Put Key _HOME$(X)
  372.          Locate 25,14 : Curs On : Line Input "Home Team? ";_HOME$(X)
  373.          If _HOME$(X)=""
  374.             Wait 50
  375.             Auto View Off 
  376.             Screen Hide 1
  377.             Screen Show 0
  378.             Screen 0
  379.             Close 1
  380.             Pop Proc
  381.          End If 
  382.          Curs Off : Cup : Cline 
  383.          _HOME$(X)=Upper$(Left$(_HOME$(X),1))+Mid$(_HOME$(X),2)
  384.          Locate 25,2 : Cline : Print _HOME$(X);
  385.          If LEAGUE$="N"
  386.             TEAM_RECORD=Match(NFL_NAME$(0),Upper$(_HOME$(X)))
  387.          Else 
  388.             TEAM_RECORD=Match(WLAF_NAME$(0),Upper$(_HOME$(X)))
  389.          End If 
  390.          If TEAM_RECORD<0
  391.             Locate 0,22 : Centre "That name was not found."
  392.             Locate 0,23 : Centre "Enter LAST NAME only.  (i.e. Dolphins, Cowboys, etc.)"
  393.             Locate 0,24 : Centre "Press key to continue" : Wait Key 
  394.             Cline : Cup : Cline : Cup : Cline : Goto REDO2
  395.          Else 
  396.             Get 1,TEAM_RECORD
  397.          End If 
  398.          _HOME_OFF(X)=Val(OFF_YARDS$)
  399.          Locate 29,4 : Cline 49 : Print _HOME_OFF(X);
  400.          H_FIRST_DOWNS(X)=Val(FIRSTDOWNS$)
  401.          Locate 29,5 : Cline 49 : Print H_FIRST_DOWNS(X);
  402.          H_RET_YARDS(X)=Val(RETYARDS$)
  403.          Locate 29,6 : Cline 49 : Print H_RET_YARDS(X);
  404.          _HOME_DEF(X)=Val(DEF_YARDS$)
  405.          Locate 29,7 : Cline 49 : Print _HOME_DEF(X);
  406.          _HOME_PF(X)=Val(PF$)
  407.          Locate 29,8 : Cline 49 : Print _HOME_PF(X);
  408.          _HOME_PA(X)=Val(PA$)
  409.          Locate 29,9 : Cline 49 : Print _HOME_PA(X);
  410.          REDO3:
  411.          Locate 25,14 : Curs On : Line Input "Visiting Team? ";VISITOR$(X) : Curs Off : Cup : Cline 
  412.          If VISITOR$(X)=""
  413.             Wait 50
  414.             Close 1
  415.             Auto View Off 
  416.             Screen Hide 1
  417.             Screen Show 0
  418.             Screen 0
  419.             Pop Proc
  420.          End If 
  421.          VISITOR$(X)=Upper$(Left$(VISITOR$(X),1))+Mid$(VISITOR$(X),2)
  422.          Locate 45,2 : Cline 33 : Print VISITOR$(X);
  423.          Print A$;
  424.          If LEAGUE$="N"
  425.             TEAM_RECORD=Match(NFL_NAME$(0),Upper$(VISITOR$(X)))
  426.          Else 
  427.             TEAM_RECORD=Match(WLAF_NAME$(0),Upper$(VISITOR$(X)))
  428.          End If 
  429.          If TEAM_RECORD<0
  430.             Clear Key : Locate 0,22 : Centre "That name was not found."
  431.             Locate 0,23 : Centre "Enter LAST NAME only.  (i.e. Dolphins, Cowboys, etc.)"
  432.             Locate 0,24 : Centre "Press key to continue" : Wait Key 
  433.             Cline : Cup : Cline : Cup : Cline : Goto REDO3
  434.          Else 
  435.             Get 1,TEAM_RECORD
  436.          End If 
  437.          VISIT_OFF(X)=Val(OFF_YARDS$)
  438.          Locate 49,4 : Cline 29 : Print VISIT_OFF(X);
  439.          V_FIRST_DOWNS(X)=Val(FIRSTDOWNS$)
  440.          Locate 49,5 : Cline 29 : Print V_FIRST_DOWNS(X);
  441.          V_RET_YARDS(X)=Val(RETYARDS$)
  442.          Locate 49,6 : Cline 29 : Print V_RET_YARDS(X);
  443.          VISIT_DEF(X)=Val(DEF_YARDS$)
  444.          Locate 49,7 : Cline 29 : Print VISIT_DEF(X);
  445.          VISIT_PF(X)=Val(PF$)
  446.          Locate 49,8 : Cline 29 : Print VISIT_PF(X);
  447.          VISIT_PA(X)=Val(PA$)
  448.          Locate 49,9 : Cline 29 : Print VISIT_PA(X);
  449.          Put Key "?"
  450.          Locate 52,11 : Curs On : Line Input "";USER_LIKES$(X) : Curs Off : USER_LIKES$(X)=Upper$(Left$(USER_LIKES$,1))
  451.          If((USER_LIKES$(X)<>"H") or(USER_LIKES$(X)<>"V"))
  452.             USER_LIKES$(X)="?"
  453.          End If 
  454.          Put Key "Y"
  455.          Locate 0,13 : Curs On : Centre "Do you accept these values (Y/n)? " : Line Input "";ACCEPT$ : Curs Off 
  456.          Cup : Cline 
  457.          If Upper$(ACCEPT$)<>"Y"
  458.             Goto REDO2
  459.          End If 
  460.          _HOME_OUTCUM=1
  461.          VISIT_OUTCUM=0
  462.          If(_HOME_DEF(X)>VISIT_DEF(X))
  463.             Inc VISIT_OUTCUM
  464.          End If 
  465.          If(_HOME_DEF(X)<VISIT_DEF(X))
  466.             Inc _HOME_OUTCUM
  467.          End If 
  468.          If(H_FIRST_DOWNS(X)>V_FIRST_DOWNS(X))
  469.             Inc _HOME_OUTCUM
  470.          End If 
  471.          If(H_FIRST_DOWNS(X)<V_FIRST_DOWNS(X))
  472.             Inc VISIT_OUTCUM
  473.          End If 
  474.          If(H_RET_YARDS(X)>V_RET_YARDS(X))
  475.             Inc _HOME_OUTCUM
  476.          End If 
  477.          If(H_RET_YARDS(X)<V_RET_YARDS(X))
  478.             Inc VISIT_OUTCUM
  479.          End If 
  480.          If(_HOME_PF(X)>VISIT_PF(X))
  481.             Inc _HOME_OUTCUM
  482.          End If 
  483.          If(_HOME_PF(X)<VISIT_PF(X))
  484.             Inc VISIT_OUTCUM
  485.          End If 
  486.          If(_HOME_PA(X)>VISIT_PA(X))
  487.             Inc VISIT_OUTCUM
  488.          End If 
  489.          If(_HOME_PA(X)<VISIT_PA(X))
  490.             Inc _HOME_OUTCUM
  491.          End If 
  492.          If(_HOME_OFF(X)>VISIT_OFF(X))
  493.             Inc _HOME_OUTCUM
  494.          End If 
  495.          If(_HOME_OFF(X)<VISIT_OFF(X))
  496.             Inc VISIT_OUTCUM
  497.          End If 
  498.          If(_HOME_OUTCUM>VISIT_OUTCUM)
  499.             WINNER$(X)=_HOME$(X)
  500.          Else 
  501.             If(VISIT_OUTCUM>_HOME_OUTCUM)
  502.                WINNER$(X)=VISITOR$(X)
  503.             Else 
  504.                If(Upper$(USER_LIKES$(X))="H")
  505.                   WINNER$(X)=_HOME$(X)
  506.                Else 
  507.                   If(Upper$(USER_LIKES$(X))="V")
  508.                      WINNER$(X)=VISITOR$(X)
  509.                   Else 
  510.                      WINNER$(X)="Pick'em"
  511.                   End If 
  512.                End If 
  513.             End If 
  514.          End If 
  515.       Next 
  516.       Close 1
  517.    End If 
  518.    Cls : Centre Pen$(2)+"AMOS"+Pen$(14)+" American"+Pen$(6)+" Football"+Pen$(14)+" Predictor Says"
  519.    Locate 0,2 : Print "Home"; : Locate 20,2 : Print "Visitor"; : Locate 40,2 : Print "WINNER";
  520.    Locate 0,3 : Print "----"; : Locate 20,3 : Print "-------"; : Locate 40,3 : Print "------";
  521.    Curs Off : Flash Off 
  522.    For X=0 To INDEX-1
  523.       Locate 0,4+X : Print _HOME$(X); : Locate 20,4+X : Print VISITOR$(X); : Locate 40,4+X : Pen 5 : Print WINNER$(X); : Pen 14
  524.    Next 
  525.    Print : Print : Line Input "Shall I save these predictions? (Y/N)";PREDSAVE$
  526.    If Upper$(PREDSAVE$)="Y"
  527.       Print "Saving . . .";
  528.       Open Random 1,WINNERFILE$
  529.       Field 1,2 As WEEK$,12 As H0ME$,12 As VIS$,12 As W1NNER$
  530.       NXTRECORD=(Lof(1)/38)+1
  531.       For X=0 To INDEX-1
  532.          WEEK$=Str$(WEEKNO)
  533.          H0ME$=_HOME$(X)
  534.          VIS$=VISITOR$(X)
  535.          W1NNER$=WINNER$(X)
  536.          Put 1,NXTRECORD
  537.          Inc NXTRECORD
  538.       Next X
  539.       Close 1
  540.    End If 
  541.    Wait 25
  542.    Auto View Off 
  543.    Screen Hide 1
  544.    Screen Show 0
  545.    Screen 0
  546. End Proc
  547. Procedure STATS_MAKER[LEAGUE$]
  548.    If LEAGUE$="N"
  549.       Open Random 1,"S:AAFP.NFLstats"
  550.       Field 1,12 As NAME$,5 As OFF_YARDS$,4 As PF$,4 As PA$,5 As DEF_YARDS$,4 As FIRSTDOWNS$,4 As RETYARDS$
  551.    Else 
  552.       Open Random 1,"S:AAFP.WLAFstats"
  553.       Field 1,12 As NAME$,5 As OFF_YARDS$,4 As PF$,4 As PA$,5 As DEF_YARDS$,4 As FIRSTDOWNS$,4 As RETYARDS$
  554.    End If 
  555.    If LEAGUE$="N"
  556.       NFL_TEAMS:
  557.       Data "bears","bengals","bills","broncos","browns","bucaneers","cardinals"
  558.       Data "chargers","chiefs","colts","cowboys","dolphins","eagles","falcons"
  559.       Data "forty-niners","giants","jets","lions","oilers","packers","patriots"
  560.       Data "raiders","rams","redskins","saints","seahawks","steelers","vikings"
  561.       For X=0 To 27
  562.          Read NAME$
  563.          NAME$=Upper$(NAME$)
  564.          OFF_YARDS$="0"
  565.          PF$="0"
  566.          PA$="0"
  567.          DEF_YARDS$="0"
  568.          Put 1,X+1
  569.       Next 
  570.       Close 1
  571.    Else 
  572.       WLAF_TEAMS:
  573.       Data "fire","thunder","knights","surge","galaxy","monarchs","riders","glory"
  574.       Data "dragons"
  575.       For X=0 To 8
  576.          Read NAME$
  577.          NAME$=Upper$(NAME$)
  578.          OFF_YARDS$="0"
  579.          PF$="0"
  580.          PA$="0"
  581.          DEF_YARDS$="0"
  582.          Put 1,X+1
  583.       Next 
  584.       Close 1
  585.    End If 
  586. End Proc
  587. Procedure _SMALL_COPYRIGHT[YDISPLAY]
  588.    '
  589.    Auto View Off 
  590.    '  
  591.    Screen Open 7,320,24,16,0 : Curs Off : Flash Off : Cls 0
  592.    Screen Display 7,,-100,,
  593.    Paste Bob 260,3,1
  594.    Paper 0 : Pen 7 : Print At(1,1);"This program was written using"
  595.    Get Sprite Palette 
  596.    View : Wait Vbl 
  597.    '
  598.    For Y=1 To Screen Height/2
  599.       Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2
  600.       Screen Offset 7,,Screen Height/2-Y
  601.       View : Wait Vbl 
  602.    Next 
  603.    '
  604.    Wait 100
  605.    '
  606.    For Y=Screen Height/2 To 0 Step -1
  607.       Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2
  608.       Screen Offset 7,,Screen Height/2-Y
  609.       View : Wait Vbl 
  610.    Next 
  611.    '
  612.    Screen Close 7
  613.    Auto View On 
  614.    '
  615. End Proc
  616. Procedure _EDIT_STATS[LEAGUE$]
  617.    If LEAGUE$="N"
  618.       TEAMS=28
  619.       STATFILE$=NFL_DIR$+"AAFP.NFLstats"
  620.    Else 
  621.       TEAMS=8
  622.       STATFILE$=WLAF_DIR$+"AAFP.WLAFstats"
  623.    End If 
  624.    Screen Hide 0
  625.    Screen Show 1
  626.    Screen 1
  627.    Cls 
  628.    Locate 30,2 : Print "Current Total","+","New Data","= New Total"
  629.    Locate 0,4 : Print "Offensive Yards Gained: "
  630.    Locate 0,5 : Print "      First Downs Made: "
  631.    Locate 0,6 : Print "          Return Yards: "
  632.    Locate 0,7 : Print " Defense Yards Allowed: "
  633.    Locate 0,8 : Print "            Points For: "
  634.    Locate 0,9 : Print "        Points Allowed: "
  635.    Locate 0,15
  636.    Print "Here's a short explanation of how this works:"
  637.    Print "AAFP will go through each team and ask you to enter the New Data,"
  638.    Print "which is the stats from the game last played for that team.  This"
  639.    Print "information can be found in any newspaper with a decent sports section."
  640.    Print "After each entry, the New Total will be displayed.  When done, you will be"
  641.    Print "asked if everything is correct.  Answer appropriately.  If all is well, the"
  642.    Print "New Total will be saved to the file and you will proceed to the next team."
  643.    Print "You repeat this for EVERY team.  Default values will be 0.  If you have anymore"
  644.    Print "problems, please contact me as described in AAFP.DOC"
  645.    Open Random 1,STATFILE$
  646.    Field 1,12 As NAME$,5 As OFF_YARDS$,4 As PF$,4 As PA$,5 As DEF_YARDS$,4 As FIRSTDOWNS$,4 As RETYARDS$
  647.    Wait Vbl : View : Auto View On 
  648.    For QZ=1 To TEAMS
  649.       Get 1,QZ
  650.       Locate 0,0 : Centre NAME$
  651.       Locate 34,4 : Print Using "#####";Val(OFF_YARDS$)
  652.       Locate 35,5 : Print Using "####";Val(FIRSTDOWNS$)
  653.       Locate 35,6 : Print Using "####";Val(RETYARDS$)
  654.       Locate 34,7 : Print Using "#####";Val(DEF_YARDS$)
  655.       Locate 35,8 : Print Using "####";Val(PF$)
  656.       Locate 35,9 : Print Using "####";Val(PA$)
  657.       REDO5:
  658.       Locate 48,4 : Cline 30 : Line Input "";OY
  659.       NTOY=OY+Val(OFF_YARDS$)
  660.       Locate 64,4 : Print Using "#####";NTOY
  661.       Locate 48,5 : Cline 30 : Line Input "";FD
  662.       NTFD=FD+Val(FIRSTDOWNS$)
  663.       Locate 65,5 : Print Using "####";NTFD
  664.       Locate 48,6 : Cline 30 : Line Input "";RY
  665.       NTRY=RY+Val(RETYARDS$)
  666.       Locate 65,6 : Print Using "####";NTRY
  667.       Locate 49,7 : Cline 30 : Line Input "";DY
  668.       NTDY=DY+Val(DEF_YARDS$)
  669.       Locate 64,7 : Print Using "#####";NTDY
  670.       Locate 50,8 : Cline 30 : Line Input "";PF
  671.       NTPF=PF+Val(PF$)
  672.       Locate 64,8 : Print Using "#####";NTPF
  673.       Locate 50,9 : Cline 30 : Line Input "";PA
  674.       NTPA=PA+Val(PA$)
  675.       Locate 64,9 : Print Using "#####";NTPA
  676.       Locate 0,11 : Centre "Correct? (Y/N) "
  677.       Line Input "";YN$ : Cup : Cline 
  678.       If(Upper$(YN$)="N")
  679.          OY=0 : DY=0 : PF=0 : PA=0 : RY=0 : FD=0
  680.          Goto REDO5
  681.       End If 
  682.       OFF_YARDS$=Str$(NTOY)
  683.       DEF_YARDS$=Str$(NTDY)
  684.       PA$=Str$(NTPA)
  685.       PF$=Str$(NTPF)
  686.       FIRSTDOWNS$=Str$(NTFD)
  687.       RETYARDS$=Str$(NTRY)
  688.       Put 1,QZ
  689.    Next 
  690.    Cls : Close 1
  691.    Auto View Off 
  692.    Screen Hide 1
  693.    Screen Show 0
  694.    Screen 0
  695. End Proc
  696. Procedure ESTATS
  697.    '*********************************************************************** 
  698.    '*            Setup BOBs on the screen                                 * 
  699.    '*********************************************************************** 
  700.    Paper 0 : Locate 0,9 : Cline : Centre "Edit Stats Menu"
  701.    Bob 1,123,87,3
  702.    Bob 2,123,104,4
  703.    Bob 3,123,121,5
  704.    Wait Vbl : View 
  705.    '*********************************************************************** 
  706.    '*           BOBs are seen, so start loop to detect click or key       * 
  707.    '*********************************************************************** 
  708.    Do 
  709.       Wait Vbl : View 
  710.       ESTATSKEY$=""
  711.       Repeat 
  712.          ESTATSKEY$=Inkey$
  713.       Until Mouse Key or(Upper$(ESTATSKEY$)="N") or(Upper$(ESTATSKEY$)="W") or(Upper$(ESTATSKEY$)="M")
  714.       ESTATS_ZONE=Mouse Zone
  715.       ESTATS_KEY=Instr("NnWwMm",ESTATSKEY$)
  716.       If ESTATS_ZONE>0 or ESTATS_KEY>0
  717.          If(ESTATS_ZONE=1) or(Upper$(ESTATSKEY$)="N")
  718.             Sam Play 1,2,8000
  719.             Bob 1,124,88,3 : Wait Vbl : View : Wait 25
  720.             _EDIT_STATS["N"]
  721.             ESTATS_ZONE=0 : ESTATSKEY$="" : Bob 1,123,87,3
  722.          End If 
  723.          If(ESTATS_ZONE=2) or(Upper$(ESTATSKEY$)="W")
  724.             Sam Play 1,2,8000
  725.             Bob 2,124,105,4 : Wait Vbl 
  726.             View : Wait 25
  727.             _EDIT_STATS["W"]
  728.             ESTATS_ZONE=0 : ESTATSKEY$="" : Bob 2,123,104,4
  729.          End If 
  730.          If(ESTATS_ZONE=3) or(Upper$(ESTATSKEY$)="M")
  731.             Sam Play 1,2,8000
  732.             Bob 3,124,122,5
  733.             Wait Vbl : View : Wait 25
  734.             Bob 1,123,87,10
  735.             Bob 2,123,104,9
  736.             Bob 3,123,121,6
  737.             Pop Proc
  738.          End If 
  739.       End If 
  740.    Loop 
  741. End Proc