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 >
Wrap
PCBoard Programming Language Executable
|
1995-05-29
|
3KB
|
241 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
Byte BYTE001
Int INT001
Int INT002
Int INT003
Int INT004
Int INT005
Int INT006
Int INT007
Int INT008
Int INT009
Int INT010
Int INT011
Int INT012
Declare Procedure PROC001()
Declare Procedure PROC002()
;------------------------------------------------------------------------------
PROC001()
PROC002()
KbdStuff Upper(STRING001)
End
;------------------------------------------------------------------------------
Procedure PROC001()
GetUser
BOOLEAN002 = 0
STRING006 = TokenStr()
Tokenize STRING006
Print ""
If (!(GetX() == 1)) Newline
STRING003 = PPEPath() + GetToken()
INT009 = S2I(GetToken(), 10)
INT010 = S2I(GetToken(), 10)
If (INT009 == -1) BOOLEAN002 = 1
If (INT009 > 255) INT009 = 255
If (INT009 < 1) INT009 = 1
DispFile STRING003, 0 + 4
Print ""
STRING001 = ""
If ((INT010 > 4) || (INT010 < 1)) Then
INT011 = 1
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
INT012 = Random((U_TimeOn() + Sec(0) + Hour(0)) * 6.66) + 1
INT011 = INT011 + 1
EndWhile
INT010 = Random(2) + 1
Endif
Select Case (INT010)
Case 1
STRING002 = "│/─\"
Case 2
STRING002 = "░▒▓█▓▒"
Case 3
STRING002 = "▌▀▐▄"
Case 4
STRING002 = ""
End Select
INT003 = 0
INT006 = 1
STRING004 = "@X08"
BOOLEAN001 = 0
INT008 = U_PageLen
INT001 = GetX()
INT002 = GetY()
INT007 = INT002
INT004 = INT001
INT005 = 80
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
:LABEL001
If (BOOLEAN001) Goto LABEL003
INT003 = INT003 + 1
If (INT003 > Len(STRING002)) INT003 = 1
AnsiPos INT001, INT002
Print STRING004 + Mid(STRING002, INT003, 1)
AnsiPos INT001, INT002
BYTE001 = Asc(Inkey())
If (BYTE001 == 27) Then
AnsiPos INT001, INT002
Print " "
Endif
If (BYTE001 == 13) BOOLEAN001 = 1
If (BYTE001 == 8) Then
If (Len(STRING001) >= 1) Then
AnsiPos INT001, INT002
Print " "
STRING001 = Left(STRING001, Len(STRING001) - 1)
INT001 = INT001 - 1
If (INT001 == 0) Then
INT001 = 79
INT002 = INT002 - 1
If (INT002 < 1) INT002 = 1
Endif
If (STRING001 == 79 - INT001) Then
INT002 = INT007
Goto LABEL002
Endif
If (STRING001 == 79 * 2 - INT001) Then
INT002 = INT007 + 1
Goto LABEL002
Endif
If (STRING001 == 79 * 3 - INT001) Then
INT002 = INT007 + 2
Endif
Endif
:LABEL002
Else
If (!(BYTE001 == 0) && (Len(STRING001) < INT009)) Then
STRING001 = STRING001 + Chr(BYTE001)
AnsiPos INT001, INT002
DefColor
Print Chr(BYTE001)
INT001 = INT001 + 1
If (INT001 == 80) Then
INT002 = INT002 + 1
INT001 = 1
If (INT002 > INT008) Then
STRING005 = ScrText(1, 1, 80, 1)
Newline
If (!(ScrText(1, 1, 80, 1) == STRING005)) INT007 = INT007 - 1
Endif
Endif
Endif
Endif
If ((Len(STRING001) > 0) && BOOLEAN002) BOOLEAN001 = 1
Goto LABEL001
:LABEL003
AnsiPos INT001 - 1, INT002
Print " "
AnsiPos INT001 - 1, INT002
Print ""
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 25 Goto
; 46 Let
; 8 Print
; 26 If
; 1 DispFile
; 1 GetUser
; 1 DefColor
; 2 Newline
; 1 Tokenize
; 1 KbdStuff
; 7 AnsiPos
; 2 EndProc
;
;
; ■ Functions used :
;
; 1 -
; 5 *
; 20 +
; 9 -
; 16 ==
; 5 <
; 1 <=
; 5 >
; 3 >=
; 20 !
; 4 &&
; 2 ||
; 5 Len(
; 1 Upper()
; 1 Mid()
; 1 Left()
; 2 Chr()
; 1 Asc()
; 4 Random()
; 3 U_TimeOn()
; 3 Hour()
; 3 Sec()
; 1 Inkey()
; 1 PPEPath()
; 3 GetToken()
; 2 S2I()
; 1 TokenStr()
; 2 GetX()
; 1 GetY()
; 2 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 1 While/EndWhile
; 11 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------