home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / TWRL_100.ZIP / TWIRL.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-05-29  |  3KB  |  241 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.     String   STRING001
  22.     String   STRING002
  23.     String   STRING003
  24.     String   STRING004
  25.     String   STRING005
  26.     String   STRING006
  27.     Byte     BYTE001
  28.     Int      INT001
  29.     Int      INT002
  30.     Int      INT003
  31.     Int      INT004
  32.     Int      INT005
  33.     Int      INT006
  34.     Int      INT007
  35.     Int      INT008
  36.     Int      INT009
  37.     Int      INT010
  38.     Int      INT011
  39.     Int      INT012
  40.     Declare  Procedure PROC001()
  41.     Declare  Procedure PROC002()
  42.  
  43. ;------------------------------------------------------------------------------
  44.  
  45.     PROC001()
  46.     PROC002()
  47.     KbdStuff Upper(STRING001)
  48.     End
  49.  
  50. ;------------------------------------------------------------------------------
  51.  
  52.     Procedure PROC001()
  53.  
  54.     GetUser
  55.     BOOLEAN002 = 0
  56.     STRING006 = TokenStr()
  57.     Tokenize STRING006
  58.     Print ""
  59.     If (!(GetX() == 1)) Newline
  60.     STRING003 = PPEPath() + GetToken()
  61.     INT009 = S2I(GetToken(), 10)
  62.     INT010 = S2I(GetToken(), 10)
  63.     If (INT009 == -1) BOOLEAN002 = 1
  64.     If (INT009 > 255) INT009 = 255
  65.     If (INT009 < 1) INT009 = 1
  66.     DispFile STRING003, 0 + 4
  67.     Print ""
  68.     STRING001 = ""
  69.     If ((INT010 > 4) || (INT010 < 1)) Then
  70.         INT011 = 1
  71.         While (((1 < 0) && (INT011 >= Random((U_TimeOn() + Sec(0) + Hour(0)) * 3.14) + 3)) || ((1 >= 0) && (INT011 <= Random((U_TimeOn() + Sec(0) + Hour(0)) * 3.14) + 3))) Do
  72.             INT012 = Random((U_TimeOn() + Sec(0) + Hour(0)) * 6.66) + 1
  73.             INT011 = INT011 + 1
  74.         EndWhile
  75.         INT010 = Random(2) + 1
  76.     Endif
  77.     Select Case (INT010)
  78.         Case 1
  79.             STRING002 = "│/─\"
  80.         Case 2
  81.             STRING002 = "░▒▓█▓▒"
  82.         Case 3
  83.             STRING002 = "▌▀▐▄"
  84.         Case 4
  85.             STRING002 = ""
  86.     End Select
  87.     INT003 = 0
  88.     INT006 = 1
  89.     STRING004 = "@X08"
  90.     BOOLEAN001 = 0
  91.     INT008 = U_PageLen
  92.     INT001 = GetX()
  93.     INT002 = GetY()
  94.     INT007 = INT002
  95.     INT004 = INT001
  96.     INT005 = 80
  97.  
  98.     EndProc
  99.  
  100.  
  101. ;------------------------------------------------------------------------------
  102.  
  103.     Procedure PROC002()
  104.  
  105.     :LABEL001
  106.     If (BOOLEAN001) Goto LABEL003
  107.     INT003 = INT003 + 1
  108.     If (INT003 > Len(STRING002)) INT003 = 1
  109.     AnsiPos INT001, INT002
  110.     Print STRING004 + Mid(STRING002, INT003, 1)
  111.     AnsiPos INT001, INT002
  112.     BYTE001 = Asc(Inkey())
  113.     If (BYTE001 == 27) Then
  114.         AnsiPos INT001, INT002
  115.         Print " "
  116.     Endif
  117.     If (BYTE001 == 13) BOOLEAN001 = 1
  118.     If (BYTE001 == 8) Then
  119.         If (Len(STRING001) >= 1) Then
  120.             AnsiPos INT001, INT002
  121.             Print " "
  122.             STRING001 = Left(STRING001, Len(STRING001) - 1)
  123.             INT001 = INT001 - 1
  124.             If (INT001 == 0) Then
  125.                 INT001 = 79
  126.                 INT002 = INT002 - 1
  127.                 If (INT002 < 1) INT002 = 1
  128.             Endif
  129.             If (STRING001 == 79 - INT001) Then
  130.                 INT002 = INT007
  131.                 Goto LABEL002
  132.             Endif
  133.             If (STRING001 == 79 * 2 - INT001) Then
  134.                 INT002 = INT007 + 1
  135.                 Goto LABEL002
  136.             Endif
  137.             If (STRING001 == 79 * 3 - INT001) Then
  138.                 INT002 = INT007 + 2
  139.             Endif
  140.         Endif
  141.         :LABEL002
  142.     Else
  143.         If (!(BYTE001 == 0) && (Len(STRING001) < INT009)) Then
  144.             STRING001 = STRING001 + Chr(BYTE001)
  145.             AnsiPos INT001, INT002
  146.             DefColor
  147.             Print Chr(BYTE001)
  148.             INT001 = INT001 + 1
  149.             If (INT001 == 80) Then
  150.                 INT002 = INT002 + 1
  151.                 INT001 = 1
  152.                 If (INT002 > INT008) Then
  153.                     STRING005 = ScrText(1, 1, 80, 1)
  154.                     Newline
  155.                     If (!(ScrText(1, 1, 80, 1) == STRING005)) INT007 = INT007 - 1
  156.                 Endif
  157.             Endif
  158.         Endif
  159.     Endif
  160.     If ((Len(STRING001) > 0) && BOOLEAN002) BOOLEAN001 = 1
  161.     Goto LABEL001
  162.     :LABEL003
  163.     AnsiPos INT001 - 1, INT002
  164.     Print "   "
  165.     AnsiPos INT001 - 1, INT002
  166.     Print ""
  167.  
  168.     EndProc
  169.  
  170.  
  171. ;------------------------------------------------------------------------------
  172. ;
  173. ; Usage report (before postprocessing)
  174. ;
  175. ; ■ Statements used :
  176. ;
  177. ;    1       End
  178. ;    25      Goto 
  179. ;    46      Let 
  180. ;    8       Print 
  181. ;    26      If 
  182. ;    1       DispFile 
  183. ;    1       GetUser
  184. ;    1       DefColor
  185. ;    2       Newline
  186. ;    1       Tokenize 
  187. ;    1       KbdStuff 
  188. ;    7       AnsiPos 
  189. ;    2       EndProc
  190. ;
  191. ;
  192. ; ■ Functions used :
  193. ;
  194. ;    1       -
  195. ;    5       *
  196. ;    20      +
  197. ;    9       -
  198. ;    16      ==
  199. ;    5       <
  200. ;    1       <=
  201. ;    5       >
  202. ;    3       >=
  203. ;    20      !
  204. ;    4       &&
  205. ;    2       ||
  206. ;    5       Len(
  207. ;    1       Upper()
  208. ;    1       Mid()
  209. ;    1       Left()
  210. ;    2       Chr()
  211. ;    1       Asc()
  212. ;    4       Random()
  213. ;    3       U_TimeOn()
  214. ;    3       Hour()
  215. ;    3       Sec()
  216. ;    1       Inkey()
  217. ;    1       PPEPath()
  218. ;    3       GetToken()
  219. ;    2       S2I()
  220. ;    1       TokenStr()
  221. ;    2       GetX()
  222. ;    1       GetY()
  223. ;    2       ScrText()
  224. ;
  225. ;------------------------------------------------------------------------------
  226. ;
  227. ; Analysis flags : No flag
  228. ;
  229. ;------------------------------------------------------------------------------
  230. ;
  231. ; Postprocessing report
  232. ;
  233. ;    0       For/Next
  234. ;    1       While/EndWhile
  235. ;    11      If/Then or If/Then/Else
  236. ;    1       Select Case
  237. ;
  238. ;------------------------------------------------------------------------------
  239. ;                 AEGiS Corp - Break the routines, code against the machines!
  240. ;------------------------------------------------------------------------------
  241.