home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
MPS_CP25.ZIP
/
COOLPMPT.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-02-27
|
11KB
|
531 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 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
;------------------------------------------------------------------------------
INTEGER005 = 2
STRING008 = STRING005 + Chr(INTEGER005 + 65)
INTEGER005 = 14
STRING008 = STRING008 + Chr(INTEGER005 + 97)
INTEGER005 = 14
STRING008 = STRING008 + Chr(INTEGER005 + 97)
INTEGER005 = 11
STRING008 = STRING008 + Chr(INTEGER005 + 97)
INTEGER005 = 15
STRING008 = STRING008 + Chr(INTEGER005 + 65)
INTEGER005 = 17
STRING008 = STRING008 + Chr(INTEGER005 + 97)
INTEGER005 = 14
STRING008 = STRING008 + Chr(INTEGER005 + 97)
INTEGER005 = 12
STRING008 = STRING008 + Chr(INTEGER005 + 97)
INTEGER005 = 15
STRING008 = STRING008 + Chr(INTEGER005 + 97)
INTEGER005 = 19
STRING008 = STRING008 + Chr(INTEGER005 + 97)
INTEGER005 = 18
STRING008 = STRING008 + Chr(INTEGER005 + 97)
STRING008 = STRING008 + " "
INTEGER005 = 21
STRING008 = STRING008 + Chr(INTEGER005 + 97)
INTEGER005 = 2
STRING008 = STRING008 + String(INTEGER005) + "."
INTEGER005 = 5
STRING008 = STRING008 + String(INTEGER005)
STRING008 = STRING008 + " "
INTEGER005 = 1
STRING008 = STRING008 + Chr(INTEGER005 + 97)
INTEGER005 = 24
STRING008 = STRING008 + Chr(INTEGER005 + 97)
STRING008 = STRING008 + " "
INTEGER005 = 12
STRING008 = STRING008 + Chr(INTEGER005 + 65)
INTEGER005 = 15
STRING008 = STRING008 + Chr(INTEGER005 + 65)
INTEGER005 = 18
STRING008 = STRING008 + Chr(INTEGER005 + 65)
INTEGER005 = 64
STRING009 = Chr(INTEGER005)
INTEGER005 = 88
STRING009 = STRING009 + Chr(INTEGER005)
INTEGER005 = 48
STRING009 = STRING009 + Chr(INTEGER005)
STRING002 = ReadLine(PPEPath() + "COOLPMPT.CFG", 1)
STRING010 = ReadLine(PPEPath() + "COOLPMPT.CFG", 3)
INTEGER001 = ReadLine(PPEPath() + "COOLPMPT.CFG", 2)
STRING011 = ReadLine(PPEPath() + "COOLPMPT.CFG", 4)
INTEGER002 = ReadLine(PPEPath() + "COOLPMPT.CFG", 6)
INTEGER003 = ReadLine(PPEPath() + "COOLPMPT.CFG", 7) * 250
INTEGER005 = 0
If (STRING002 == "COOLPMPT.LST") Then
While ((STRING002 <> "") && (INTEGER005 < 4)) Do
INTEGER005 = INTEGER005 + 1
STRING002 = ReadLine(PPEPath() + "COOLPMPT.LST", INTEGER005)
EndWhile
INTEGER005 = INTEGER005 - 2
INTEGER004 = Random(INTEGER005)
INTEGER004 = Random(INTEGER005)
INTEGER004 = INTEGER004 + 1
STRING002 = ReadLine(PPEPath() + "COOLPMPT.LST", INTEGER004)
Endif
If (Left(STRING002, 4) == "LEFT") Then
STRING010 = "LEFT"
STRING002 = Mid(STRING002, 5, Len(STRING002) - 4)
Endif
If (Left(STRING002, 4) == "CENTER") Then
STRING010 = "CENTER"
STRING002 = Mid(STRING002, 7, Len(STRING002) - 6)
Endif
If (INTEGER001 == 0) INTEGER001 = GetY()
If (STRING010 == "LEFT") STRING010 = 1
If (STRING010 == "CENTER") STRING010 = 40 - ToInt(Len(STRING002) / 2)
If (STRING010 == "LEFT") BOOLEAN003 = 1
If (STRING011 == "RANDOM") Then
INTEGER004 = 0
INTEGER004 = Random(5)
Endif
If (INTEGER004 == 1) STRING011 = "19"
If (INTEGER004 == 2) STRING011 = "2A"
If (INTEGER004 == 3) STRING011 = "3B"
If (INTEGER004 == 4) STRING011 = "4C"
If (INTEGER004 == 5) STRING011 = "5D"
If (INTEGER004 == 0) STRING011 = "87"
STRING009 = "@X0"
STRING005 = STRING009 + Left(STRING011, 1)
STRING006 = STRING009 + Right(STRING011, 1)
STRING007 = STRING009 + "F"
ClrEol
If (ReadLine(PPEPath() + "COOLPMPT.CFG", 5) == "RANDOM") Then
INTEGER004 = 0
INTEGER004 = Random(5)
INTEGER004 = INTEGER004 + 1
If (INTEGER004 == 1) Goto LABEL003
If (INTEGER004 == 2) Gosub LABEL004
If (INTEGER004 == 3) Gosub LABEL008
If (INTEGER004 == 4) Gosub LABEL005
If (INTEGER004 == 5) Gosub LABEL006
If (INTEGER004 == 6) Gosub LABEL007
Else
If (ReadLine(PPEPath() + "COOLPMPT.CFG", 5) == "COOL") Gosub LABEL004
If (ReadLine(PPEPath() + "COOLPMPT.CFG", 5) == "ACID") Gosub LABEL005
If (ReadLine(PPEPath() + "COOLPMPT.CFG", 5) == "MIRROR") Gosub LABEL006
If (ReadLine(PPEPath() + "COOLPMPT.CFG", 5) == "TWIRL") Gosub LABEL008
If (ReadLine(PPEPath() + "COOLPMPT.CFG", 5) == "FLASH") Gosub LABEL007
Goto LABEL009
:LABEL001
For INTEGER006 = 1 To INTEGER002
STRING003 = Inkey()
If (STRING003 == Chr(13)) Goto LABEL009
Next
Return
:LABEL002
For INTEGER006 = 1 To INTEGER003
STRING003 = Inkey()
If (STRING003 == Chr(13)) Goto LABEL009
Next
Return
:LABEL003
If (STRING006 == "@X07") STRING006 = "@X0F"
AnsiPos STRING010, INTEGER001
Print STRING006 + STRING002 + " "
While (STRING003 <> Chr(13)) Do
STRING003 = Inkey()
EndWhile
Goto LABEL009
:LABEL004
If (INTEGER003 <> 0) Then
AnsiPos STRING010, INTEGER001
Print STRING005 + STRING002
Gosub LABEL002
Else
AnsiPos STRING010, INTEGER001
Print STRING005 + STRING002
Endif
While (STRING003 <> Chr(13)) Do
AnsiPos STRING010, INTEGER001
STRING004 = STRING007 + Mid(STRING002, 1, 1) + STRING006 + Mid(STRING002, 2, 1) + STRING005 + Mid(STRING002, 3, 1)
Print STRING004
Gosub LABEL001
INTEGER004 = 1
While (((1 < 0) && (INTEGER004 >= Len(STRING002) - 2)) || ((1 >= 0) && (INTEGER004 <= Len(STRING002) - 2))) Do
STRING003 = Inkey()
If (STRING003 == Chr(13)) Goto LABEL009
STRING004 = STRING006 + Mid(STRING002, INTEGER004, 1) + STRING007 + Mid(STRING002, INTEGER004 + 1, 1) + STRING006 + Mid(STRING002, INTEGER004 + 2, 1)
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010 - 1 + INTEGER004 - 1, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING005 + Mid(STRING002, INTEGER004 - 1, 1)
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010 - 1 + INTEGER004, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING004
If (STRING003 == Chr(13)) Goto LABEL009
Gosub LABEL001
INTEGER004 = INTEGER004 + 1
EndWhile
For INTEGER004 = Len(STRING002) To 1 Step -1
STRING003 = Inkey()
If (STRING003 == Chr(13)) Goto LABEL009
STRING004 = STRING006 + Mid(STRING002, INTEGER004, 1) + STRING007 + Mid(STRING002, INTEGER004 + 1, 1) + STRING006 + Mid(STRING002, INTEGER004 + 2, 1)
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010 - 1 + INTEGER004, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING004
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING005 + Mid(STRING002, INTEGER004 + 3, 1)
If (STRING003 == Chr(13)) Goto LABEL009
Gosub LABEL001
Next
STRING004 = STRING006 + Mid(STRING002, 1, 1) + STRING007 + Mid(STRING002, 2, 1) + STRING006 + Mid(STRING002, 3, 1)
AnsiPos STRING010, INTEGER001
Print STRING004
EndWhile
Return
:LABEL005
If (INTEGER003 <> 0) Then
AnsiPos STRING010, INTEGER001
Print STRING005 + STRING002
Gosub LABEL002
Else
AnsiPos STRING010, INTEGER001
Print STRING005 + STRING002
Endif
STRING011 = 0
While (STRING003 <> Chr(13)) Do
AnsiPos STRING010, INTEGER001
Print STRING007 + Mid(STRING002, 1, 1) + STRING006 + Mid(STRING002, 2, 1)
INTEGER004 = 1
While (((1 < 0) && (INTEGER004 >= Len(STRING002) - 1)) || ((1 >= 0) && (INTEGER004 <= Len(STRING002) - 1))) Do
STRING003 = Inkey()
If (STRING003 == Chr(13)) Goto LABEL009
If ((STRING011 == 0) && (INTEGER004 == 1)) Then
AnsiPos STRING010 - 1 + INTEGER004 + 2, INTEGER001
Print STRING006 + Mid(STRING002, INTEGER004 + 2, 1)
Endif
AnsiPos STRING010 - 1 + INTEGER004 + 3, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING006 + Mid(STRING002, INTEGER004 + 3, 1)
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010 - 1 + INTEGER004 + 1, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING007 + Mid(STRING002, INTEGER004 + 1, 1)
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010 - 1 + INTEGER004, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING006 + Mid(STRING002, INTEGER004, 1)
If (INTEGER004 > 2) Then
AnsiPos STRING010 - 1 + INTEGER004 - 2, INTEGER001
Print STRING005 + Mid(STRING002, INTEGER004 - 2, 1)
Endif
If (STRING003 == Chr(13)) Goto LABEL009
Gosub LABEL001
INTEGER004 = INTEGER004 + 1
EndWhile
For INTEGER004 = Len(STRING002) To 2 Step -1
STRING003 = Inkey()
If (STRING003 == Chr(13)) Goto LABEL009
If (INTEGER004 > 3) Then
AnsiPos STRING010 - 1 + INTEGER004 - 3, INTEGER001
Print STRING006 + Mid(STRING002, INTEGER004 - 3, 1)
Endif
AnsiPos STRING010 - 1 + INTEGER004 - 1, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING007 + Mid(STRING002, INTEGER004 - 1, 1) + STRING006 + Mid(STRING002, INTEGER004, 1)
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010 - 1 + INTEGER004 + 2, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING005 + Mid(STRING002, INTEGER004 + 2, 1)
If (STRING003 == Chr(13)) Goto LABEL009
Gosub LABEL001
Next
STRING011 = 1
EndWhile
Return
:LABEL006
If (INTEGER003 <> 0) Then
AnsiPos STRING010, INTEGER001
Print STRING005 + STRING002
Gosub LABEL002
Else
AnsiPos STRING010, INTEGER001
Print STRING005 + STRING002
Endif
INTEGER004 = 0
INTEGER005 = Len(STRING002)
STRING011 = 0
While (STRING003 <> Chr(13)) Do
If (INTEGER004 == Len(STRING002)) Then
INTEGER004 = 0
INTEGER005 = Len(STRING002)
Endif
If (INTEGER004 == 0) Then
AnsiPos STRING010, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
STRING004 = STRING007 + Mid(STRING002, 1, 1) + STRING006 + Mid(STRING002, 2, 1) + STRING005 + Mid(STRING002, 3, 1)
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING004
If (STRING003 == Chr(13)) Goto LABEL009
STRING003 = Inkey()
If (STRING003 == Chr(13)) Goto LABEL009
STRING004 = STRING006 + Mid(STRING002, INTEGER004, 1) + STRING007 + Mid(STRING002, INTEGER004 + 1, 1) + STRING006 + Mid(STRING002, INTEGER004 + 2, 1)
AnsiPos STRING010 - 1 + INTEGER004 - 1, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
If (STRING010 == 1) Then
Print STRING005 + Left(STRING002, 0)
If (STRING003 == Chr(13)) Goto LABEL009
Else
Print STRING005 + Mid(STRING002, INTEGER004 - 1, 1)
If (STRING003 == Chr(13)) Goto LABEL009
Endif
Else
STRING003 = Inkey()
If (STRING003 == Chr(13)) Goto LABEL009
STRING004 = STRING006 + Mid(STRING002, INTEGER004, 1) + STRING007 + Mid(STRING002, INTEGER004 + 1, 1) + STRING006 + Mid(STRING002, INTEGER004 + 2, 1)
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010 - 1 + INTEGER004 - 1, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING005 + Mid(STRING002, INTEGER004 - 1, 1)
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010 - 1 + INTEGER004, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING004
If (STRING003 == Chr(13)) Goto LABEL009
Endif
INTEGER004 = INTEGER004 + 1
INTEGER005 = INTEGER005 - 1
If (INTEGER004 <> ToInt(Len(STRING002) / 2)) Gosub LABEL001
If (INTEGER005 == 0) Then
STRING004 = STRING006 + Mid(STRING002, 1, 1) + STRING007 + Mid(STRING002, 2, 1) + STRING006 + Mid(STRING002, 3, 1)
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING004
If (STRING003 == Chr(13)) Goto LABEL009
Continue
Endif
STRING003 = Inkey()
If (STRING003 == Chr(13)) Goto LABEL009
STRING004 = STRING006 + Mid(STRING002, INTEGER005, 1) + STRING007 + Mid(STRING002, INTEGER005 + 1, 1) + STRING006 + Mid(STRING002, INTEGER005 + 2, 1)
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010 - 1 + INTEGER005, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING004
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING005 + Mid(STRING002, INTEGER005 + 3, 1)
If (STRING003 == Chr(13)) Goto LABEL009
EndWhile
Return
:LABEL007
If (INTEGER003 <> 0) Then
AnsiPos STRING010, INTEGER001
Print STRING005 + STRING002
Gosub LABEL002
Else
AnsiPos STRING010, INTEGER001
Print STRING005 + STRING002
Endif
INTEGER002 = INTEGER002 * 5
For INTEGER004 = 1 To Len(STRING002)
STRING003 = Inkey()
If (STRING003 == Chr(13)) Goto LABEL009
If (Upper(Mid(STRING002, INTEGER004, 5)) == "ENTER") Break
Next
While (STRING003 == "") Do
STRING003 = Inkey()
AnsiPos STRING010 + INTEGER004 - 1, INTEGER001
Print STRING006 + Mid(STRING002, INTEGER004, 5)
Gosub LABEL001
AnsiPos STRING010 + INTEGER004 - 1, INTEGER001
Print STRING005 + Mid(STRING002, INTEGER004, 5)
Gosub LABEL001
EndWhile
Return
:LABEL008
BOOLEAN001 = 1
If (STRING010 < 5) Then
STRING010 = STRING010 + 4
BOOLEAN002 = 1
Endif
AnsiPos STRING010, INTEGER001
Print STRING006 + STRING002
If (INTEGER003 <> 0) Then
AnsiPos STRING010 - 4, INTEGER001
Print STRING005 + "[" + STRING006 + "-" + STRING005 + "] "
AnsiPos STRING010 + Len(STRING002), INTEGER001
Print STRING005 + " [" + STRING006 + "-" + STRING005 + "]"
Gosub LABEL002
Else
AnsiPos STRING010 - 4, INTEGER001
Print STRING005 + "[ ] "
AnsiPos STRING010 + Len(STRING002), INTEGER001
Print STRING005 + " [ ]"
Endif
Print STRING006
While (STRING003 <> Chr(13)) Do
For INTEGER004 = 1 To 4
STRING003 = Inkey()
If (INTEGER004 == 1) Then
STRING012 = "-"
STRING013 = "-"
Endif
If (INTEGER004 == 2) Then
STRING012 = "/"
STRING013 = "\"
Endif
If (INTEGER004 == 3) Then
STRING012 = "|"
STRING013 = "|"
Endif
If (INTEGER004 == 4) Then
STRING012 = "\"
STRING013 = "/"
Endif
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010 - 3, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING012
If (STRING003 == Chr(13)) Goto LABEL009
AnsiPos STRING010 + Len(STRING002) + 2, INTEGER001
If (STRING003 == Chr(13)) Goto LABEL009
Print STRING013
If (STRING003 == Chr(13)) Goto LABEL009
Gosub LABEL001
Next
EndWhile
Return
Endif
:LABEL009
INTEGER005 = 0
If (BOOLEAN003 == 1) STRING010 = 1
If (Len(STRING002) > Len(STRING008)) Then
INTEGER005 = Len(STRING002) - Len(STRING008)
If (STRING010 > 1) Then
INTEGER005 = ToInt(INTEGER005 / 2)
For INTEGER004 = 1 To INTEGER005
STRING008 = " " + STRING008
Next
For INTEGER004 = 1 To INTEGER005 + 1
STRING008 = STRING008 + " "
Next
Goto LABEL010
Endif
If (BOOLEAN002 == 1) INTEGER005 = INTEGER005 + 8
For INTEGER004 = 1 To INTEGER005
STRING008 = STRING008 + " "
Next
Endif
:LABEL010
If (Len(STRING002) < Len(STRING008)) Then
INTEGER005 = Len(STRING008) - Len(STRING002)
AnsiPos STRING010 - ToInt(INTEGER005 / 2), INTEGER001
Else
AnsiPos STRING010, INTEGER001
Endif
PrintLn STRING008
If ((ReadLine(PPEPath() + "COOLPMPT.CFG", 8) == "YES") && ("" <> "NOLF")) PrintLn
If ((ReadLine(PPEPath() + "COOLPMPT.CFG", 9) <> "YES") && ("" <> "SA")) KbdStuff Chr(13)
STRING001 = " ■ MPS Encryption v1.0 (C)1994 ■ "
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 ClrEol
; 128 Goto
; 160 Let
; 42 Print
; 2 PrintLn
; 123 If
; 24 Gosub
; 7 Return
; 1 KbdStuff
; 40 AnsiPos
;
;
; ■ Functions used :
;
; 6 -
; 2 *
; 4 /
; 213 +
; 45 -
; 94 ==
; 15 <>
; 14 <
; 11 <=
; 4 >
; 22 >=
; 43 !
; 26 &&
; 11 ||
; 26 Len(
; 1 Upper()
; 48 Mid()
; 4 Left()
; 1 Right()
; 78 Chr()
; 4 Random()
; 13 Inkey()
; 2 String()
; 16 PPEPath()
; 16 ReadLine()
; 1 GetY()
; 4 ToInt()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 9 For/Next
; 9 While/EndWhile
; 25 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------