Nibbles for Casio CFX-9850G

Home
Bolo
Programming
Chemistry
More about me
Linx
Legal stuff
History of this page
Sign my guestbook
View my guestbook
Mail me
Nibbles 1.2

Description: Direct a snake around and eat the numbers in order. Don't hit the walls or yourself!
Size: Nibbles: 2204  Mat C: 2200 bytes

SYMBOL EXPLANATION:

@    means     theta
/    means     division
_    means     display (press: [shift] [vars] [f5])
<=   means     less than or equal (press: [shift] [vars] [f6] something)
<>   means     not equal (press: [shift] [vars] [f3] [f6] [f2])
Don't mix these next two up. It will ruin your day.
>=   means     greater than or equal (press: [shift] [vars] [f6] something)
=>   means     then (press: [shift] [vars] [f3] [f3])
->   means     assign (on the main keyboard)
*    means     multiply
%    means     exponent [EXP]
Only used in title screen:
a              Lowercase a (press: [vars] [f3] [f3] [f1])
c              Lowercase c (press: [vars] [f3] [f3] [f3])
d              Lowercase d (press: [vars] [f3] [f3] [f4])
e              Lowercase e (press: [vars] [f3] [f3] [f5])
i              Lowercase i (press: [optn] [f3] [f1])
m              Lowercase m (press: [optn] [f6] [f6] [f1] [f1])
n              Lowercase n (press: [vars] [f3] [f1] [f1])
o              Lowercase o (press: [vars] [f3] [f3] [f1])
r              Lowercase r (press: [vars] [f3] [f5] [f1])
s              Lowercase s (press: [vars] [f5] [f6] [f2]) (plus models only)
t              Lowercase t (press: [vars] [f5] [f6] [f3]) (plus models only)
y              Lowercase y (press: [vars] [f3] [f2] [f1])
Location of colons [ : ] is merely recommended - it's what made the least number lines on my calculator screen. You may wish to replace then all with [EXE]s for ease of typing in.

Create a new file named: NIBBLES

LabelOff:ClrText
Orange "       NibbLeS"        // (7 spaces)
Green " by JameS AndreWarTHa"  // (1 space)
"     VerSion 1.2"             // (5 spaces)
" (c) 1998 ALL RIGHTS"         // (1 space)
"      RESERVED"_              // (6 spaces)
Lbl S:1000->M:0->S:1->L:3->Z:Mat C[1,55]->Mat C[2,55]
Lbl R:ViewWindow 1,127,0,1,63,0:Cls:Green F-Line 1,3,1,63:Green F-Line 2,63,127,63
Green F-Line 100,62,100,3:Green F-Line 127,63,127,5:Green F-Line 101,49,126,49
Text 3,104,"SCORE":Green F-Line 101,35,126,35:Text 17,104,"LEVEL":Green F-Line 101,27,126,27
Text 39,103,"LIFE":Green F-Line 101,19,126,19:Text47,106,"HIGH":Green F-Line 101,5,126,5
1->P:49->V:33->W:1->D:52->T:For 1->A To T:49->Mat C[1,A]:33->Mat C[2,A]:Next:20->T
1->N:S<100=>Text 9,111,S:S<1%3 And S>=100=>Text 9,109,S:S>=1%3 And S<1%4=>Text 9,107,S:S>=1%4=>Text 9,105,S
L<=9=>Text 23,109,L:L>9=>Text 23,105,L:Text 23,112,".1":Text 39,121,Z:S>Mat C[1,55]=>S->Mat C[1,55]
Mat C[1,55]->H:H<100=>Text 53,111,H:H<1%3 And H>=100=>Text 53,109,H:H>=1%3 And H<1%4=>Text 53,107,H:H>=1%4=>Text 9,105,H:If L>6
Then For 9(L-7)+1->A To 9(L-6):Orange Text 64-Mat C[4,A],Mat C[3,A],A-9(L-7):Next
Else Orange Text 64-Mat C[4,9L-8],Mat C[3,9L-8],1:IfEnd
If L=2 Or L=8
Then Green F-Line 31,25,31,43:Green F-Line 40,45,68,45:Green F-Line 70,38,70,20:Green F-Line 60,18,32,18
IfEnd:If L=3 Or L=9
Then Green F-Line 2,33,39,33:Green F-Line 60,33,99,33:Green F-Line 49,4,49,25:Green F-Line 49,42,49,62
IfEnd:If L=4 Or L=10
Then Green F-Line 34,62,19:Green F-Line 67,62,67,19:Green F-Line 35,39,48,39:Green F-Line 46,30,66,30
Green F-Line 2,33,14,33:Green F-Line 86,33,99,33
IfEnd:If L=5 Or L=11
Then Green F-Line 2,15,71,15:Green F-Line 79,4,79,46:Green F-Line 99,51,26,51:Green F-Line 19,62,19,21
Green F-Line 64,50,64,27:Green F-Line 51,16,31,36:IfEnd
Lbl L:Getkey->A
A<>0=>Goto C
PlotOff Mat C[1,P],Mat C[2,P]
V->r:W->@
D=1=>W+3->W:D=2=>V+3->V
D=3=>W-3->W:D=4=>V-3->V
V->Mat C[1,P]:W->Mat C[2,P]
P+1->P:P=T+1=>1->P
PxlTest 64-W,V:Ans=>Goto D
F-Line V,W,r,@:Goto L
Lbl C:A=28=>1->D:A=27=>2->D:A=37=>3->D:A=38=>4->D:A<>48=>Goto L
Text 31,102,"PAUSED":Text 31,102,"PAUSED"
Do:sin 1 Getkey<>47:Text 31,102,"      ":Goto L             //6 spaces
Lbl D
L<=6=>N+9(L-1)->A
L>6=>N+9(L-7)->A
If V>=Mat C[3,A] And V<=Mat C[3,A]+2 And W>=Mat C[4,A]-5 And W<=Mat C[4,A]:Then N=9=>Goto N:1+N->N:20+5N+S->S
If S>=M:Then Z+1->Z:M+1000->M:Text 39,121,Z:IfEnd:Text 23,116,N
S<100=>Text 9,111,S:S<1%3 And S>=100=>Text 9,109,S:S>=1%3 And S<1%4=>Text 9,107,S:S>=1%4=>Text 9,105,S
4+T->T:L>6=>Goto L
Orange Text 64-Mat C[4,9L-9+N],Mat C[3,9L-9+N],N:Goto L:IfEnd
Z-1->Z:If Z=0:Then ClrText:Green "YOU ARE DEAD!":Goto E:IfEnd
Green Text 30,40,"LOSE A LIFE":Text 29,40,"           ":Text 30,38,"           "_        //11 spaces each time
Goto R
Lbl N:S+70+50L->S:1+L->L:L<>13=>Goto R:ClrText:Green "YOU FINISHED ALL THE":Green "LEVELS. WELL DONE!"
Lbl E:Locate 1,3,"YOUR SCORE =>":Locate 14,3,S:Locate 1,5,"HIGH SCORE =>":Locate 14,5,Mat C[2,55]     //use the jump symbol in the quotes
If S>Mat C[2,55]
Then For 1->A To 50:Locate 4,7,"NEW HIGH SCORE!":Locate 4,7,"               ":Next:S->Mat C[1,55]:IfEnd          //15 spaces
Locate 1,7,"PLAY AGAIN [Y/N]?":Do
Getkey->A:LpWhile A<>64 And A<>32:A=32=>Goto S
Matrix coding:

The first two rows of the matrix are used for storing the position of your tail, so leave them blank.
The second two rows are used to store the number locations for each level.
For more details on the matrix structure, and how to make make your own levels, view the info file.

First, set the dimensions of Matrix C to [4x55]:
Enter MAT mode, and hit [arrow down] [arrow down] [4] [EXE] [5] [5] [EXE]
Now, enter the level information as below:

The matrix has been broken into 3 parts to make it easier to read.
123456789101112131415161718
1000000000000000000
2000000000000000000
398128309015148525158048528611894515
4112356295635473241355614593256113211

192021222324252627282930313233343536
1000000000000000000
2000000000000000000
398128309015148525158048528611894515
4112356295635473241355614593256113211

37383940414243444546474849505152535455
100000000000000000010
200000000000000000010
3981283090151485251580485286118945150
41123562956354732413556145932561132110


If you encounter any problems with this program contact: trs80@daa.com.au

(beta-testers, greetings etc.)



This page is constantly under construction, so don't worry if some of the linx don't work. If you've been here before, you could also reload this page to get the latest version. This page was last modified 11th October 1999. Best viewed with Netscape Navigator at 800x600 or above. Oh yeah, and don't forget to look at the legal stuff before you copy anything.


Data Analysis AustraliaThis space has been provided by
Data Analysis Australia
Since 26/2/99, you are visitor number
Served by WebCounter