arconius
Messages postés27Date d'inscriptiondimanche 10 février 2002StatutMembreDernière intervention16 janvier 2006
-
7 juin 2002 à 13:34
arconius
Messages postés27Date d'inscriptiondimanche 10 février 2002StatutMembreDernière intervention16 janvier 2006
-
10 juin 2002 à 01:19
Voila j'ai voulu créé un jeu de course de bonhommes mais étant débutant je suis confronté à un problème, mon bonhomme descend normalement dans le circuit quand on le dirige mais au bout d'un moment il y a un bug pouvez vous m'aidez voici mon code :
#include <stdlib.h>
#include
#include <time.h>
#include <conio.h>
int main ()
{
int circuit1X;
int circuit1Y;
int circuit2X;
int circuit2Y;
int smiley1x;
int smiley1y;
int smileyEx;
int smileyEy;
char touche;
circuit1X=30;
circuit1Y=5;
circuit2Y=5;
smiley1x=36;
smiley1y=6;
do
{
gotoxy (smileyEx,smileyEy);
cout << " ";
gotoxy (smiley1x,smiley1y);
cout << "\x01";
smileyEx=smiley1x;
smileyEy=smiley1y;
while (kbhit())
{
touche=getch();
switch (touche)
{
case 75: smiley1x=smiley1x-1;
break;
case 77: smiley1x=smiley1x+1;
break;
case 80: smiley1y=smiley1y+1;
}
} if ( smiley1x circuit1X || smiley1x circuit2X)
{
cout << "game over !";
getch();
return 0;
}
circuit1Y++;
circuit2Y++;
circuit1X=(rand()%4)+(circuit1X-2);
gotoxy (circuit1X,circuit1Y);
cout << "\x2A";
circuit2X=circuit1X+12;
gotoxy (circuit2X,circuit2Y);
cout << "\x2A";
long i = 60000000L;
clock_t start, finish;
start = clock();
while( i-- );
finish = clock();
circuit1Y++;
circuit2Y++;
circuit1X=(rand()%4)+(circuit1X-1);
gotoxy (circuit1X,circuit1Y);
cout << "\x2A";
circuit2X=circuit1X+12;
gotoxy (circuit2X,circuit2Y);
cout << "\x2A";
circuit2X=circuit1X-12;
if (circuit1Y>24)
{
gotoxy (circuit1X-12,circuit1Y-24);
cout << " ";
gotoxy (circuit1X-12,circuit1Y-23);
cout << " ";
}
long t = 60000000L;
clock_t start1, finish1;
start1 = clock();
while( t-- );
finish1 = clock();
}while (circuit1Y < 2500);
return 0;
}
Excusez pour le peu de clartée mais je débute...
Si vous savez comment faire je vous remercie d'avance .
arconius
Messages postés27Date d'inscriptiondimanche 10 février 2002StatutMembreDernière intervention16 janvier 2006 8 juin 2002 à 22:33
J'y ai travailler tout c'est après midi et j'avais compris pour le problème de la fin de la fenêtre dos j'ai essayer d'y remedier en faisant une sorte de boucle qui revenait a chaque fois en haut de la fenêtre dos et qui effaçait le chemin précedent mais dans ce cas là le jeu devient complètement inintérèssant (déjas qu'il l'était pas trop au début!)
Je finalement obter pour dessiner un circuit en rond et faire tourner mes voiture dedans. Le premier qui fait dix tour gagne, je trouve domage d'obter pour cette solution car le circuit n'est plus dynamique. Mais bon quand on est pas très douer on fait comme on peu ! Je te remercie quand même d'avoir essayer d'apporter une solution à mon problème c sympa de ta part. J'essayerais un jour de t'aider à mon tour mais d'ici là j'ai intérêt à progresser ! aller @+.
cs_kjus
Messages postés269Date d'inscriptionmercredi 24 avril 2002StatutMembreDernière intervention 9 juin 2003 9 juin 2002 à 10:12
sinon, pour continuer le circuit au dela de l'écran, iltu pouvais juste écrire ligne par ligne sans gotoxy : le reste du circuit serait remonté automatiquement.
Petit conseil pour que cela soit plus fluide : fait déplacer ton caractère juste après que la touche soit pressée. (dans les case : ..)