home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / TSCV06.ZIP / ONELINER.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-04-06  |  5KB  |  298 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 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  TINTEGER010(4)
  29.     Integer  TINTEGER011(4)
  30.     Integer  INTEGER012
  31.     Integer  INTEGER013
  32.     Integer  INTEGER014
  33.     String   STRING001
  34.     String   STRING002
  35.     String   STRING003
  36.     String   STRING004
  37.     String   STRING005
  38.     String   STRING006
  39.     String   STRING007
  40.     String   TSTRING008(4)
  41.     String   STRING009
  42.     String   STRING010
  43.     String   STRING011
  44.     String   TSTRING012(4)
  45.  
  46. ;------------------------------------------------------------------------------
  47.  
  48.     Cls
  49.     STRING001 = ReadLine(PPEPath() + "GENEREL.CFG", 3)
  50.     STRING002 = ReadLine(PPEPath() + "GENEREL.CFG", 4)
  51.     If (Upper(STRING001) == "Y") Then
  52.         Print "@QOFF@"
  53.     Endif
  54.     If (Upper(STRING002) == "Y") Then
  55.         Print "@POFF@"
  56.     Endif
  57.     DispFile PPEPath() + "ONELINER.", 0
  58.     STRING010 = ReadLine(PPEPath() + "ONELINER.INP", 6)
  59.     STRING011 = ReadLine(PPEPath() + "ONELINER.INP", 7)
  60.     For INTEGER014 = 1 To 4
  61.         STRING009 = ReadLine(PPEPath() + "ONELINER.INP", INTEGER014)
  62.         Tokenize STRING009
  63.         TSTRING008(INTEGER014) = GetToken()
  64.         If (INTEGER014 == 1) Then
  65.             Tokenize ReadLine(PPEPath() + "ONELINER.CFG", 3)
  66.             TINTEGER010(INTEGER014) = GetToken()
  67.             TINTEGER011(INTEGER014) = GetToken()
  68.         Else
  69.             TINTEGER010(INTEGER014) = TINTEGER010(INTEGER014 - 1) + Len(TSTRING008(INTEGER014 - 1)) + 2
  70.             TINTEGER011(INTEGER014) = TINTEGER011(INTEGER014 - 1)
  71.         Endif
  72.         AnsiPos TINTEGER010(INTEGER014), TINTEGER011(INTEGER014)
  73.         Print STRING010 + TSTRING008(INTEGER014)
  74.         TSTRING012(INTEGER014) = Left(TSTRING008(INTEGER014), 1)
  75.     Next
  76.     INTEGER006 = ReadLine(PPEPath() + "ONELINER.INP", 5)
  77.     AnsiPos TINTEGER010(INTEGER006), TINTEGER011(INTEGER006)
  78.     Print STRING011 + TSTRING008(INTEGER006)
  79.     STRING003 = ReadLine(PPEPath() + "ONELINER.CFG", 1)
  80.     Tokenize STRING003
  81.     INTEGER001 = GetToken()
  82.     INTEGER002 = GetToken()
  83.     INTEGER003 = GetToken()
  84.     INTEGER008 = ReadLine(PPEPath() + "ONELINER.CFG", 2)
  85.     STRING003 = ReadLine(PPEPath() + "ONELINER.CFG", 3)
  86.     Tokenize STRING003
  87.     INTEGER004 = GetToken()
  88.     INTEGER005 = GetToken()
  89.     Gosub LABEL007
  90.     :LABEL001
  91.     Gosub LABEL013
  92.     If (INTEGER006 == 3) Gosub LABEL010
  93.     If (INTEGER006 == 4) Gosub LABEL007
  94.     If (INTEGER006 == 2) Stop
  95.     If (INTEGER006 == 1) Then
  96.         AnsiPos 1, 25
  97.         PrintLn ReadLine(PPEPath() + "ONELINER.CNF", 1)
  98.         STRING005 = ""
  99.         InputStr "_", STRING005, 2, INTEGER003, Mask_Ascii(), 0
  100.         If (STRING005 == "") Goto LABEL006
  101.         PrintLn 
  102.         PrintLn ReadLine(PPEPath() + "ONELINER.CNF", 2)
  103.         FOpen 5, PPEPath() + "ONELINER.DAT", 0, 0
  104.         FCreate 4, PPEPath() + "ONELINER.$$$", 2, 3
  105.         FGet 5, STRING006
  106.         If (Upper((ReadLine(PPEPath() + "ONELINER.CNF", 3) == "Y"))) Then
  107.             FAppend 3, PPEPath() + "ONELINER.OLD", 2, 3
  108.             FPutLn 3, STRING006
  109.             FClose 3
  110.         Endif
  111.         FGet 5, STRING006
  112.         :LABEL002
  113.         If (Ferr(5)) Goto LABEL003
  114.         FPutLn 4, STRING006
  115.         FGet 5, STRING006
  116.         Goto LABEL002
  117.         :LABEL003
  118.         FClose 5
  119.         FPutLn 4, STRING005 + "@XFF"
  120.         FClose 4
  121.         Delete PPEPath() + "ONELINER.DAT"
  122.         Rename PPEPath() + "ONELINER.$$$", PPEPath() + "ONELINER.DAT"
  123.         FOpen 5, PPEPath() + "ONELINER.JOK", 0, 0
  124.         FCreate 4, PPEPath() + "ONELINER.$$$", 2, 3
  125.         FGet 5, STRING006
  126.         If (Upper((ReadLine(PPEPath() + "ONELINER.CNF", 3) == "Y"))) Then
  127.             FAppend 3, PPEPath() + "ONELINER.JOL", 2, 3
  128.             FPutLn 3, STRING006
  129.             FClose 3
  130.         Endif
  131.         FGet 5, STRING006
  132.         :LABEL004
  133.         If (Ferr(5)) Goto LABEL005
  134.         FPutLn 4, STRING006
  135.         FGet 5, STRING006
  136.         Goto LABEL004
  137.         :LABEL005
  138.         FClose 5
  139.         FPutLn 4, U_Name()
  140.         FClose 4
  141.         Delete PPEPath() + "ONELINER.JOK"
  142.         Rename PPEPath() + "ONELINER.$$$", PPEPath() + "ONELINER.JOK"
  143.         :LABEL006
  144.         Stop
  145.     Endif
  146.     Goto LABEL001
  147.     :LABEL007
  148.     INTEGER007 = -1
  149.     FOpen 5, PPEPath() + "ONELINER.DAT", 0, 0
  150.     FGet 5, STRING003
  151.     :LABEL008
  152.     If (Ferr(5)) Goto LABEL009
  153.     Inc INTEGER007
  154.     INTEGER009 = Random(14) + 1
  155.     STRING004 = ""
  156.     If (INTEGER009 < 10) Then
  157.         STRING004 = "@X0" + I2S(INTEGER009, 10)
  158.     Else
  159.         STRING004 = "@X0" + Chr(INTEGER009 + 55)
  160.     Endif
  161.     AnsiPos INTEGER001, INTEGER002 + INTEGER007
  162.     PrintLn "@X00" + STRING004 + Left(STRING003, INTEGER003) + "@XFF"
  163.     FGet 5, STRING003
  164.     If (INTEGER007 + 1 > INTEGER008) Then
  165.         Goto LABEL009
  166.     Endif
  167.     Goto LABEL008
  168.     :LABEL009
  169.     FClose 5
  170.     Return
  171.     :LABEL010
  172.     INTEGER007 = -1
  173.     FOpen 5, PPEPath() + "ONELINER.JOK", 0, 0
  174.     FGet 5, STRING003
  175.     :LABEL011
  176.     If (Ferr(5)) Goto LABEL012
  177.     Inc INTEGER007
  178.     INTEGER009 = Random(14) + 1
  179.     STRING004 = ""
  180.     If (INTEGER009 < 10) Then
  181.         STRING004 = "@X0" + I2S(INTEGER009, 10)
  182.     Else
  183.         STRING004 = "@X0" + Chr(INTEGER009 + 55)
  184.     Endif
  185.     AnsiPos INTEGER001, INTEGER002 + INTEGER007
  186.     PrintLn "@X00" + STRING004 + Left(STRING003, INTEGER003) + "@XFF"
  187.     FGet 5, STRING003
  188.     If (INTEGER007 + 1 > INTEGER008) Then
  189.         Goto LABEL012
  190.     Endif
  191.     Goto LABEL011
  192.     :LABEL012
  193.     FClose 5
  194.     Return
  195.     :LABEL013
  196.     STRING007 = Inkey()
  197.     If (STRING007 == "") Then
  198.         Goto LABEL013
  199.     Endif
  200.     If (((((((((STRING007 == "DOWN") || (STRING007 == "UP")) || (STRING007 == "LEFT")) || (STRING007 == "RIGHT")) || (STRING007 == Chr(13))) || (STRING007 == TSTRING012(1))) || (STRING007 == TSTRING012(2))) || (STRING007 == TSTRING012(3))) || (STRING007 == TSTRING012(4))) Then
  201.         INTEGER013 = INTEGER006
  202.         INTEGER012 = TINTEGER010(INTEGER006)
  203.         INTEGER012 = TINTEGER011(INTEGER006)
  204.         If (STRING007 == "DOWN") Inc INTEGER006
  205.         If (STRING007 == "UP") Dec INTEGER006
  206.         If (STRING007 == "RIGHT") Inc INTEGER006
  207.         If (STRING007 == "LEFT") Dec INTEGER006
  208.         If (STRING007 == Chr(13)) Goto LABEL014
  209.         For INTEGER014 = 1 To 4
  210.             If (Upper(STRING007) == TSTRING012(INTEGER014)) INTEGER006 = INTEGER014
  211.         Next
  212.         If (INTEGER006 > 4) INTEGER006 = 1
  213.         If (INTEGER006 < 1) INTEGER006 = 4
  214.         AnsiPos TINTEGER010(INTEGER013), TINTEGER011(INTEGER013)
  215.         Print STRING010 + TSTRING008(INTEGER013)
  216.         AnsiPos TINTEGER010(INTEGER006), TINTEGER011(INTEGER006)
  217.         Print STRING011 + TSTRING008(INTEGER006)
  218.     Endif
  219.     Goto LABEL013
  220.     :LABEL014
  221.     PrintLn STRING010
  222.     Return
  223.  
  224. ;------------------------------------------------------------------------------
  225. ;
  226. ; Usage report (before postprocessing)
  227. ;
  228. ; ■ Statements used :
  229. ;
  230. ;    1       Cls
  231. ;    34      Goto 
  232. ;    42      Let 
  233. ;    6       Print 
  234. ;    6       PrintLn 
  235. ;    30      If 
  236. ;    1       DispFile 
  237. ;    2       FCreate 
  238. ;    4       FOpen 
  239. ;    2       FAppend 
  240. ;    8       FClose 
  241. ;    10      FGet 
  242. ;    6       FPutLn 
  243. ;    2       Delete 
  244. ;    1       InputStr 
  245. ;    4       Gosub 
  246. ;    3       Return
  247. ;    4       Inc 
  248. ;    2       Dec 
  249. ;    4       Tokenize 
  250. ;    2       Stop
  251. ;    7       AnsiPos 
  252. ;    2       Rename 
  253. ;
  254. ;
  255. ; ■ Functions used :
  256. ;
  257. ;    2       -
  258. ;    56      +
  259. ;    3       -
  260. ;    26      ==
  261. ;    5       <
  262. ;    2       <=
  263. ;    3       >
  264. ;    4       >=
  265. ;    18      !
  266. ;    4       &&
  267. ;    10      ||
  268. ;    1       Len(
  269. ;    5       Upper()
  270. ;    3       Left()
  271. ;    4       Ferr()
  272. ;    4       Chr()
  273. ;    2       Random()
  274. ;    1       U_Name()
  275. ;    1       Inkey()
  276. ;    1       Mask_Ascii()
  277. ;    29      PPEPath()
  278. ;    14      ReadLine()
  279. ;    8       GetToken()
  280. ;    2       I2S()
  281. ;
  282. ;------------------------------------------------------------------------------
  283. ;
  284. ; Analysis flags : No flag
  285. ;
  286. ;------------------------------------------------------------------------------
  287. ;
  288. ; Postprocessing report
  289. ;
  290. ;    2       For/Next
  291. ;    0       While/EndWhile
  292. ;    12      If/Then or If/Then/Else
  293. ;    0       Select Case
  294. ;
  295. ;------------------------------------------------------------------------------
  296. ;                 AEGiS Corp - Break the routines, code against the machines!
  297. ;------------------------------------------------------------------------------
  298.