home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
TSCV06.ZIP
/
ONELINER.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-04-06
|
5KB
|
298 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
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer TINTEGER010(4)
Integer TINTEGER011(4)
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String TSTRING008(4)
String STRING009
String STRING010
String STRING011
String TSTRING012(4)
;------------------------------------------------------------------------------
Cls
STRING001 = ReadLine(PPEPath() + "GENEREL.CFG", 3)
STRING002 = ReadLine(PPEPath() + "GENEREL.CFG", 4)
If (Upper(STRING001) == "Y") Then
Print "@QOFF@"
Endif
If (Upper(STRING002) == "Y") Then
Print "@POFF@"
Endif
DispFile PPEPath() + "ONELINER.", 0
STRING010 = ReadLine(PPEPath() + "ONELINER.INP", 6)
STRING011 = ReadLine(PPEPath() + "ONELINER.INP", 7)
For INTEGER014 = 1 To 4
STRING009 = ReadLine(PPEPath() + "ONELINER.INP", INTEGER014)
Tokenize STRING009
TSTRING008(INTEGER014) = GetToken()
If (INTEGER014 == 1) Then
Tokenize ReadLine(PPEPath() + "ONELINER.CFG", 3)
TINTEGER010(INTEGER014) = GetToken()
TINTEGER011(INTEGER014) = GetToken()
Else
TINTEGER010(INTEGER014) = TINTEGER010(INTEGER014 - 1) + Len(TSTRING008(INTEGER014 - 1)) + 2
TINTEGER011(INTEGER014) = TINTEGER011(INTEGER014 - 1)
Endif
AnsiPos TINTEGER010(INTEGER014), TINTEGER011(INTEGER014)
Print STRING010 + TSTRING008(INTEGER014)
TSTRING012(INTEGER014) = Left(TSTRING008(INTEGER014), 1)
Next
INTEGER006 = ReadLine(PPEPath() + "ONELINER.INP", 5)
AnsiPos TINTEGER010(INTEGER006), TINTEGER011(INTEGER006)
Print STRING011 + TSTRING008(INTEGER006)
STRING003 = ReadLine(PPEPath() + "ONELINER.CFG", 1)
Tokenize STRING003
INTEGER001 = GetToken()
INTEGER002 = GetToken()
INTEGER003 = GetToken()
INTEGER008 = ReadLine(PPEPath() + "ONELINER.CFG", 2)
STRING003 = ReadLine(PPEPath() + "ONELINER.CFG", 3)
Tokenize STRING003
INTEGER004 = GetToken()
INTEGER005 = GetToken()
Gosub LABEL007
:LABEL001
Gosub LABEL013
If (INTEGER006 == 3) Gosub LABEL010
If (INTEGER006 == 4) Gosub LABEL007
If (INTEGER006 == 2) Stop
If (INTEGER006 == 1) Then
AnsiPos 1, 25
PrintLn ReadLine(PPEPath() + "ONELINER.CNF", 1)
STRING005 = ""
InputStr "_", STRING005, 2, INTEGER003, Mask_Ascii(), 0
If (STRING005 == "") Goto LABEL006
PrintLn
PrintLn ReadLine(PPEPath() + "ONELINER.CNF", 2)
FOpen 5, PPEPath() + "ONELINER.DAT", 0, 0
FCreate 4, PPEPath() + "ONELINER.$$$", 2, 3
FGet 5, STRING006
If (Upper((ReadLine(PPEPath() + "ONELINER.CNF", 3) == "Y"))) Then
FAppend 3, PPEPath() + "ONELINER.OLD", 2, 3
FPutLn 3, STRING006
FClose 3
Endif
FGet 5, STRING006
:LABEL002
If (Ferr(5)) Goto LABEL003
FPutLn 4, STRING006
FGet 5, STRING006
Goto LABEL002
:LABEL003
FClose 5
FPutLn 4, STRING005 + "@XFF"
FClose 4
Delete PPEPath() + "ONELINER.DAT"
Rename PPEPath() + "ONELINER.$$$", PPEPath() + "ONELINER.DAT"
FOpen 5, PPEPath() + "ONELINER.JOK", 0, 0
FCreate 4, PPEPath() + "ONELINER.$$$", 2, 3
FGet 5, STRING006
If (Upper((ReadLine(PPEPath() + "ONELINER.CNF", 3) == "Y"))) Then
FAppend 3, PPEPath() + "ONELINER.JOL", 2, 3
FPutLn 3, STRING006
FClose 3
Endif
FGet 5, STRING006
:LABEL004
If (Ferr(5)) Goto LABEL005
FPutLn 4, STRING006
FGet 5, STRING006
Goto LABEL004
:LABEL005
FClose 5
FPutLn 4, U_Name()
FClose 4
Delete PPEPath() + "ONELINER.JOK"
Rename PPEPath() + "ONELINER.$$$", PPEPath() + "ONELINER.JOK"
:LABEL006
Stop
Endif
Goto LABEL001
:LABEL007
INTEGER007 = -1
FOpen 5, PPEPath() + "ONELINER.DAT", 0, 0
FGet 5, STRING003
:LABEL008
If (Ferr(5)) Goto LABEL009
Inc INTEGER007
INTEGER009 = Random(14) + 1
STRING004 = ""
If (INTEGER009 < 10) Then
STRING004 = "@X0" + I2S(INTEGER009, 10)
Else
STRING004 = "@X0" + Chr(INTEGER009 + 55)
Endif
AnsiPos INTEGER001, INTEGER002 + INTEGER007
PrintLn "@X00" + STRING004 + Left(STRING003, INTEGER003) + "@XFF"
FGet 5, STRING003
If (INTEGER007 + 1 > INTEGER008) Then
Goto LABEL009
Endif
Goto LABEL008
:LABEL009
FClose 5
Return
:LABEL010
INTEGER007 = -1
FOpen 5, PPEPath() + "ONELINER.JOK", 0, 0
FGet 5, STRING003
:LABEL011
If (Ferr(5)) Goto LABEL012
Inc INTEGER007
INTEGER009 = Random(14) + 1
STRING004 = ""
If (INTEGER009 < 10) Then
STRING004 = "@X0" + I2S(INTEGER009, 10)
Else
STRING004 = "@X0" + Chr(INTEGER009 + 55)
Endif
AnsiPos INTEGER001, INTEGER002 + INTEGER007
PrintLn "@X00" + STRING004 + Left(STRING003, INTEGER003) + "@XFF"
FGet 5, STRING003
If (INTEGER007 + 1 > INTEGER008) Then
Goto LABEL012
Endif
Goto LABEL011
:LABEL012
FClose 5
Return
:LABEL013
STRING007 = Inkey()
If (STRING007 == "") Then
Goto LABEL013
Endif
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
INTEGER013 = INTEGER006
INTEGER012 = TINTEGER010(INTEGER006)
INTEGER012 = TINTEGER011(INTEGER006)
If (STRING007 == "DOWN") Inc INTEGER006
If (STRING007 == "UP") Dec INTEGER006
If (STRING007 == "RIGHT") Inc INTEGER006
If (STRING007 == "LEFT") Dec INTEGER006
If (STRING007 == Chr(13)) Goto LABEL014
For INTEGER014 = 1 To 4
If (Upper(STRING007) == TSTRING012(INTEGER014)) INTEGER006 = INTEGER014
Next
If (INTEGER006 > 4) INTEGER006 = 1
If (INTEGER006 < 1) INTEGER006 = 4
AnsiPos TINTEGER010(INTEGER013), TINTEGER011(INTEGER013)
Print STRING010 + TSTRING008(INTEGER013)
AnsiPos TINTEGER010(INTEGER006), TINTEGER011(INTEGER006)
Print STRING011 + TSTRING008(INTEGER006)
Endif
Goto LABEL013
:LABEL014
PrintLn STRING010
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 Cls
; 34 Goto
; 42 Let
; 6 Print
; 6 PrintLn
; 30 If
; 1 DispFile
; 2 FCreate
; 4 FOpen
; 2 FAppend
; 8 FClose
; 10 FGet
; 6 FPutLn
; 2 Delete
; 1 InputStr
; 4 Gosub
; 3 Return
; 4 Inc
; 2 Dec
; 4 Tokenize
; 2 Stop
; 7 AnsiPos
; 2 Rename
;
;
; ■ Functions used :
;
; 2 -
; 56 +
; 3 -
; 26 ==
; 5 <
; 2 <=
; 3 >
; 4 >=
; 18 !
; 4 &&
; 10 ||
; 1 Len(
; 5 Upper()
; 3 Left()
; 4 Ferr()
; 4 Chr()
; 2 Random()
; 1 U_Name()
; 1 Inkey()
; 1 Mask_Ascii()
; 29 PPEPath()
; 14 ReadLine()
; 8 GetToken()
; 2 I2S()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 0 While/EndWhile
; 12 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------