home *** CD-ROM | disk | FTP | other *** search
- 222
- eca00007cf00fe008033300f70f
- ^4********************************************************************
-
- ^3T. I. P. S.
-
- ^2[3(Tiny Informative Pieces Spot.)[0
-
- [5^6By Len Tucker.[0
-
- ^4*******************************************************************
-
- ^5 Here are just a few things that I have discovered along the way and
- ^5which I have found very useful.
- ^5 More than likely, the majority of programmers will know most, if
- ^5not all, of these little tips, but just in case any learners
- ^5(like me) are reading this, you will find these useful to know.
-
- ^4--------------------------------------------------------------------
-
- [3^2NUMBER 1:[0
-
- ^1 Instead of using `Dec' to reduce a variable E.G.
-
- ^7B=6
- ^7Dec B
- ^7Dec B
- ^7Print B
-
- ^24
-
- ^1or
-
- ^7B=50
- ^7For Z=1 to 10
- ^7Dec B
- ^7Next Z
-
- ^1or
-
- ^7B=50
- ^7B=B-10
-
- ^1Try using the add command like so:-
-
- ^7Add B,-2
-
- ^7or Add B,-10
-
- ^1Both of which do the same thing, but in less lines! (It also saves
- ^1wear and tear on the fingers!)
-
- ^2 The saving is obvious with the `For Next Loop' version but not so
- ^2obvious with the B=B-10 version. It seems that the add command is
- ^2much faster so use it as often as you can.
-
- ^4------------------------------------------------------------------
-
- [3^2NUMBER 2:[0
-
- ^6 When you want to change a numeric variable (A,SCORE,LIVES,Etc)
- ^6to a string variable, for printing with the `Text' command
- ^6there is a space inserted at the begining of the string, this is
- ^6because when a computer sees a numeric variable, it could be one of
- ^6two things, either a positive or a negative, so it precedes every
- ^6number with a space in case it becomes a negative "-".
-
- ^6E.G.
-
- ^7SCORE=4532
- ^7SCORE$=Str$(SCORE)
- ^7Print SCORE$
-
- ^2 4532
-
- ^6 The leading space can cause you display troubles so it is better to
- ^6get rid of it.
-
- ^6 The way I used to do it was:-
-
- ^7SCORE=4532
- ^7T$=str$(SCORE)
- ^7SCORE$=Mid$(t$,2,Len(t$))
- ^7Print SCORE$
-
- ^24532
-
- ^6 Now I use a command I spotted in the compiler manual `-' it seems
- ^6this was in all versions of AMOS but not mentioned!
-
- ^6 Using this new(?) command the above routine would look like:-
-
- ^7SCORE=4532
- ^7SCORE$=Str$(SCORE)-" "
- ^7Print SCORE$
-
- ^24532
-
- ^6 This little command does not stop there! It will strip ALL
- ^6occurances of the character inside the inverts from the target
- ^6string!!
-
- ^6 E.G.
-
- ^7A$="The cat sat on the mat"
- ^7B$=A$-" "
- ^7Print B$
-
- ^2Thecatsatonthemat
-
- ^7A$="The cat sat on the mat"
- ^7B$=A$-"at"
- ^7Print B$
-
- ^2The c s on the m
-
- ^6 This could be very useful if handled properly.
-
- ^4------------------------------------------------------------------
-
- [3^2NUMBER 3:[0
-
- ^5 Sometimes in a game you need to dump certain Bobs or Sprites from
- ^5the Sprite bank. An easy way to do this is use the undoccumented
- ^5command (yet another!) called Del Bob. Let's say that you have 30
- ^5Bobs in your Bank and for some reason you want to dump the Bobs
- ^5numbered from 15 to 25 in order to bring back some memory. Perhaps
- ^5these bobs have already performed their function and are now
- ^5obsolete, so are a waste of memory, it is very easy to get rid of
- ^5them with:-
-
- ^7Del Bob 15 To 25
-
- ^2Now Bob 26 becomes 15 and so on.
-
- ^4------------------------------------------------------------------
-
- [3^2NUMBER 4:[0
-
- ^1 Supplied by[3 ROD PASCOE[0 some of you will find the Dos numbers very
- ^1useful.^2 Thanks Rod!
-
- ^4 This tip is for the more advanced programmer, as it can cause the
- ^4machine to Guru if not used with discretion. I have tried it on
- ^4several programs, and it seems to work O.K.
-
- ^1 The following routine allows you to call and execute a non Amos
- ^1program from inside Amos e.g. PPmore, Diskmaster etc.
- ^1 Its limits are amount of available memory and the support files
- ^1needed to run the program.
-
- ^2 Let's use PPmore as an example. PPmore needs the PowerPacker ARP
- ^2library in the libs dir to work.
-
- ^7 Amos To Back
- ^7 COM$="PPmore"
- ^7 Dreg(0)=Varptr(COM$)
- ^7 Dreg(1)=0
- ^7 Dreg(2)=0
- ^7 A=Doscall(-222)
- ^7 Amos To Front
-
- ^2 This will execute and run PPmore, once you kill PPmore, you're taken
- ^2back to AMOS.
-
- ^1 Use LEFT AMIGA-A keys to toggle between the two.
-
- ^4 This is very handy if you have a large `help' file to display as it
- ^4saves writing a routine to display it, BUT beware of copyright
- ^4problems, any program which calls a copyright program will not be
- ^4eligable for licenseware!!!!!
-
- ^4---------------------------------------------------------------------
-
- ^2[3NUMBER 5:[0
-
- ^1 If you've been having Compiler problems, like I have, then this tip
- ^1will solve one of them.
-
- ^6 Sometimes after a program has been compiled, you'll find that the
- ^6mouse will only move across 2/3rds of the screen, which is no good if
- ^6you need to click on buttons on the other 1/3rd of the screen.
-
- ^6 An easy way around this is to put in Limit Mouse. For NTSC screens
- ^6this is from 128,50 to 438,249 and for PAL screens 128,43 to
- ^6438,294. This completely cures the problem.
-
- ^4---------------------------------------------------------------------
-
- ^2[3NUMBER 6:[0
-
- ^1 This is the answer to another compiler bug. If you remember, one of
- ^1the older versions of RAMOS had to have a default screen opened. The
- ^1Compiler has the same problem, so either get the Compiler to open a
- ^1default screen for you, or do it in your program.
-
- ^4---------------------------------------------------------------------
-
- ^2[3NUMBER 7:[0
-
- ^2 A simple way of centring text.
-
- ^6 If you want to centre a piece of text on the screen using the Text
- ^6command, try this.
-
- ^7 A$="This is centred." ^1- put your text in the " "
- ^7 L=len(A$)*8 ^1- the 8 assumes you are using the Amos
- ^1default font.
- ^7 Text160-(L/2),10,A$ ^1- Assumes you have a normal 320 wide
- ^1screen. If not, replace the 160 with
- ^1your screen width divided by 2.
-
- ^2This easily centres text and will give you neater displays.
-
- ^4---------------------------------------------------------------------
-
- ^1 That's it for this issue, I hope that you find the above tips useful.
- ^1Do not forget, if you have any tips or hints that could help the
- ^1learners among us PLEASE send them in, they might be of use to
- ^1someone, so don`t be mean with your knowledge spread it about a bit!
- ^1You will feel better for it!!
-
- ^4********************************************************************
- \
-