// Header File // Created 27/12/2003; 21:52:55 //Affichage indicateurs de position et gestion... #define FLECHE_HAUT 0 #define FLECHE_BAS 1 #define FLECHE_GAUCHE 2 #define FLECHE_DROITE 3 #define FLECHE_STEP2 4 //Affiche indicateur void ShowIndicators (void) { unsigned char sprite=0; short x,y; BOOL pos0,pos1,pos2,pos3; //TI92+ ou V200 if (CALCULATOR) { //Si mode graphique=0 (Scrolling vertical seulement) if (!GRAPHIC_MODE) { //------------------ //INDICATEURS BILLES //------------------ //Parcours Billes for (int i=0;iypos+BILLE_SIZEY2)ypos>(yScroll+127); //Si bille en dehors de l'écran if (pos0 || pos1) { //Déplacement vers le haut if (Bille [i]->ydir==-1) sprite=FLECHE_HAUT; //Déplacement vers le bas else sprite=FLECHE_BAS; //Zone affichage sprite if (pos0) y=yScroll; else y=yScroll+127-8; //Dessine flèches DrawFleche (Bille [i]->xpos,y,8,SPRITE_FLECHE [sprite],SPRITE_FLECHE [sprite],ScreenBuffer); } } //------------------- //INDICATEURS RACKETS //------------------- //Parcours rackets for (int i=0;iypos+Racket [i]->size_y2)ypos>(yScroll+127); //Si Racket en dehors de l'écran if (pos0 || pos1) { //Vers le Haut if (pos0) { sprite=FLECHE_HAUT; y=yScroll;} //Vers le Bas else { sprite=FLECHE_BAS; y=yScroll+127-8;} //Dessine flèches DrawFleche (Racket [i]->xpos+(Racket [i]->size_x2/2),y,8,SPRITE_FLECHE [sprite],SPRITE_FLECHE [sprite],ScreenBuffer); } } } } //TI89 else { //Si mode graphique=0 (Scrolling vertical seulement) if (!GRAPHIC_MODE) { //------------------ //INDICATEURS BILLES //------------------ //Parcours Billes for (int i=0;ixpos+BILLE_SIZEX2)xpos>(xScroll+159); //Bille dans zone? Suivant y pos2=(Bille [i]->ypos+BILLE_SIZEY2)ypos>(yScroll+99); //Si bille en dehors de l'écran suivant x if (pos0 || pos1 || pos2 || pos3) { //Coordonnées par défaut x=Bille [i]->xpos+(BILLE_SIZEX2/2); y=Bille [i]->ypos+(BILLE_SIZEY2/2); //Suivant y if (pos2 || pos3) { //Déplacement vers le haut if (Bille [i]->ydir==-1) sprite=FLECHE_HAUT; //Déplacement vers le bas else sprite=FLECHE_BAS; //Zone affichage sprite if (pos2) y=yScroll; else y=yScroll+99-8; } //Suivant x if (pos0 || pos1) { //Déplacement vers la gauche if (Bille [i]->xdir==-1) sprite=FLECHE_GAUCHE; //Déplacement vers la droite else sprite=FLECHE_DROITE; //Zone affichage sprite if (pos0) x=xScroll; else x=xScroll+159-8; } //Dessine flèches DrawFleche (x,y,8,SPRITE_FLECHE [sprite],SPRITE_FLECHE [sprite],ScreenBuffer); } } //------------------- //INDICATEURS RACKETS //------------------- //Parcours rackets for (int i=0;ixpos+Racket [i]->size_x2)xpos>(xScroll+159); //Racket dans zone? Suivant y pos2=(Racket [i]->ypos+Racket [i]->size_y2)ypos>(yScroll+99); //Si Racket en dehors de l'écran if (pos0 || pos1 || pos2 || pos3) { //Coordonnées par défaut x=Racket [i]->xpos+(Racket [i]->size_x2/2); y=Racket [i]->ypos+(Racket [i]->size_y2/2); //Suivant y if (pos2 || pos3) { if (pos2) { sprite=FLECHE_HAUT; y=yScroll;} //Vers le Bas else { sprite=FLECHE_BAS; y=yScroll+99-8;} } //Suivant x if (pos0 || pos1) { if (pos0) { sprite=FLECHE_GAUCHE; x=xScroll;} //Vers le Bas else { sprite=FLECHE_DROITE; x=xScroll+159-8;} } //Dessine flèches DrawFleche (x,y,8,SPRITE_FLECHE [sprite],SPRITE_FLECHE [sprite],ScreenBuffer); } } } } }