home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
AGSTUT1.ZIP
/
AGSTUT1.DOC
< prev
next >
Wrap
Text File
|
1995-03-04
|
7KB
|
216 lines
▄▄▄▄▄▄ ▄
▄█▀▀██████▄ ▄
█ ██████▀ ▄▄█████████████▀ ▄▄▄▄▄▄▄▄▄▄ ▀▄█ ▄ ▄▄▄▄▄▄▄▄▄
░▀ ▐██▀██ ▄██▀▀▀ ▀█▀ ▄▄█████████████▄ ████▄ ▄███████████▄
░ ██▌ ▐█ ██ ░ ██▀▀ ▄▄▄▄▄▄▄▄▄ ▀█ █ ▄ ▄ █▀ ▄ █
██ █ ▀█ ██▀ █▀ ▀▄▄ ▄▄██▀ █▄ ▀▌ ▄
▐█▌ ▐█ █ ▄▄▄▄█▄▄▄▄▄ ██ █ ▀▄ ▀██ ▀████████▄
██ █ █▄ ▀░ ▀█ ██▄ █ ▄▀▀▄ █ ███ ░▀▀▀▀▀▀▀▀▓▓▄
██ ▄ █ ▀█▄ ░ ██ ▀▄ ░ ▀▄ █ ███ ▀██
▐█ ▄███▄ █ ▀█▄ ██▄ ▀▄▄▄▄▄ ▄▄▀ ██ ███ ▄ ▄██
▄▄ █▄ ░ ▄██ ▀██▄▄ ▄ ▄▄█▄ ▀██▄▄▄▄▄ ▀▀ ▄▄███ ██ ▄█ ▀ ▄▄▓▓█ ▀
█ ▀ ▄██ ░▀▀█▄ ▀▀██████████▄ ██████████████ ▄██ ███████████▀ ░
▌▀▄▄▄██▀▀ ░ kP<aRT>░▀███▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄ ▄ ▄ ▄ ▄
▌
▀ ▀ ▀ ▄ ▄▀ ▀▄█ █▀▀ █▀▒ █▀▒ █▀▒
▄ ▀ ▀ ▄ ▀ ▄▀▄ █ ▓▄▄ ▓▄█ ▓▀▄ ▓▀▀
<┤EGiS CoRP TuToRiaL SeRiES
· ··-────────────--·· ·
ChaPTeR 1
· ··-───────────────────────────--·· ·
DiSPLaYiNG STRiNGS WiTH eFFeCTS
By LoNE RuNNeR
WARNING
──────────────────────────────
WARNING : If you want to learn PPL from scratch, the AEGiS Tutorial series
are not for you... the tutorial series are intended to sysops that already
have some basis on PPL programming, it is only here to give you hints and
ideas or simply to show you some different wayz to do different things...
However, if you never tried to code somme PPE's but you know how to code
in basic or pascal, you should have no problem to transfer your skills on
PPL!
Also, if you think that we don't have anything to learn you, don't read this
and delete it from your disk... this file is not here to say "Hey man! look,
this is the way it HAS to be done coz we are the best!"... we just want to
give some hints to all the sysops that need it or that want to see others
coding technics.. everybody code diferent... so there is allways something
to learn from a source code...
WHAT ARE THE TUTORIAL SERIES ?
──────────────────────────────
Why using other group's PPE's when it is so easy to make your own ones...?
This is after asking such a question to sysop (a good friend of mine), and
after he answered "coz i cannot find the fucking way to do what i want!"
that i decided to begin the tutorial series...
In thoses tutorials, you will find the basics to begin PPE coding, and i
hope you will begin to make some good releases and, why not, join the
Aegis Corp crew ! ;)
CHAPTER 1
──────────────────────────────
Today we will have a look to the different methods on how to display
strings with some visual effects...
We have to examples (see AGSTUT1.PPS) :
PrintFade()
PrintScramble()
The first procedure will write a string with a fading effect...
The seconf procedure will write a string with a scramble effect...
PRINTFADE()
──────────────────────────────
With this procedure, we want to add a fading effet to the string beeing
displayed... for example we can put each character in color 8 (dark grey)
then change it's color to 7 (grey), and finish with the color 15 (white).
This will make a nice visual effect... i think ;)
PRINTSCRAMBLE()
──────────────────────────────
With this procedure, we have a precise wish on what have to be the
effect... the string has to appear in a scramble way, that is in fact that
each character will be displayed normally but in a random order...
The first way to do it is the flat way : we take randomly a character from
the string to print, and we put it in the right place... with or without
trying to verify if it has already be printed... and we stop when the
screen contains the complete string (comparision with a
ScrText(row, line, len, code))
This way will work, but if you are unlucky, you may wait for a long time
before each character has been printed...
So we will forget this way...
The second way is more complex, but a lot more reliable... we take a string
made of spaces that is as long as the string to print...
so we have for example " " for "Hello, world!"...
We take a reference that hold the amount of chars to be printed... so it
begins with the string's length...
ref = 13
Then we generate a random number from 1 to ref... for example, we have 9...
we try to find the 9th space in the string :
" "
^
9th space
and we replace it with the right character :
" o "
^
9th space replaced by "o" from "world"
and we decrement the reference variable...
Then we repeat this as long as the reference variable is not 0...
here is for example the second pass :
randomly generated number (from 1 to ref=12) -> 11
" o "
^
11th space (but 12th char!)
we replace it by the right char :
" o d "
^
11th space replaced by "d" from "world"
at the end of the loop, we will have less and less spaces left, and it will
end with a random from 1 to 1...
The problem of this algorythm is that it does not handle spaces... if we
replace the nth space by the corresponding character -> a space, the
reference var will be decremented but the string will stay the same, and
the already printed character that is a space will be replaced by another
char in a futur pass...
The solution consist in replacing spaces by CHR(255) that looks exactly the
same that spaces, but are different in screen memory...
To optimize the procedure, we won't use a special string made of spaces for
working... but we will use the screen instead... so it has to contain
spaces before to begin, or the procedure will go in an endless loop trying
to find a free char (a space) that does not exist...
FINAL PROCEDURES
──────────────────────────────
To see the final procedures, have a look a AGSTUT1.PPS
DISCLAIMER
──────────────────────────────
Do what you want with this, you have the code so you keep control over the
compilation... you may use this code in whatever you want, you may destroy
it, burn it, compile it or modify it, you may do what you want, but no
member of AEGiS CoRP may be responsible for any damage caused by the use
of this code or it's modifications...
Also you can use it into your own releases, but please, don't be lame,
greet us ;)
FINAL WORDS
──────────────────────────────
Hope this will help you in customizing your PCB... If you have any comment
or suggection, or if you just want to chat about PPE's and PPL, or for any
other reason, don't hesitate to write us to :
aegis.corp_barnabo@sparkhq.fdn.org
- LoNE RuNNeR -
_ _ _ ___ ___/\
_________/\ /\_____________/\________________ ___ _ _ \/\______________
/ _ \/ _________ / ______________________ / __________ /
_/ __/ \ ____)___\/ \ \_/ \/\___________ \/_
\ \ \_ \ \_ \__ \_ \_ / /
\______\ /____________/________________/_____________/____________/kP
·-------`------'---------------------------------------------------------·