.0:Return ->a pi9872->Z pi9340->Y MakeVar(6,"UNOYEL->M 2+FindVar("UNY->w+16->s+138->r+8->p+80->q+80->x+32->y+32->z+32->b+1->c+1->d+1->e Lbl "F->F SetBuf('Y SetBuf(^^oZ ClrDrawZ ClrDraw Contrast(27 Rect(24,0,25,46,3 Rect('25,0,69,0,0 Rect(6,24,10,81,3 Rect('5,27,88,27 Rect(15,33,22,64,3 Rect(4,54,11,88,3 Rect('5,63,91,63,0 Rect(30,33,20,34,3 Rect(23,33,22,48,3 Rect('24,53,28,53 Rect('66,53,70,53 Rect('28,52,66,52 Rect('11,23,17,23 Rect('78,23,84,23 Rect('17,22,24,22 Rect('69,22,78,22 Circle(29,13,3 Circle(29,26,3 Circle(29,41,3 Circle(29,54,3 Circle(29,67,3 Circle(29,79,3 Misc(1,Y,Z,768 Fill(0 Rect(31,35,19,33,0 For(C,1,5 C*26 +FindVar("UNY->B For(A,1,7 2*C -1->K Tile(2,B,A,K,2,13,Z DispGraph If A!=7 Tile(2,B,A,K,2,13,Z call F End End SetFont 2 SetBuf(Z Text(56,10,"start / quit / stats SetBuf(Y SetBuf(^^oZ 0->K 9->V Return->R getKey->G call Lbl "BRILL call F If G=15 or G=51 Goto Lbl "Q If G=50 or G=49 call Lbl "STAT If G=99 Goto a If G<52 Goto R ClrDrawZ Fill(0 M[0,0,0,0,0,0 2->V 0->W->I->J->K->U ~1->O 100->H Contrast(30 Horizontal 56,0 Return->R getKey->G If O Then SetBuf('Z Rect(0,0,35,15,0 Text(0,0,"Done: Text('+6,0,I Text(+6,0,"Fails: Text('+6,0,J Text(+6,0,"ToDrop: Text('+6,0,H SetBuf('Y End K+1->K If K=1 or K=5 Tile(2,p,2,3,5,16,Z If K=6 and G=14 Then Inv(O->O ClrDrawZ End If K=6 or K=10 Tile(2,q,2,3,5,16,Z If K=10 0->K If U=0 and randInt(0,2 Then 0->h randInt(1,5 If =1 x->h If =2 y->h If =3 z->h If =4 Tile(2,w,40,11,,16 If h Then Tile(2,h,40,10,2,16 M+5 [1 End End DispGraph For(C,1,V ShiftBuf(1,2 U+1->U Vertical 95 End Horizontal 56,0 Pxl-Off(randInt(56,65),randInt(94,97 DispGraph If U>=16 Then If (M J+1->J Misc(1,M+1,M,5 M+5 [0 0->U End If G=9 and !W Then H-1->H 1->W 0->theta Tile(5,s,20,3 End If W Then For(C,1,V+1 Rect(0,20,20,30,11 Horizontal 20 theta+1->theta End End If theta>=19 Then If !(M+1 J+1->J If (M+1 Then I+1->I M+1 [0 End 0->W->theta End If !H and !W or G=15 Goto Lbl "E Goto R .E 0->S If I>J Then I-2*J ->S End call Lbl "BUF1 Text(12,17,"Well Done ! Text(24,20,"Score: Text('^^oS call Lbl "BUF2 100-H->H b[H+(b c[I+(c d[J+(d If S>(e e[S call Lbl "STAT Goto a .Q ClrDraw ClrDrawZ DispGraph DelVar "UNOYEL ClrHome Stop .F DispGraph Fill(23,0,35,4,4,18 End .STAT call Lbl "BUF1 Text(12,17,"Statistics Text(36,12,"Total Drops: Text('^^oGetInc(b Text(29,12,"Total okays: Text('^^oGetInc(b Text(22,12,"Total fails: Text('^^oGetInc(b Text(43,12,"High Score: Text('^^oGetInc(b call Lbl "BUF2 99->G End .BRILL If !K Then randInt(3,88->A randInt(0,15->B End If !K or K=7 Tile(2,r,B,A,1,8,Z If K=7 ~V->K K+1->K End .BUF1 ClrDrawZ Fill(0 For(90 Pxl-Off(randInt(3,63),randInt(3,93 End SetBuf('Z Rect(11,8,44,76,6 Rect(10,7,44,76,6 Rect('20,19,60,19 End .BUF2 SetBuf('Y 0->K+1->V For(C,1,10 For(U,1,53 Tile(2,s,U,C call Lbl "BRILL DispGraph If getKey=15 Then 53->U 10->C End If U!=53 Tile(2,s,U,C U+3->U End End Repeat getKey=15 call Lbl "BRILL DispGraph End End
(YES, the gif is still blinking, but on a real calc it works !)
.0:Return ->a pi9872->Z pi9340->Y MakeVar(6,"UNOYEL->M 2+FindVar("UNY->w+16->s+138->r+8->p+80->q+80->x+32->y+32->z+32->b+1->c+1->d+1->e Lbl "F->F SetBuf('Y SetBuf(^^oZ ClrDrawZ ClrDraw Contrast(27 Rect(24,0,25,46,3 Rect('25,0,69,0,0 Rect(6,24,10,81,3 Rect('5,27,88,27 Rect(15,33,22,64,3 Rect(4,54,11,88,3 Rect('5,63,91,63,0 Rect(30,33,20,34,3 Rect(23,33,22,48,3 Rect('24,53,28,53 Rect('66,53,70,53 Rect('28,52,66,52 Rect('11,23,17,23 Rect('78,23,84,23 Rect('17,22,24,22 Rect('69,22,78,22 Circle(29,13,3 Circle(29,26,3 Circle(29,41,3 Circle(29,54,3 Circle(29,67,3 Circle(29,79,3 Misc(1,Y,Z,768 Fill(0 Rect(31,35,19,33,0 For(C,1,5 C*26 +FindVar("UNY->B For(A,1,7 2*C -1->K Tile(2,B,A,K,2,13,Z DispGraph If A!=7 Tile(2,B,A,K,2,13,Z call F End End SetFont 2 SetBuf(Z Text(56,10,"start / quit / stats SetBuf(Y SetBuf(^^oZ 0->K 9->V Return->R getKey->G call Lbl "BRILL call F If G=15 or G=51 Goto Lbl "Q If G=50 or G=49 call Lbl "STAT If G=99 Goto a If G<52 Goto R ClrDrawZ Fill(0 M[0,0,0,0,0,0 2->V 0->W->I->J->K->U->O 100->H Contrast(30 Horizontal 56,0 Return->R getKey->G If O Then SetBuf('Z Rect(0,0,35,15,0 Text(0,0,"Done: Text('+6,0,I Text(+6,0,"Fails: Text('+6,0,J Text(+6,0,"ToDrop: Text('+6,0,H SetBuf('Y End K+1->K If K=1 or K=5 Tile(2,p,2,3,5,16,Z If K=6 or K=10 Tile(2,q,2,3,5,16,Z If K=10 0->K If U=0 and randInt(0,2 Then 0->h randInt(1,5 If =1 x->h If =2 y->h If =3 z->h If =4 Tile(2,w,40,11,,16 If h Then Tile(2,h,40,10,2,16 M+5 [1 End End DispGraph For(C,1,V ShiftBuf(1,2 U+1->U Vertical 95 End Horizontal 56,0 Pxl-Off(randInt(56,65),randInt(94,97 DispGraph If U>=16 Then If (M J+1->J Misc(1,M+1,M,5 M+5 [0 0->U End If G=9 and !W Then H-1->H 1->W 0->theta Tile(5,s,20,3 End If W Then For(C,1,V+1 Rect(0,20,20,30,11 Horizontal 20 theta+1->theta End End If theta>=19 Then If !(M+1 J+1->J If (M+1 Then I+1->I M+1 [0 End 0->W->theta End If G=14 Then Inv(O->O SetBuf('Z Rect(0,0,35,28,0 SetBuf('Y End If !H and !W or G=15 Goto Lbl "E Goto R .E 0->S If I>J Then I-2*J ->S End call Lbl "BUF1 Text(12,17,"Well Done ! Text(24,20,"Score: Text('^^oS call Lbl "BUF2 100-H->H b[H+(b c[I+(c d[J+(d If S>(e e[S call Lbl "STAT Goto a .Q ClrDraw ClrDrawZ DispGraph DelVar "UNOYEL ClrHome Stop .F DispGraph Fill(23,0,35,4,4,18 End .STAT call Lbl "BUF1 Text(12,17,"Statistics Text(36,12,"Total Drops: Text('^^oGetInc(b Text(29,12,"Total okays: Text('^^oGetInc(b Text(22,12,"Total fails: Text('^^oGetInc(b Text(43,12,"High Score: Text('^^oGetInc(b call Lbl "BUF2 99->G End .BRILL If !K Then randInt(3,88->A randInt(0,15->B End If !K or K=7 Tile(2,r,B,A,1,8,Z If K=7 ~V->K K+1->K End .BUF1 ClrDrawZ Fill(0 For(90 Pxl-Off(randInt(3,63),randInt(3,93 End SetBuf('Z Rect(11,8,44,76,6 Rect(10,7,44,76,6 Rect('20,19,60,19 End .BUF2 SetBuf('Y 0->K+1->V For(C,1,10 For(U,1,53 Tile(2,s,U,C call Lbl "BRILL DispGraph If getKey=15 Then 53->U 10->C End If U!=53 Tile(2,s,U,C U+3->U End End Repeat getKey=15 call Lbl "BRILL DispGraph End End
It's quite great, there is only two problems:
1) The high score sometimes display "255" or "653**", I don't know why and how to solve it... 2) When you press [^] in the game, it displays the score and some info. But I don't know why the back of the sled is BLINKING. The rectangle which erases the score display is small and doesn't erase the sled. That's strange.
.0:Pause "Grammer Required":Returndoesn't work. The program is Paused or crashes when Grammer is installed.
( unlike, the "Get("USprites→w+16→s+6→a+26→b..." works very well, thanks. But I had to add a "-2" in front of that, I don't know why, but it works ! great. )
Do you mind if I look for a way to speed up your grayscale, though?
Okay, thanks !
Quote
I will point out that you can convert all the hex (sprites?) directly to data and store all the sprites in an appvar. This will save some memory and slightly speed up sprite display.
If I do, labels won't work... But I can use pointers, yes. I suppose to know the width in bytes of each sprite to add it to the appvar pointer, yes ?
Hey everyone, I am making a new program, (for the christmas Espace-TI contest, I wasn't motivated for Omnimaga's Apocalyptic contest and Cemetech contest 9... I try easier ! )
So, you are Santa Claus in your flying ferrari, carried out by the supple Rudolph, and you throw packs on the houses down.
You have 200 packets to drop, but you accumulate fails when you throw next to the house, or when you don't throw on a house. I think it's a bit easy, if you have ideas that could make it harder, please tell me !
I will post my code, wait 30 minutes please, enjoy this screen while waiting... (it's an old gif, Santa claus doesn't throw anything, and wabbitemu makes it slow.)