Je suis à la fin du cours du C de Mathéo, j'ai commencé un jeu de clic. Le problème c'est que le chrono ne s'actualise que quand je clique. J'ai essayé de mettre PollEvent à la place du Wait Event, pas de problème le chrono marche bien mais dès que je clique 1 fois j'arrive à la fin du jeu direct !!!
D'ailleurs autre problème, si je tape au clavier le compteur s'incrémente quand même, je ne comprends pas parce que j'ai bien mis les évènement SDL_MOUSSEBUTTONDOWN.
Enfin, 3ème problème : il y a un décompte de 3 secondes dans le main mais si je clique avant la fin du décompte le compteur de coups s'incrémente par avance alors qu'il n'est pas dans le main... Là dessus je coince.
J'ai pas tout regardé, mais voici déjà quelques conseils.
Indente mieux ton code. Là il y a des parties pas très lisibles.
Fais plus de fonctions. Une bonne fonction fais un truc et le fais bien. En général ça prend moins de trente lignes et je suis gentil.
Vérifie le retour des fonctions à risques.
Déclare tes variables au plus près de leur utilisation (et en les initialisant directement avec la valeur correcte si possible).
SDL_PollEvent est censé s'utiliser dans une boucle. Mais pour une meilleure gestion des évènements, je t'invite à aller lire le tutoriel de @Fvirtman sur le sujet.
Commence par faire un programme simple qui marche. Là je vois des trucs avec des nombres aléatoires, de la gestion des meilleurs scores, alors que l'idée principale (cliquer le plus possible) ne fonctionne pas encore.
Et finalement, je ne peux que t'encourager à délaisser la SDL 1.2 pour passer à la SDL 2. Ça fait plus de cinq ans maintenant qu'elle est sortie et cinq ans c'est beaucoup.
Merci d'avoir répondu, je vais creuser les pistes. En fait avant de faire ce jeu, j'ai fait le nombre mystère, le pendu et le Sokoban de Mathéo et là comme je suis arrivé à la fin du cours, j'ai voulu faire un jeu tout seul avec ce que j'avais appris. Je sais bien que la SDL2 est sorti mais je voulais finir le cours avec la 1.2.
En fait le jeu marche bien avec l'enregistrement du meilleur score, le chrono qui s'affiche mais que lorsque je clique. Après il y a des petits bugs, comme le fait de pouvoir commencer à cliquer avant la fin du décompte, le "1" du décompte qui s'affiche mal (on dirait qu'il reste une trace d'un chiffre affiché précemment), et enfin le fait de pouvoir taper au clavier alors que j'ai mis que les clics à la souris.
En tout cas merci d'avoir pris le temps de répondre.
Edit : Bon j'ai trouvé pourquoi il restait une trace du nombre lors du décompte, j'avais oublié le SDL_FillRect dans la boucle du décompte pour effacer l'écran...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html