home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
S
/
SB-WALL1.ZIP
/
SP-WALL.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-04-21
|
10KB
|
454 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 1.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 INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
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
String STRING014
String STRING015
String STRING016
String STRING017
;------------------------------------------------------------------------------
Print "@X07"
Cls
Print "@POFF@"
STRING017 = GetToken()
STRING014 = " "
INTEGER012 = 1
INTEGER013 = 0
STRING006 = UN_City()
INTEGER003 = 1
INTEGER004 = 1
INTEGER009 = 1
INTEGER008 = 0
If (Exist(PPEPath() + "SP-USER.DAT")) INTEGER008 = 1
If (INTEGER008 == 0) Then
FCreate 1, PPEPath() + "SP-USER.DAT", 1, 0
For INTEGER001 = 1 To 16
FPutLn 1, ""
Next
FClose 1
Endif
INTEGER008 = 0
If (Exist(PPEPath() + "SP-WALL.DAT")) INTEGER008 = 1
If (INTEGER008 == 0) Then
FCreate 1, PPEPath() + "SP-WALL.DAT", 1, 0
For INTEGER001 = 1 To 16
FPutLn 1, ""
Next
FClose 1
Endif
INTEGER008 = 0
If (Exist(PPEPath() + "SP-LOG.DAT")) INTEGER008 = 1
If (INTEGER008 == 0) Gosub LABEL013
Cls
AnsiPos 1, 2
Print "@X0F ┌@X07─@X08»@X0F S P E L L B O U N D @X07O N E L i N E R @X08«@X07─@X0F┐"
AnsiPos 2, 3
Print "@X0F─@X07───@X08─@X07──@X08─@X07─@X08──────@X07──@X0F┴@X07──@X08─@X07─@X08─@X07──@X08─@X07────@X0F──@X07─@X0F─@X07─@X0F────────@X07─@X0F─@X07─@X0F──@X07────@X08─@X07──@X08─@X07─@X08─@X07──@X0F┴@X07──@X08──────@X07─@X08─@X07──@X08─@X07───@X0F─"
AnsiPos 2, 20
PrintLn "@X0F─@X07───@X08─@X07──@X08─@X07─@X08──────@X07─────@X08─@X07─@X08─@X07──@X08─@X07────@X0F──@X07─@X0F─@X07─@X0F────────@X07─@X0F─@X07─@X0F──@X07────@X08─@X07──@X08─@X07─@X08─@X07─────@X08──────@X07─@X08─@X07──@X08─@X07───@X0F─"
PrintLn "@X08 baCK tO bBs a@X08DD a oNELiNEr wHo wRiTTEn tHiS sHiT LiST oNELiNEr "
PrintLn " @X0F─@X07───@X08─@X07──@X08─@X07─@X08──────@X07─────@X08─@X07─@X08─@X07──@X08─@X07────@X0F──@X07─@X0F─@X07─@X0F────────@X07─@X0F─@X07─@X0F──@X07────@X08─@X07──@X08─@X07─@X08─@X07─────@X08──────@X07─@X08─@X07──@X08─@X07───@X0F─"
INTEGER013 = 1
If (STRING017 == "NO") Goto LABEL001
INTEGER002 = 23
AnsiPos INTEGER002 - 1, 2
Print "@X0F "
AnsiPos INTEGER002, 2
Print Chr(83) + " " + Chr(80) + " " + Chr(69) + " " + Chr(76) + " " + Chr(76) + " " + Chr(66) + " " + Chr(79) + " " + Chr(85) + " " + Chr(78) + " " + Chr(68) + " " + Chr(79) + " " + Chr(78) + " " + Chr(69) + " " + Chr(76) + " " + Chr(105) + " " + Chr(78) + " " + Chr(69) + " " + Chr(82)
:LABEL001
STRING007 = ""
STRING001 = ""
Gosub LABEL011
INTEGER003 = 1
INTEGER004 = 1
:LABEL002
AnsiPos 2, 21
If (INTEGER013 == 0) Print "@X08 baCK tO bBs a@X08DD a oNELiNEr wHo wRiTTEn tHiS sHiT LiST oNELiNEr "
INTEGER013 = 0
Gosub LABEL010
:LABEL003
STRING004 = ""
STRING003 = ""
If (INTEGER003 == 3) AnsiPos 61, 21
If (INTEGER003 == 4) AnsiPos 79, 21
While (STRING003 == 0) Do
STRING002 = Asc(Inkey())
If (STRING002 == 13) STRING003 = 1
If (STRING002 == 27) Then
STRING003 = 1
INTEGER003 = 0
Endif
If (STRING002 == 82) Gosub LABEL008
If (STRING002 == 9) Gosub LABEL008
If (STRING002 == 54) Gosub LABEL008
If (STRING002 == 32) Gosub LABEL008
If (STRING002 == 76) Gosub LABEL009
If (STRING002 == 83) Gosub LABEL009
If (STRING002 == 52) Gosub LABEL009
EndWhile
If (INTEGER003 == 0) Then
Print "@X07"
Cls
End
Endif
If (INTEGER003 == 1) Then
AnsiPos 1, 1
Print "@PON@"
Cls
End
Endif
If (INTEGER003 == 2) Goto LABEL004
If (INTEGER003 == 3) Then
If (INTEGER009 == 1) Then
INTEGER009 = 2
Gosub LABEL011
Goto LABEL003
Endif
Endif
If (INTEGER003 == 4) Then
If (INTEGER009 == 2) Then
INTEGER009 = 1
Gosub LABEL011
Goto LABEL003
Endif
Endif
Goto LABEL003
:LABEL004
STRING004 = ""
STRING001 = ""
STRING007 = ""
AnsiPos 2, 21
Print "@X0F[ ]"
AnsiPos 3, 21
InputText "_", STRING004, 15, 76
If (STRING004 == "") Goto LABEL002
INTEGER011 = Len(STRING004)
STRING010 = ""
For INTEGER001 = 1 To INTEGER011
STRING005 = Mid(STRING004, INTEGER001, 1)
If (STRING005 <> "@") STRING010 = STRING010 + STRING005
Next
STRING004 = STRING010
INTEGER005 = 10
INTEGER006 = 10
STRING008 = ""
STRING009 = ""
STRING003 = ""
AnsiPos 2, 21
Print " @X08[@X07S@X0FeLeCT @X07T@X0FeXT @X07C@X0FoLoR@X08] @X0F ■ @X07 ■ @X08 ■ @X02 ■ @X0A ■ @X06 ■ @X0E ■ @X01 ■ @X09 ■ @X03 ■ @X0B ■ @X05 ■ @X0D ■ @X04 ■ @X0C ■ @X08 a@X07B@X0Fo@X07R@X08T "
Gosub LABEL012
While (STRING003 == 0) Do
STRING002 = Asc(Inkey())
If (STRING002 == 13) STRING003 = 1
If (STRING002 == 27) Then
STRING003 = 1
INTEGER005 = 16
Endif
If (STRING002 == 82) Gosub LABEL005
If (STRING002 == 9) Gosub LABEL005
If (STRING002 == 54) Gosub LABEL005
If (STRING002 == 32) Gosub LABEL005
If (STRING002 == 76) Gosub LABEL006
If (STRING002 == 83) Gosub LABEL006
If (STRING002 == 52) Gosub LABEL006
EndWhile
If (INTEGER005 == 1) STRING009 = "@X0F"
If (INTEGER005 == 2) STRING009 = "@X07"
If (INTEGER005 == 3) STRING009 = "@X08"
If (INTEGER005 == 4) STRING009 = "@X02"
If (INTEGER005 == 5) STRING009 = "@X0A"
If (INTEGER005 == 6) STRING009 = "@X06"
If (INTEGER005 == 7) STRING009 = "@X0E"
If (INTEGER005 == 8) STRING009 = "@X01"
If (INTEGER005 == 9) STRING009 = "@X09"
If (INTEGER005 == 10) STRING009 = "@X03"
If (INTEGER005 == 11) STRING009 = "@X0B"
If (INTEGER005 == 12) STRING009 = "@X05"
If (INTEGER005 == 13) STRING009 = "@X0D"
If (INTEGER005 == 14) STRING009 = "@X04"
If (INTEGER005 == 15) STRING009 = "@X0C"
If (INTEGER005 == 16) Goto LABEL002
STRING001 = STRING009 + STRING004
STRING007 = U_Name()
STRING011 = Date()
STRING012 = Time()
Goto LABEL007
:LABEL005
INTEGER005 = INTEGER005 + 1
If (INTEGER005 > 16) INTEGER005 = 1
Gosub LABEL012
Return
:LABEL006
INTEGER005 = INTEGER005 - 1
If (INTEGER005 < 1) INTEGER005 = 16
Gosub LABEL012
Return
:LABEL007
FCreate 1, PPEPath() + "SP-TEMP.DAT", 1, 0
FOpen 2, PPEPath() + "SP-LOG.DAT", 0, 0
STRING013 = ""
STRING003 = ""
While (STRING003 == 0) Do
FGet 2, STRING013
If (STRING013 <> "") FPutLn 1, STRING013
If (STRING013 == "") STRING003 = 1
EndWhile
FPutLn 1, " " + STRING007 + " - " + STRING006 + " - " + STRING011 + " - " + STRING012
FPutLn 1, " ", STRING004
FPutLn 1, " ──────────────────────────────────────────────────────────────────────────────"
FClose 1
FClose 2
Delete PPEPath() + "SP-LOG.DAT"
Rename PPEPath() + "SP-TEMP.DAT", PPEPath() + "SP-LOG.DAT"
INTEGER001 = Len(STRING001)
INTEGER002 = (81 - INTEGER001) / 2
STRING015 = Mid(STRING014, 1, INTEGER002)
STRING016 = STRING015 + STRING001 + STRING015
STRING001 = Mid(STRING016, 1, 80)
FCreate 1, PPEPath() + "SP-TEMP.DAT", 1, 0
FOpen 2, PPEPath() + "SP-WALL.DAT", 0, 0
FGet 2, STRING013
For INTEGER002 = 1 To 15
FGet 2, STRING013
FPutLn 1, STRING013
Next
FPutLn 1, STRING001
FClose 1
FClose 2
Delete PPEPath() + "SP-WALL.DAT"
Rename PPEPath() + "SP-TEMP.DAT", PPEPath() + "SP-WALL.DAT"
STRING001 = STRING009 + "·∙■ " + STRING007 + " - " + STRING006 + " - " + STRING011 + " - " + STRING012 + " ■∙·"
INTEGER001 = Len(STRING001)
INTEGER002 = (81 - INTEGER001) / 2
STRING015 = Mid(STRING014, 1, INTEGER002)
STRING016 = STRING015 + STRING001 + STRING015
STRING001 = Mid(STRING016, 1, 80)
FCreate 1, PPEPath() + "SP-TEMP.DAT", 1, 0
FOpen 2, PPEPath() + "SP-USER.DAT", 0, 0
FGet 2, STRING013
For INTEGER002 = 1 To 15
FGet 2, STRING013
FPutLn 1, STRING013
Next
FPutLn 1, STRING001
FClose 1
FClose 2
Delete PPEPath() + "SP-USER.DAT"
Rename PPEPath() + "SP-TEMP.DAT", PPEPath() + "SP-USER.DAT"
AnsiPos 2, 21
Print "@X08 baCK tO bBs a@X08DD a oNELiNEr wHo wRiTTEn tHiS sHiT LiST oNELiNEr "
INTEGER013 = 1
Goto LABEL001
:LABEL008
INTEGER003 = INTEGER003 + 1
If (INTEGER003 > 4) INTEGER003 = 1
Gosub LABEL010
Return
:LABEL009
INTEGER003 = INTEGER003 - 1
If (INTEGER003 < 1) INTEGER003 = 4
Gosub LABEL010
Return
:LABEL010
If (INTEGER004 == 1) Then
AnsiPos 3, 21
Print "@X08 baCK tO bBs @X07"
Endif
If (INTEGER004 == 2) Then
AnsiPos 19, 21
Print "@X08 aDD a oNELiNEr @X07"
Endif
If (INTEGER004 == 3) Then
AnsiPos 38, 21
Print "@X08 wHo wRiTTEn tHiS sHiT @X07"
Endif
If (INTEGER004 == 4) Then
AnsiPos 64, 21
Print "@X08 LiST oNELiNEr @X07"
Endif
If (INTEGER003 == 1) Then
AnsiPos 3, 21
Print "@X1F BACK TO BBS @X07"
Endif
If (INTEGER003 == 2) Then
AnsiPos 19, 21
Print "@X1F ADD A ONELINER @X07"
Endif
If (INTEGER003 == 3) Then
AnsiPos 38, 21
Print "@X1F WHO WRITTEN THIS SHIT @X07"
Endif
If (INTEGER003 == 4) Then
AnsiPos 64, 21
Print "@X1F LIST ONELINER @X07"
Endif
INTEGER004 = INTEGER003
Return
:LABEL011
Print "@X07"
AnsiPos 1, 4
If (INTEGER009 == 1) FOpen 1, PPEPath() + "SP-WALL.DAT", 0, 0
If (INTEGER009 == 2) FOpen 1, PPEPath() + "SP-USER.DAT", 0, 0
For INTEGER002 = 1 To 16
FGet 1, STRING013
PrintLn " " + STRING013
Next
FClose 1
Return
:LABEL012
If (INTEGER006 == 16) Then
AnsiPos 70, 21
Print "@X07 "
AnsiPos 76, 21
Print "@X07 "
Else
INTEGER010 = 22
INTEGER007 = INTEGER010 + INTEGER006 + INTEGER006 * 2
AnsiPos INTEGER007, 21
Print "@X07 "
AnsiPos INTEGER007 + 2, 21
Print "@X07 "
AnsiPos INTEGER007 + 1, 21
Endif
If (INTEGER005 == 16) Then
AnsiPos 70, 21
Print "@X8F"
AnsiPos 70, 21
Print "["
AnsiPos 76, 21
Print "]"
AnsiPos 73, 21
INTEGER006 = INTEGER005
Return
Endif
INTEGER007 = INTEGER010 + INTEGER005 + INTEGER005 * 2
AnsiPos INTEGER007, 21
Print "@X8F"
AnsiPos INTEGER007, 21
Print "["
AnsiPos INTEGER007 + 2, 21
Print "]"
AnsiPos INTEGER007 + 1, 21
INTEGER006 = INTEGER005
Return
:LABEL013
FCreate 1, PPEPath() + "SP-LOG.DAT", 1, 0
FPutLn 1, " ·····--------───────────═════════════════════════════───────────---------·····"
FPutLn 1, " S P E L L B O U N D O N E L i N E R L O G F i L E"
FPutLn 1, " ·····--------───────────═════════════════════════════───────────---------·····"
FClose 1
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 4 Cls
; 48 Goto
; 106 Let
; 31 Print
; 4 PrintLn
; 80 If
; 6 FCreate
; 5 FOpen
; 10 FClose
; 6 FGet
; 13 FPutLn
; 3 Delete
; 24 Gosub
; 9 Return
; 1 InputText
; 35 AnsiPos
; 3 Rename
;
;
; ■ Functions used :
;
; 2 *
; 2 /
; 96 +
; 5 -
; 65 ==
; 2 <>
; 8 <
; 6 <=
; 2 >
; 12 >=
; 29 !
; 12 &&
; 6 ||
; 3 Len(
; 5 Mid()
; 18 Chr()
; 2 Asc()
; 1 Date()
; 1 Time()
; 1 U_Name()
; 2 Inkey()
; 23 PPEPath()
; 1 UN_City()
; 1 GetToken()
; 3 Exist()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 6 For/Next
; 3 While/EndWhile
; 20 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------