voila le code si qqn souhaite m'aider:
// C Source File // Created 16/07/01; 13:47:46 #define OPTIMIZE_ROM_CALLS // Use ROM Call Optimization #define SAVE_SCREEN // Save/Restore LCD Contents #include <tigcclib.h> // Include All Header Files short _ti89; // Produce .89Z File unsigned char *LCD; unsigned char *plan0; unsigned char *plan1; unsigned char *plan0b; unsigned char *plan1b; INT_HANDLER save_int_1 = NULL; static int couleur; volatile int x; static int point; static int brique; static int largeur; static int pos; static int score; static char mode[6]={1,2,3,3,2,1}; INT_HANDLER save_int_1; void Horiz(short y,short x2,short x3,short z) //ligne de 0 a 100 { int i,j=0; short plus=0b11111111,plus2=0b11111111; plan0 = GetPlane(0); plan1 = GetPlane(1); i=(y<<5) - (y<<1); plan0 += i; plan1 += i; i=(x2/8); while (i--) { if (z==1 || z==3 ) { *plan0 = (char) (0b11111111); plan0 += 1; } if (z==2 || z==3) { *plan1 = (char) (0b11111111); plan1 += 1; } j++; } i=x2-((x2>>3)<<3); if (i) { plus <<= (8-i); if (z==1 || z==3) *plan0 = (char) (plus); if (z==2 || z==3) *plan1 = (char) (plus); } x3 += (i-8); i = (x3>>3) + 1; plan0 += i; plan1 += i; j += i; i=x3-((x3>>3)<<3); plus2 >>= i; if (z==1 || z==3) *plan0 = (char) (plus2); if (z==2 || z==3) *plan1 = (char) (plus2); i=(14-j); while (i--) { if (z==1 || z==3) { plan0 += 1; *plan0 = (char) (0b11111111); } if (z==2 || z==3) { plan1 += 1; *plan1 = (char) (0b11111111); } } } void ScrollUp(unsigned short* buffer,unsigned short lines) { register short* dest = buffer; register short* src = dest + 15; register short tmplines = lines; tmplines-=2; asm volatile ( "0: move.l (%0)+,(%1)+;move.l (%0)+,(%1)+;move.l (%0)+,(%1)+ move.l (%0)+,(%1)+;lea 14(%0),%0;lea 14(%1),%1 dbra %2,0b clr.l (%1)+;clr.l (%1)+;clr.l (%1)+;clr.l (%1)+ clr.l (%1)+;clr.l (%1)+;clr.l (%1)+;clr.w (%1)+" : "=a" (src), "=a" (dest), "=d" (tmplines) : "0" (src), "1" (dest), "2" (tmplines)); } void Synchronise(void) { ScrollUp(GetPlane(0),110); ScrollUp(GetPlane(1),110); Horiz(99,x,largeur,mode[couleur]); if (couleur++==6) couleur=0; point++; brique++; } void evolution(short level) { int l; l=x+largeur; if (level) { if(random(2)) { if (l<108) x++; } else { if (x>10) x--; } } if (level==1) { switch(random(4)){ case 0: if (l<108) x+=4; break; case 1: if (l<108) x+=2; break; case 2: if (x>10) x-=4; break; case 3: if (x>10) x-=2; break; } } if (level==2) { switch(random(6)) { case 0: if (l<108) { x+=4; pos=1; } break; case 1: if (l<108){ x+=2; pos=1; } break; case 2: if (x>10){ x-=4; pos=0; } break; case 3: if (x>10) { x-=2; pos=0; } break; case 4: if (x>10 && pos==1) x-=4; if (l<108 && pos==0) x+=4; break; case 5: if (x>10 && pos==1) x-=2; if (l<108 && pos==0) x+=2; break; } } brique=0; } void StartJeu() { int i=100,quitte=1; score=0; largeur= 70; x=19; point=0; brique=4; randomize(); while (i--) { Horiz(i-1,x,largeur,mode[i%7]); } couleur=2; OSVRegisterTimer(1,1,Synchronise); ///////////////////////////////////////////////////////////////////////////////: while (quitte) { if (brique==8 && score<100) { brique=4; evolution(0); } if (brique==4 && score<1000) { brique=4; evolution(1); } if (score==1000 && x>10) { pos=1; } else { pos=0; } if (brique==8 && score>1000) { brique=4; evolution(2); } if (point==100 && largeur>10) { score+=point; point=0; largeur--; } printf_xy(130,1,"%d",score); if(_rowread(0x23F)&0x1) quitte=0; } OSVFreeTimer(1); } /////////////////////////////////////////////////////////////////////////////: void _main(void) { clrscr(); GrayOn(); save_int_1=GetIntVec(AUTO_INT_1); SetIntVec(AUTO_INT_1,DUMMY_HANDLER); StartJeu(); SetIntVec(AUTO_INT_1,save_int_1); GrayOff(); }
Bon ce n'est pas tres bien programme, mais ca fait pas trop lontemp que je prog en C (un peu comme oxman

Si qqn peut me dire ce qui foire...