home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 - The BEST of 1994 / monster1.zip / monster1 / BBS_GAM2 / PMTT110B.ZIP / PMTT.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-11-25  |  13KB  |  760 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Integer  INTEGER001
  27.     Integer  INTEGER002
  28.     Integer  INTEGER003
  29.     Integer  INTEGER004
  30.     Integer  INTEGER005
  31.     Integer  INTEGER006
  32.     Integer  INTEGER007
  33.     Integer  INTEGER008
  34.     Integer  INTEGER009
  35.     Integer  TINTEGER010(10)
  36.     Integer  INTEGER011
  37.     Integer  INTEGER012
  38.     Integer  TINTEGER013(10)
  39.     Integer  TINTEGER014(10)
  40.     Integer  INTEGER015
  41.     Integer  INTEGER016
  42.     Integer  INTEGER017
  43.     Integer  INTEGER018
  44.     Integer  TINTEGER019(10)
  45.     Integer  INTEGER020
  46.     Integer  INTEGER021
  47.     Integer  INTEGER022
  48.     Integer  INTEGER023
  49.     Integer  INTEGER024
  50.     Integer  INTEGER025
  51.     String   STRING001
  52.     String   STRING002
  53.     String   STRING003
  54.     String   STRING004
  55.     String   TSTRING005(4)
  56.     String   STRING006
  57.     String   STRING007
  58.     String   STRING008
  59.     String   STRING009
  60.     String   STRING010
  61.     String   STRING011
  62.     String   STRING012
  63.     String   STRING013
  64.     String   STRING014
  65.     String   STRING015
  66.     String   STRING016
  67.     String   STRING017
  68.     String   STRING018
  69.     String   STRING019
  70.     String   TSTRING020(4)
  71.     String   STRING021
  72.     String   STRING022
  73.     String   TSTRING023(10)
  74.     String   TSTRING024(10)
  75.     String   STRING025
  76.     String   STRING026
  77.     String   STRING027
  78.     String   STRING028
  79.     Double   DOUBLE001
  80.     Double   DOUBLE002
  81.     Double   DOUBLE003
  82.     Double   DOUBLE004
  83.     Declare  Procedure PROC001()
  84.  
  85. ;------------------------------------------------------------------------------
  86.  
  87.     BOOLEAN002 = 0
  88.     BOOLEAN001 = 0
  89.     STRING002 = "N"
  90.     DOUBLE001 = 1
  91.     DOUBLE002 = 1
  92.     DOUBLE003 = 0
  93.     DOUBLE004 = 0
  94.     INTEGER005 = 0
  95.     INTEGER006 = 0
  96.     INTEGER001 = 6
  97.     BOOLEAN004 = 0
  98.     STRING003 = ""
  99.     Gosub LABEL013
  100.     STRING003 = "."
  101.     Cls
  102.     DispFile PPEPath() + "PMTTG", 2 + 1 + 4
  103.     While (STRING003 <> "Q") Do
  104.         STRING003 = Inkey()
  105.         STRING003 = Upper(STRING003)
  106.         If (STRING003 == "P") Then
  107.             BOOLEAN003 = 0
  108.             Gosub LABEL002
  109.             If (BOOLEAN003) Goto LABEL001
  110.             Gosub LABEL022
  111.             :LABEL001
  112.             Gosub LABEL007
  113.             Cls
  114.             DispFile PPEPath() + "PMTTG", 2 + 1 + 4
  115.             Continue
  116.         Endif
  117.         If (STRING003 == "!") Then
  118.             If (CurSec() >= 100) Then
  119.                 Gosub LABEL014
  120.             Endif
  121.             Cls
  122.             DispFile PPEPath() + "PMTTG", 2 + 1 + 4
  123.             Continue
  124.         Endif
  125.         If (STRING003 == "I") Then
  126.             Cls
  127.             DispFile PPEPath() + "HELPG", 2 + 1 + 4
  128.             Wait
  129.             Cls
  130.             DispFile PPEPath() + "PMTTG", 2 + 1 + 4
  131.             Continue
  132.         Endif
  133.         If (STRING003 == "S") Then
  134.             Cls
  135.             DispFile PPEPath() + "MOVIEG", 2 + 1 + 4
  136.             Wait
  137.             Cls
  138.             DispFile PPEPath() + "PMTTG", 2 + 1 + 4
  139.             Continue
  140.         Endif
  141.         If (STRING003 == "L") Then
  142.             DispFile PPEPath() + "MOVIEG", 2 + 1 + 4
  143.             Goodbye
  144.         Endif
  145.     EndWhile
  146.     DispFile PPEPath() + "MOVIEG", 2 + 1 + 4
  147.     End
  148.     :LABEL002
  149.     Cls
  150.     STRING006 = ""
  151.     Gosub LABEL010
  152.     FOpen 1, PPEPath() + "QDATA", 0, 2
  153.     Frewind 1
  154.     For INTEGER003 = 1 To INTEGER006
  155.         FGet 1, STRING004
  156.         For INTEGER004 = 1 To 4
  157.             FGet 1, TSTRING005(INTEGER004)
  158.         Next
  159.         FGet 1, INTEGER002
  160.     Next
  161.     FGet 1, STRING004
  162.     For INTEGER004 = 1 To 4
  163.         FGet 1, TSTRING005(INTEGER004)
  164.     Next
  165.     If (Ferr(1)) Then
  166.         Cls
  167.         PrintLn "You've answer the current question set."
  168.         BOOLEAN003 = 1
  169.         Wait
  170.         Return
  171.     Endif
  172.     Cls
  173.     PrintLn STRING004
  174.     Newline
  175.     For INTEGER004 = 1 To 4
  176.         STRING001 = "@X0D" + String(INTEGER004)
  177.         PrintLn STRING001, "@X0B   ", TSTRING005(INTEGER004)
  178.     Next
  179.     INTEGER006 = INTEGER003
  180.     :LABEL003
  181.     If (Ferr(1)) Goto LABEL006
  182.     Newline
  183.     Newline
  184.     AnsiPos 1, 11
  185.     PrintLn "@X0AMinutes Online : @X0B@TIMEUSED@"
  186.     AnsiPos 1, 12
  187.     PrintLn "@X0CTotal Time Left : @X0F@TIMELEFT@"
  188.     AnsiPos 1, 13
  189.     PrintLn "Playing Points ", DOUBLE004 * 50
  190.     AnsiPos 1, 14
  191.     PrintLn "You have answered ", DOUBLE004, " correctly"
  192.     AnsiPos 1, 15
  193.     PrintLn "out of a total of ", INTEGER003 - 1, " questions."
  194.     AnsiPos 1, 16
  195.     INTEGER008 = DOUBLE002 * 100
  196.     PrintLn "Your current percentage is ", INTEGER008, "%"
  197.     AnsiPos 1, 9
  198.     Print "@X0DEnter 1,2,3,4 or (Q)uit"
  199.     :LABEL004
  200.     If (BOOLEAN002) Goto LABEL005
  201.     STRING006 = Inkey()
  202.     STRING006 = Upper(STRING006)
  203.     Select Case (STRING006)
  204.         Case "1"
  205.             INTEGER007 = 1
  206.             BOOLEAN002 = 1
  207.         Case "2"
  208.             INTEGER007 = 2
  209.             BOOLEAN002 = 1
  210.         Case "3"
  211.             INTEGER007 = 3
  212.             BOOLEAN002 = 1
  213.         Case "4"
  214.             INTEGER007 = 4
  215.             BOOLEAN002 = 1
  216.         Case "Q"
  217.             Goto LABEL006
  218.     End Select
  219.     Goto LABEL004
  220.     :LABEL005
  221.     BOOLEAN002 = 0
  222.     FGet 1, INTEGER002
  223.     If (INTEGER007 == INTEGER002) Then
  224.         DOUBLE004 = DOUBLE004 + 1
  225.         Cls
  226.         AnsiPos 1, 4
  227.         Print "@X0B100% percent Correct!"
  228.         AnsiPos 1, 5
  229.         PrintLn "An additional 10 minutes added to your time"
  230.         AdjTime 10
  231.         Wait
  232.     Else
  233.         Cls
  234.         AnsiPos 1, 4
  235.         PrintLn "@X0CSorry, but that is incorrect!"
  236.         AnsiPos 1, 5
  237.         PrintLn "@X0FPlus 15 minutes is taken away from you time@BEEP@"
  238.         AdjTime -15
  239.         Wait
  240.     Endif
  241.     DOUBLE002 = DOUBLE004 / INTEGER003
  242.     INTEGER003 = INTEGER003 + 1
  243.     STRING006 = ""
  244.     FGet 1, STRING004
  245.     For INTEGER004 = 1 To 4
  246.         FGet 1, TSTRING005(INTEGER004)
  247.     Next
  248.     If (Ferr(1)) Then
  249.         Cls
  250.         AnsiPos 1, 11
  251.         PrintLn "@X0AMinutes Online : @X0B@TIMEUSED@"
  252.         AnsiPos 1, 12
  253.         PrintLn "@X0CTotal Time Left : @X0F@TIMELEFT@"
  254.         AnsiPos 1, 13
  255.         PrintLn "Final Total Points  : ", DOUBLE004 * 50
  256.         AnsiPos 1, 14
  257.         PrintLn "You have answered ", DOUBLE004, " correctly"
  258.         AnsiPos 1, 15
  259.         PrintLn "out of a total of ", INTEGER003 - 1, " questions."
  260.         AnsiPos 1, 16
  261.         INTEGER008 = DOUBLE002 * 100
  262.         PrintLn "Your current percentage is ", INTEGER008, "%"
  263.         AnsiPos 1, 17
  264.         PrintLn "@X0CThank You For Playing!"
  265.         Wait
  266.     Else
  267.         Cls
  268.         PrintLn STRING004
  269.         Newline
  270.         For INTEGER004 = 1 To 4
  271.             STRING001 = "@X0D" + String(INTEGER004)
  272.             PrintLn STRING001, "@X0B   ", TSTRING005(INTEGER004)
  273.         Next
  274.         Goto LABEL003
  275.     Endif
  276.     :LABEL006
  277.     INTEGER006 = INTEGER003 - 1
  278.     BOOLEAN002 = 0
  279.     FClose 1
  280.     Return
  281.     :LABEL007
  282.     FOpen 2, PPEPath() + "PLAYERS", 0, 2
  283.     FCreate 3, PPEPath() + "TEMP", 1, 0
  284.     If (Ferr(2)) Then
  285.         Goto LABEL009
  286.     Endif
  287.     FGet 2, STRING011
  288.     FGet 2, DOUBLE003
  289.     FGet 2, DOUBLE001
  290.     FGet 2, INTEGER005
  291.     FGet 2, STRING010
  292.     :LABEL008
  293.     If (Ferr(2)) Goto LABEL009
  294.     If (STRING008 == STRING011) Then
  295.         FPutLn 3, STRING008
  296.         FPutLn 3, DOUBLE004
  297.         FPutLn 3, DOUBLE002
  298.         FPutLn 3, INTEGER006
  299.         FPutLn 3, STRING009
  300.         STRING002 = "Y"
  301.     Else
  302.         FPutLn 3, STRING011
  303.         FPutLn 3, DOUBLE003
  304.         FPutLn 3, DOUBLE001
  305.         FPutLn 3, INTEGER005
  306.         FPutLn 3, STRING010
  307.     Endif
  308.     FGet 2, STRING011
  309.     FGet 2, DOUBLE003
  310.     FGet 2, DOUBLE001
  311.     FGet 2, INTEGER005
  312.     FGet 2, STRING010
  313.     Goto LABEL008
  314.     :LABEL009
  315.     FClose 3
  316.     FClose 2
  317.     If (STRING002 == "N") Then
  318.         FAppend 4, PPEPath() + "TEMP", 2, 3
  319.         FPutLn 4, STRING008
  320.         FPutLn 4, DOUBLE004
  321.         FPutLn 4, DOUBLE002
  322.         FPutLn 4, INTEGER006
  323.         FPutLn 4, STRING009
  324.         FClose 4
  325.     Endif
  326.     Copy PPEPath() + "TEMP", PPEPath() + "PLAYERS"
  327.     Delete PPEPath() + "TEMP"
  328.     STRING002 = "N"
  329.     Return
  330.     :LABEL010
  331.     STRING008 = U_Name()
  332.     STRING009 = Date()
  333.     GetUser
  334.     FOpen 2, PPEPath() + "PLAYERS", 0, 2
  335.     Frewind 2
  336.     If (Ferr(2)) Then
  337.         FClose 2
  338.         Return
  339.     Endif
  340.     :LABEL011
  341.     If (Ferr(2)) Goto LABEL012
  342.     FGet 2, STRING011
  343.     FGet 2, DOUBLE003
  344.     FGet 2, DOUBLE001
  345.     FGet 2, INTEGER005
  346.     FGet 2, STRING010
  347.     If (STRING008 == STRING011) Then
  348.         STRING008 = STRING011
  349.         DOUBLE004 = DOUBLE003
  350.         DOUBLE002 = DOUBLE001
  351.         INTEGER006 = INTEGER005
  352.     Endif
  353.     Goto LABEL011
  354.     :LABEL012
  355.     FClose 2
  356.     STRING010 = STRING009
  357.     Return
  358.     End
  359.     :LABEL013
  360.     Tokenize U_Name()
  361.     STRING007 = GetToken()
  362.     STRING007 = Left(STRING007, 1) + Lower(Right(STRING007, Len(STRING007) - 1))
  363.     Return
  364.     End
  365.     :LABEL014
  366.     STRING012 = "@X09"
  367.     STRING013 = "@X0A"
  368.     STRING014 = "@X0B"
  369.     STRING015 = "@X0C"
  370.     STRING016 = "@X0D"
  371.     STRING017 = "@X0E"
  372.     STRING018 = "@X0F"
  373.     STRING022 = ""
  374.     BOOLEAN005 = 0
  375.     BOOLEAN006 = 0
  376.     Cls
  377.     DispFile PPEPath() + "SYSOPG", 2 + 1 + 4
  378.     Print "@X0B@X0DEnter @X0AA@X0D, @X0AE@X0D, or @X0AQ@X07"
  379.     :LABEL015
  380.     If (BOOLEAN005) Goto LABEL016
  381.     STRING022 = ""
  382.     STRING022 = Inkey()
  383.     STRING022 = Upper(STRING022)
  384.     Select Case (STRING022)
  385.         Case "A"
  386.             Gosub LABEL017
  387.             BOOLEAN005 = 1
  388.         Case "E"
  389.             Gosub LABEL021
  390.             BOOLEAN005 = 1
  391.         Case "R"
  392.             Delete PPEPath() + "MOVIEG"
  393.             Delete PPEPath() + "players."
  394.             Delete PPEPath() + "SCORES"
  395.             INTEGER006 = 0
  396.             INTEGER003 = 0
  397.             DOUBLE004 = 0
  398.             INTEGER008 = 1
  399.             DOUBLE001 = 1
  400.             DOUBLE002 = 1
  401.         Case "Q"
  402.             BOOLEAN005 = 1
  403.     End Select
  404.     STRING022 = ""
  405.     Goto LABEL015
  406.     :LABEL016
  407.     Return
  408.     BOOLEAN005 = 0
  409.     End
  410.     :LABEL017
  411.     Cls
  412.     STRING022 = ""
  413.     AnsiPos 1, 5
  414.     PrintLn "@X0BEnter Question to Be Asked Below@X07"
  415.     AnsiPos 1, 6
  416.     Input "", STRING019
  417.     STRING019 = STRING013 + STRING019
  418.     For INTEGER009 = 1 To 4
  419.         AnsiPos 1, 6 + INTEGER009
  420.         InputStr "Enter Choice No. : " + String(INTEGER009), TSTRING020(INTEGER009), 11, 30, Mask_Ascii(), 2 + 4 + 64
  421.         TSTRING020(INTEGER009) = STRING014 + TSTRING020(INTEGER009)
  422.     Next
  423.     AnsiPos 1, 13
  424.     InputStr "Enter Correct Answer # for Multiple Choice ", STRING021, 11, 1, Mask_Ascii(), 2 + 4 + 64
  425.     Gosub LABEL018
  426.     STRING022 = ""
  427.     Return
  428.     :LABEL018
  429.     STRING022 = ""
  430.     BOOLEAN006 = 0
  431.     PROC001()
  432.     :LABEL019
  433.     If (BOOLEAN006) Goto LABEL020
  434.     STRING022 = Inkey()
  435.     STRING022 = Upper(STRING022)
  436.     Select Case (STRING022)
  437.         Case "M"
  438.             Cls
  439.             AnsiPos 1, 5
  440.             STRING019 = ""
  441.             PrintLn "@X0BEnter Question to Be Asked Below@X07"
  442.             Input "", STRING019
  443.             STRING019 = STRING013 + STRING019
  444.             PROC001()
  445.         Case "1"
  446.             Cls
  447.             AnsiPos 1, 5
  448.             TSTRING020(1) = ""
  449.             InputStr "Enter Choice No. 1 ", TSTRING020(1), 11, 30, Mask_Ascii(), 2 + 4 + 64
  450.             TSTRING020(1) = STRING014 + TSTRING020(1)
  451.             PROC001()
  452.         Case "2"
  453.             Cls
  454.             AnsiPos 1, 5
  455.             TSTRING020(2) = ""
  456.             InputStr "Enter Choice No. 2 ", TSTRING020(2), 11, 30, Mask_Ascii(), 2 + 4 + 64
  457.             TSTRING020(2) = STRING014 + TSTRING020(2)
  458.             PROC001()
  459.         Case "3"
  460.             Cls
  461.             AnsiPos 1, 5
  462.             TSTRING020(3) = ""
  463.             InputStr "Enter Choice No. 3 ", TSTRING020(3), 11, 30, Mask_Ascii(), 2 + 4 + 64
  464.             TSTRING020(3) = STRING014 + TSTRING020(3)
  465.             PROC001()
  466.         Case "4"
  467.             Cls
  468.             AnsiPos 1, 5
  469.             TSTRING020(4) = ""
  470.             InputStr "Enter Choice No. 4 ", TSTRING020(4), 11, 30, Mask_Ascii(), 2 + 4 + 64
  471.             TSTRING020(4) = STRING014 + TSTRING020(4)
  472.             PROC001()
  473.         Case "#"
  474.             Cls
  475.             AnsiPos 1, 5
  476.             STRING021 = ""
  477.             InputStr "Enter Correct Answer # for Multiple Choice ", STRING021, 11, 1, Mask_Ascii(), 2 + 4 + 64
  478.             PROC001()
  479.         Case "S"
  480.             FAppend 1, PPEPath() + "QDATA", 2, 3
  481.             FPutLn 1, STRING019
  482.             For INTEGER009 = 1 To 4
  483.                 FPutLn 1, TSTRING020(INTEGER009)
  484.             Next
  485.             FPutLn 1, STRING021
  486.             FClose 1
  487.             BOOLEAN006 = 1
  488.         Case "A"
  489.             BOOLEAN006 = 1
  490.     End Select
  491.     Goto LABEL019
  492.     :LABEL020
  493.     BOOLEAN006 = 0
  494.     STRING022 = ""
  495.     Return
  496.     :LABEL021
  497.     FOpen 1, PPEPath() + "QDATA", 0, 2
  498.     Frewind 1
  499.     FClose 1
  500.     Return
  501.     End
  502.  
  503. ;------------------------------------------------------------------------------
  504.  
  505.     Procedure PROC001()
  506.  
  507.     Cls
  508.     AnsiPos 5, 1
  509.     PrintLn STRING014 + STRING019
  510.     For INTEGER009 = 1 To 4
  511.         AnsiPos 5, 2 + INTEGER009
  512.         PrintLn STRING014 + String(INTEGER009) + "  " + TSTRING020(INTEGER009)
  513.     Next
  514.     AnsiPos 5, 8
  515.     Print STRING014 + STRING021
  516.     AnsiPos 5, 10
  517.     PrintLn "@X0DEnter @X0AM @X0Dto change question @X07"
  518.     AnsiPos 5, 11
  519.     PrintLn "@X0DEnter @X0A1 @X0Dto change choice No. 1@X07"
  520.     AnsiPos 5, 12
  521.     PrintLn "@X0DEnter @X0A2 @X0Dto change choice No. 2@X07"
  522.     AnsiPos 5, 13
  523.     PrintLn "@X0DEnter @X0A3 @X0Dto change choice No. 3@X07"
  524.     AnsiPos 5, 14
  525.     PrintLn "@X0DEnter @X0A4 @X0Dto change choice No. 4@X07"
  526.     AnsiPos 5, 15
  527.     PrintLn "@X0DEnter @X0A# @X0Dto change correct answer choice @X07"
  528.     AnsiPos 5, 16
  529.     PrintLn "@X0CEnter @X0FS @X0Cto Save @X0A-or- @X0CEnter @X0FA @X0Cto Abort @X07"
  530.     AnsiPos 5, 17
  531.     Print "@X0EEnter Command@X0F"
  532.  
  533.     EndProc
  534.  
  535.     :LABEL022
  536.     STRING027 = STRING008
  537.     INTEGER017 = DOUBLE004
  538.     INTEGER018 = DOUBLE002 * 100
  539.     INTEGER011 = INTEGER006
  540.     STRING028 = STRING009
  541.     BOOLEAN007 = 0
  542.     INTEGER021 = DOUBLE004 * 50
  543.     INTEGER020 = 0
  544.     For INTEGER025 = 1 To 10
  545.         TSTRING023(INTEGER025) = ""
  546.         TINTEGER013(INTEGER025) = 0
  547.         TINTEGER014(INTEGER025) = 0
  548.         TINTEGER010(INTEGER025) = -99
  549.         TSTRING024(INTEGER025) = "99-99-99"
  550.         TINTEGER019(INTEGER025) = 0
  551.     Next
  552.     FOpen 1, PPEPath() + "SCORES", 0, 2
  553.     If (Ferr(1)) Then
  554.         Gosub LABEL023
  555.         If (INTEGER021 > 0) Then
  556.             Gosub LABEL024
  557.         Endif
  558.         Return
  559.     Endif
  560.     Frewind 1
  561.     For INTEGER022 = 1 To 10
  562.         FGet 1, TSTRING023(INTEGER022)
  563.         FGet 1, TINTEGER013(INTEGER022)
  564.         FGet 1, TINTEGER014(INTEGER022)
  565.         FGet 1, TINTEGER010(INTEGER022)
  566.         FGet 1, TSTRING024(INTEGER022)
  567.         FGet 1, TINTEGER019(INTEGER022)
  568.         If (TSTRING023(INTEGER022) == STRING027) Then
  569.             BOOLEAN007 = 1
  570.         Endif
  571.         If (BOOLEAN007) Then
  572.             If (TINTEGER019(INTEGER022) <= INTEGER021) Then
  573.                 TSTRING023(INTEGER022) = ""
  574.                 TINTEGER013(INTEGER022) = 0
  575.                 TINTEGER014(INTEGER022) = 0
  576.                 TINTEGER010(INTEGER022) = -99
  577.                 TSTRING024(INTEGER022) = "99-99-99"
  578.                 TINTEGER019(INTEGER022) = -1
  579.             Endif
  580.             BOOLEAN007 = 0
  581.         Endif
  582.     Next
  583.     FClose 1
  584.     For INTEGER023 = 1 To 10
  585.         If (INTEGER021 > TINTEGER019(INTEGER023)) Then
  586.             STRING025 = STRING027
  587.             INTEGER015 = INTEGER017
  588.             INTEGER016 = INTEGER018
  589.             INTEGER012 = INTEGER011
  590.             STRING026 = STRING028
  591.             INTEGER020 = INTEGER021
  592.             STRING027 = TSTRING023(INTEGER023)
  593.             INTEGER017 = TINTEGER013(INTEGER023)
  594.             INTEGER018 = TINTEGER014(INTEGER023)
  595.             INTEGER011 = TINTEGER010(INTEGER023)
  596.             STRING028 = TSTRING024(INTEGER023)
  597.             INTEGER021 = TINTEGER019(INTEGER023)
  598.             TSTRING023(INTEGER023) = STRING025
  599.             TINTEGER013(INTEGER023) = INTEGER015
  600.             TINTEGER014(INTEGER023) = INTEGER016
  601.             TINTEGER010(INTEGER023) = INTEGER012
  602.             TSTRING024(INTEGER023) = STRING026
  603.             TINTEGER019(INTEGER023) = INTEGER020
  604.         Endif
  605.     Next
  606.     FCreate 3, PPEPath() + "SCORES", 1, 0
  607.     For INTEGER024 = 1 To 10
  608.         FPutLn 3, TSTRING023(INTEGER024)
  609.         FPutLn 3, TINTEGER013(INTEGER024)
  610.         FPutLn 3, TINTEGER014(INTEGER024)
  611.         FPutLn 3, TINTEGER010(INTEGER024)
  612.         FPutLn 3, TSTRING024(INTEGER024)
  613.         FPutLn 3, TINTEGER019(INTEGER024)
  614.     Next
  615.     FClose 3
  616.     Gosub LABEL024
  617.     Return
  618.     End
  619.     :LABEL023
  620.     If (INTEGER021 <= 0) Then
  621.         Return
  622.     Endif
  623.     FCreate 2, PPEPath() + "SCORES", 1, 0
  624.     TSTRING023(1) = STRING027
  625.     TINTEGER013(1) = INTEGER017
  626.     TINTEGER014(1) = INTEGER018
  627.     TINTEGER010(1) = INTEGER011
  628.     TSTRING024(1) = STRING028
  629.     TINTEGER019(1) = INTEGER021
  630.     For INTEGER024 = 1 To 10
  631.         FPutLn 2, TSTRING023(INTEGER024)
  632.         FPutLn 2, TINTEGER013(INTEGER024)
  633.         FPutLn 2, TINTEGER014(INTEGER024)
  634.         FPutLn 2, TINTEGER010(INTEGER024)
  635.         FPutLn 2, TSTRING024(INTEGER024)
  636.         FPutLn 2, TINTEGER019(INTEGER024)
  637.     Next
  638.     FClose 2
  639.     Return
  640.     :LABEL024
  641.     FCreate 5, PPEPath() + "MOVIEG", 1, 0
  642.     FPutLn 5, "@CLS@@X0D┌─────────────────────────────────────────────────────────────────────────────┐@X07"
  643.     FPutLn 5, "@X0D│        @X0B            Pepster's Movie Time Trivia Ver 1.00                     @X0D│@X07"
  644.     FPutLn 5, "@X0D│                                                                             │@X07"
  645.     FPutLn 5, "@X0D│  @X0EDate           @X0BPlayer's                @X0ATotal           @X0FPercent     @X0C# of    @X0D│@X07"
  646.     FPutLn 5, "@X0D│  @X0EPlayed         @X0BName                    @X0APoints          @X0FCorrect     @X0CQuest.  @X0D│@X07"
  647.     FPutLn 5, "@X0D│                                                                             │@X07"
  648.     For INTEGER024 = 1 To 10
  649.         If (TINTEGER010(INTEGER024) <> -99) Then
  650.             FPutPad 5, "@X0D│@X0E", -11
  651.             FPutPad 5, TSTRING024(INTEGER024), -15
  652.             FPutPad 5, "@X0B", 4
  653.             FPutPad 5, TSTRING023(INTEGER024), -23
  654.             FPutPad 5, "@X0A", 4
  655.             FPutPad 5, TINTEGER019(INTEGER024), 5
  656.             FPutPad 5, "@X0F", 4
  657.             FPutPad 5, TINTEGER014(INTEGER024), 16
  658.             FPutPad 5, "%@X0C", 5
  659.             FPutPad 5, TINTEGER010(INTEGER024), 10
  660.             FPutLn 5, "@X0D     │@X07"
  661.         Endif
  662.     Next
  663.     FPutLn 5, "@X0D│                                                                             │@X07"
  664.     FPutLn 5, "@X0D│                          @X0APepster's Top Ten Royality                         @X0D│@X07"
  665.     FPutLn 5, "@X0D└─────────────────────────────────────────────────────────────────────────────┘@X07"
  666.     FClose 5
  667.     Return
  668.     End
  669.  
  670. ;------------------------------------------------------------------------------
  671. ;
  672. ; Usage report (before postprocessing)
  673. ;
  674. ; ■ Statements used :
  675. ;
  676. ;    7       End
  677. ;    23      Cls
  678. ;    6       Wait
  679. ;    108     Goto 
  680. ;    174     Let 
  681. ;    5       Print 
  682. ;    32      PrintLn 
  683. ;    62      If 
  684. ;    10      DispFile 
  685. ;    2       Input 
  686. ;    4       FCreate 
  687. ;    5       FOpen 
  688. ;    2       FAppend 
  689. ;    12      FClose 
  690. ;    29      FGet 
  691. ;    40      FPutLn 
  692. ;    10      FPutPad 
  693. ;    1       GetUser
  694. ;    4       Delete 
  695. ;    2       AdjTime 
  696. ;    7       InputStr 
  697. ;    12      Gosub 
  698. ;    15      Return
  699. ;    4       Newline
  700. ;    1       Tokenize 
  701. ;    1       Goodbye
  702. ;    39      AnsiPos 
  703. ;    4       Frewind 
  704. ;    1       Copy 
  705. ;    1       EndProc
  706. ;
  707. ;
  708. ; ■ Functions used :
  709. ;
  710. ;    8       -
  711. ;    6       *
  712. ;    1       /
  713. ;    96      +
  714. ;    4       -
  715. ;    27      ==
  716. ;    2       <>
  717. ;    15      <
  718. ;    17      <=
  719. ;    2       >
  720. ;    31      >=
  721. ;    62      !
  722. ;    30      &&
  723. ;    15      ||
  724. ;    1       Len(
  725. ;    1       Lower()
  726. ;    4       Upper()
  727. ;    1       Left()
  728. ;    1       Right()
  729. ;    8       Ferr()
  730. ;    1       Date()
  731. ;    2       U_Name()
  732. ;    4       Inkey()
  733. ;    4       String()
  734. ;    7       Mask_Ascii()
  735. ;    27      PPEPath()
  736. ;    1       CurSec()
  737. ;    1       GetToken()
  738. ;
  739. ;------------------------------------------------------------------------------
  740. ;
  741. ; Analysis flags : A
  742. ;
  743. ; A - Adjust online time remaining ■ 5
  744. ;     Program modify the amount of online time remaining, this may
  745. ;     be a way to bypass time limits
  746. ;     ■ Search for : ADJTIME
  747. ;
  748. ;------------------------------------------------------------------------------
  749. ;
  750. ; Postprocessing report
  751. ;
  752. ;    15      For/Next
  753. ;    1       While/EndWhile
  754. ;    22      If/Then or If/Then/Else
  755. ;    3       Select Case
  756. ;
  757. ;------------------------------------------------------------------------------
  758. ;                 AEGiS Corp - Break the routines, code against the machines!
  759. ;------------------------------------------------------------------------------
  760.