Catchme

Version: 1.0
Author: Thomas Perraudin thomasperraudin@yahoo.fr
Size: 1333 bytes
Model: 9850+
Description: You must catch an object running all over the screen in order to win points and time.
                    There is already a highscore memory.


The screen looks like this:
________________________
|POINTS:0           TIME:98       |
|                                              |
|          #                                  |
|                 *                           |
|                                              |
|_______________________|

You are the '*' and you run accross the '#'. Each time you catch it, you win points and time.

Notations:
-> Single arrow on the keyboard
=> Double arrow
_ Display, -Disp-
<= Less or equal
>= Greater or equal
=/= Not equal
/ Division or fraction
I have written my variables in small characters so make differences between 1 and l (L) or between 0 (zero) and o.

Important: you must create MatZ[1,1] if you want the highscores to be saved.



Program:

3->l

Lbl D

ClrText

Orange " CATCH ME" //6 spaces to C

For 1->x To 5

Locate 5,1,"+"

Locate 16,1,"x" // x is not the letter but the cross

Locate 5,1,"x" // x is not the letter but the cross

Locate 16,1,"+"

Next

Locate 5,1,"*"

Locate 16,1,"*"

Locate 4,3,"PLAY !"

Locate 4,4,"HIGHSCORE"

Locate 4,5,"HELP"

Locate 4,6,"ABOUT"

Lbl A

l->k

Locate 3,l,"->"

Getkey=37=>Isz l

Getkey=28=>Dsz l

L=2=>6->l

L=7=>3->l

K=/=l=>Locate 3,k," " // =/= is Not equal ; 1 space in ""

Getkey=31=>l=3=>Goto 0 // 0 is the number

Getkey=31=>l=4=>Goto e

Getkey=31=>l=5=>Goto b

Getkey=31=>l=6=>Goto c

Goto a

Lbl b

ClrText

"NUMBER 8 : UP"

"NUMBER 4 : LEFT"

"NUMBER 6 : RIGHT"

"NUMBER 5 OR 2 : DOWN"

"[SHIFT] : PAUSE"

"YOU MUST CATCH THE #"

Orange " " // 1 space in ""

While Getkey=/=31 // =/= is Not equal but you may be used to

Locate 6,7,"PRESS [EXE]"

WhileEnd

Goto D

Lbl c

ClrText

" " // 1 space in ""

Orange " " // 1 space in ""

Locate 2,2,"CATCH ME VER. 1.0" // 2 spaces between ME and VER

Locate 2,3,"BY: THOMAS PERRAUDIN"

Locate 8,4,"(c) 1999"

While Getkey=/=31 // don't forget =/= is Not equal ,for the last time

Locate 6,7,"PRESS [EXE]"

WhileEnd

Goto D

Lbl E

ClrText

For 1->z To 7

Locate 5,3," " // 12 spaces in ""

Locate 5,3,"HIGHSCORE IS"

Locate 10,5," " // 4 spaces in ""

Locate 10,5,Mat z[1,1]

Next

While Getkey=/=31

Locate 6,7,"PRESS [EXE]"

WhileEnd

Goto D

Lbl 0

// If you are lazy you can start the program here but

/you would not have all the options and you probably

/should have read this before…

ClrText

"POINTS: TIME:" // 5 spaces in ""

0->p // 0 is the number

100->t

10->a

4->b

0->c

2->g

2->h

Lbl 1

Int 9Ran#=0=>0->c

If c=0

Then Locate g,h,"_"

Int 21Ran#+1->g

Int 6Ran#+2->h

IfEnd

1->c

Locate g,h,"#"

a->m

b->n

If Getkey=78

Then Locate 7,22"<PAUSE>"

20->w

Lbl w

Dsz w

Goto w

Lbl 3

Getkey=/=78=>Goto 3

Locate 7,2," " // 7 spaces in ""

Locate a,b,"*"

Locate g,h,"#"

IfEnd

Getkey=73=>Dsz a

Getkey=53=>Isz a

Getkey=64=>Dsz b

Getkey=63=>Isz b

Getkey=62=>Isz b

a=22=>Dsz a

a=0=>Isz a

b=8=>Dsz b

b=1=>Isz b

a=/=m Or b=/=n=>Locate m,n," " // 1 space in ""

Locate a,b,"*"

a=g=>b=h=>0->c

If c=0

Then p+1->p

For 1->x To 5

Locate a,b,"+"

Locate a,b,"x" // x is not the letter but the cross

Next

IfEnd

Dsz t

c=0=>p>0=>t+Int (50/p)->t

Locate 8,1,p

Locate 18,1,t

t=99=>Locate 20,1," " // 1 space in ""

t=9=>Locate 19,1," " // 1 space in ""

t=0=>Goto 2

Goto 1

Lbl 2

ClrText

"TIME IS OVER"

"SCORE :"

Locate 9,2,p

Mat z[1,1]->z

0->u

p>Mat z[1,1]=>1->u

u=1=>p->Mat z[1,1]

"HIGHSCORE IS ." // 3 spaces between 'IS' and '.'

Locate 14,3,z

If u=1

Then For 1->v To 30

Locate 6,5," " // 13 spaces in ""

Locate 6,5,"NEW HIGHSCORE"

Next

IfEnd