_________________________________________________________________________ Title: PAX Version: v1.0 Author: Roy Maclean (r.f.a.maclean@hw.ac.uk) Size: 586 bytes Model: 9850+ Description: Your character appears as the letter 'O' Using the arrow keys you must move the 'O' about the screen and clear away the '*' characters, before the time runs out. But there is a catch - you must figure out how to get rid of the '*' characters - it is not as simple as just going over them. Also not all of them need to be cleared. The target figure will appear which tells you how many can be left behind. When you've mastered it and can do it before the time runs out, see how quick you can do it. ============================ screenshot: =========== O I *** I * I * *I 399 ** ***I * ** I **** * I 2 ============================ As you can see the playing field is on the left and the timer on the right. The above picture shows that there are 399 time units to go and that you can leave 2 '*'s at the end. _________________________________________________________________________ Command translation: -> Single arrow (located on the keyboard) => Double arrow (press: [shift] [prgm] [f1] [f1]) _ Display, -Disp- (press: [shift] [prgm] [f4]) <= Less or equal (A <= B) >= Greater or equal (A >= B) <> Not equal (A <> B) ^ Raised to the power of / Division or fraction (explain which with a comment) 2rt() Root (2rt(7) is the square root of 7) 4rt() 4th root pi pi (~3.14159265359, low case) e() e(1) (~2.7818281846, low case) E Exponent (5E4 gives 5*10^4) (located on the keyboard, [EXP]) _________________________________________________________________________ Program : Prog "PAX" ========== Lbl 0 0->A~Z:ClrText ;zero all variables, clearscreen 0Indentity 7->Mat A ;zero * indentity For 1->A To 7 Locate 8,A,"I" Next For 1->A To 7 For 1->B To 7 A=1=>B=1=>2->B If Ran#<=.5 Then 1->Mat A[A,B] 1+S->S Locate B,A,"*" ; '*' is on the sybl menu If Frac .5A=Frac .5B Then R+1=>R Else R-1->R IfEnd:IfEnd Next:Next Locate 16,7,Abs R 400->T:1->X~Y Lbl 1 Getkey->A Locate X,Y,"O" If A=27:Then If X<7 Then Mat A[Y,X+1]->C Prog "PS" X+1->X:IfEnd:IfEnd If A=38:Then If X>1 Then Mat A[Y,X-1]->C Prog "PS" X-1->X:IfEnd:IfEnd If A=28:Then If Y>1 Then Mat A[Y-1,X]->C Prog "PS" Y-1->Y:IfEnd:IfEnd If A=37:Then If Y<7 Then Mat A[Y+1,X]->C Prog "PS" Y+1->Y:IfEnd:IfEnd S<=Abs R=>Goto 2 T=99=>Locate 16,4," " ;three blank spaces T=9=>Locate 16,4," " ;two blank spaces Locate 16,4,T Dsz T:Goto 1 ClrText "OUT OF TIME"_ ; _ represents |shift|vars|f5| Goto 0 Lbl 2 ClrText "WELL DONE" "TIME LEFT" T_ ; _ represents |shift|vars|f5| Goto 0 Prog "PS" ========= If C=0 Then Locate X,Y,"*" 1->M Else Locate X,Y," " 0->M IfEnd:S+2M-1->S M->Mat A[Y,X] _________________________________________________________________________