Qu'est qui ne marche pas ??
(pourquoi tu est oblige d'appuyer deux fois sur une touche ... he oui tu fais deux 'getch', un dans le main, et autre dans 'Avancer_Snake' ? )





-------------------------------
Réponse au message :
-------------------------------
>
> Salut ,
> Je suis en train de coder un snake et la je crois avoir bien compris le principe de l'algo mais niveau code
> ça foire je sais pas pourquoi voila le principe de l'algo que je vais utiliser :
> je vais faire un tableau qui contient les coordonnées X de tous les points du serpent et un autre pour les coordonnées Y en partant de la tete du serpent jusqu'a la queue.
> pour ce qui est du mouvement on bouge seulement la tete( la premiere case des deux tableaux) puis il faut partir de la deuxieme case jusqu'a la derniere et lui attribuer la précedente (une boucle for suffit)
> ca donne qqch comme ca:
>
> int i;
> for(i=1;i<TAILLE_SERPENT;i++)
> {
> tab_X[i]=tab_X[i-1];
> tab_Y[i]=tab_Y[i-1];
> }
>
> voila donc mais niveau code j'ai essayé mais ça bug !
>
> #include <stdio.h>
> #include <econio.h>
>
>
>
> void Affichage_Snake1();
> void Affichage_Snake2();
> void Affichage_Snake3();
> void Affichage_Snake4();
> void Avancer_Snake();
>
> int Snake_X[80];
> int Snake_Y[24];
> int xs=23,ys=9;
>
>
>
> void Affichage_Snake1() // Fonction qui va Afficher la tete du snake seulement
> {
> clrscr();
> gotoxy(Snake_X[1],Snake_Y[1]);
> printf("*");
> }
>
> void Affichage_Snake2() // Fonction qui va Afficher le reste du corp du snake !
> {
>
> gotoxy(Snake_X[2],Snake_Y[2]);
> printf("#");
>
> }
>
> void Affichage_Snake3()
> {
> gotoxy(Snake_X[3],Snake_Y[3]);
> printf("#");
> }
>
> void Affichage_Snake4()
> {
> gotoxy(Snake_X[4],Snake_Y[4]);
> printf("#");
> }
>
> void Avancer_Snake() // Fonction qui va faire Avancer le Snake
> {
>
>
> switch(getch ())
> {
>
> case 'z':
>
> Snake_X[1]=xs; // Le premier élément (la tete)
> Snake_Y[1]=ys-1;
> Affichage_Snake1();
> ys=ys-1;
>
> Snake_X[2]=Snake_X[1];//Le 2eme élément
> Affichage_Snake2();
>
> Snake_X[3]=Snake_X[2];//Le 3ème élément
> Affichage_Snake3();
>
> Snake_X[4]=Snake_X[3];//Le 4ème élément
> Affichage_Snake4();
> // Affichage2 Affichage3 Affichage4 seront traités grace à une boucle for !
> // Ici c'est juste pour comprendre le principe ...
> break;
>
> }
> }
>
> int main()
> {
>
>
>
> do
> {
>
> Avancer_Snake();
>
> }
> while(getch()!='p');
>
> }
>
>
> //FIN
>
> je vous rassure les fonctions affichage serpent 2 3 4 je les ferai a l'aide d'une boucle enfin ..là c'est juste pour comprendre qu'est ce qui foire ...??
>
> Si quelqu'un pourrait m'aider ça serait cool :) ..
> Merci
>