CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Match fight--Jeu en C (SDL)

adn59
adn59
Niveau 7
17 février 2007 à 23:02:00

bonjour , donc voici la suite de mon premier jeu en C
->
http://perso.orange.fr/crazymind/match-fight.rar

but du jeu:(pour ceux qui connaisse il y a eu ce jeu dans fort boyard)
vous devez retirez 1 , 2 ou 3 baton
si vous retirez le dernier vous perdez

-jeu: 3 modes de difficulté
-jeu contre l´ordinateur

Donc j´aimerais avoir des avis sur ce petit jeu.

je n´ai pas mis le code source dans le zip, car il n´est pas propre du tout, mais si sa intéresse quelqu´un , no problem.
merci

adn59
adn59
Niveau 7
17 février 2007 à 23:05:06

désolé erreur de lien
http://perso.orange.fr/crazymind/MATCH-FIGHT.zip

miaousouilaguer
miaousouilaguer
Niveau 9
18 février 2007 à 03:10:03

faudrait juste laisser quelques secondes avant le choix du pc non?

mikmacer
mikmacer
Niveau 8
18 février 2007 à 04:59:03

Quand même bien programmé, par contre, il y a une petite faute d´ortographe:

Vous avez gagner ==> vous avez gagné

adn59
adn59
Niveau 7
18 février 2007 à 09:30:03

Merci pour vos commentaires

miaousouilaguer -> Je sais mais j´ai un petit problème avec la fonction " SDL_Delay " il met en pause le programme, mais si par exemple l´utilisateur tape 3 plusieurs fois pendant le tour du pc , les prochains coup du joueur seront forcement 3..

mikmacer -> Désolé pour la faute.

Fvirtman
Fvirtman
Niveau 10
18 février 2007 à 11:43:45

"mais si par exemple l´utilisateur tape 3 plusieurs fois pendant le tour du pc , les prochains coup du joueur seront forcement 3"

--> De quelle façon geres tu tes entrées au clavier ? avec une fonction d´update ? ou alors directement avec SDL_pollevent ?

Si c´est cette derniere, il te suffit, avant le tour de chaque joueur de "flusher" la file d´events : autrement dit, avant le tour de chaque joueur, tu fais un
while(SDLPollEvent){riendutout}

ça te vide les events sans en tenir compte, donc le "3" ne sera pas retenu pour le joueur :)

TNToon
TNToon
Niveau 9
18 février 2007 à 11:57:47

Je veux bien le code source stp :) (Linux).

killpatate
killpatate
Niveau 8
18 février 2007 à 13:25:36

Même remarque que tout le monde, c´est pas mal mais pas le temps de voir se que fait le PC.

Autre critique positive ; c´est assez sobre niveau graphisme c´est bien je trouve :)

sangohan42
sangohan42
Niveau 9
18 février 2007 à 14:02:28

franchemen un jeu avec plein de mini jeux a la fort boyart moi ca me plarait(peut etre tu continuera dans cette voie la ^^). Il manque juste a celui ci, comme l´on déja fort bien dis ces chers jeunes gens, un temps d´attente pour voir ce qu´il se passe parceque la ca va vraiment vite

pouranat
pouranat
Niveau 5
18 février 2007 à 14:20:08

Fvirtman

j ai eu le meme probleme sur un de mes petits programmes : j utilisais aussi SDL_pollevent
donc la manip que tu donnes : je ne comprends pas tres bien ce qui se passe en fait :
si un evenement clavier avait été mémorisé auparavant ("en trop ") , le fait de mettre la commande
while(SDL_PollEvent){}
ca va "vider" la memoire ?
j ai un peu du mal a comprendre ce qui se passe ...

Fvirtman
Fvirtman
Niveau 10
18 février 2007 à 23:50:23

pouranat >

Bon, je te propose d´utiliser ma fonction "UpdateEvents" que tu trouveras dans mes tutos, qui te permet d´isoler completement les pollevents que tu ne comprends pas bien :)

Sinon, explication de ce qu´il se passe :

Quand tu utilises SDL, un "thread", autrement dit un petit programme parrallele, surveille en permanence l´appui sur une touche, la souris, et plein d´autres choses.

Quand une touche est appuyée, elle est mise en file d´attente : c´est a dire, imagine une file d´attente de personnes devant un cinéma : quand tu appuies sur la touche F, un mec se met a la queue, qui porte l´information que tu as appuyé sur F.

La fonction PollEvent te permet de regarder la prochaine personne de la queue, c´est le guichet si tu veux. si tu fais :

while(SDL_PollEvent(&event))

SDL_PollEvent renvoie vrai si une personne a été vue (et remplit "event"), et faux s´il n´y a plus personne dans la file.

En gros, cette ligne veut dire "tant qu´il y a quelqu´un dans la file, fait le passer, et a chaque fois, met ses infos dans "events"
le corps du while derriere te permet d´analyser ce que la personne (le prochain event) informe.
Et tu sors du while uniquement quand tu as traité tous les events...

Donc ce que je te propose ci dessus, c´est de faire passer tout le monde, mais, n´ayant rien mis dans le while, d´ignorer purement ces events.

Concretement, si des events "j´ai appuyé sur 3" ont été mis en queue, juste avant que le joueur joue, ça les "vide" de la file d´attente, sans les analyser....

pouranat
pouranat
Niveau 5
19 février 2007 à 00:34:11

ok merci bcq fvirtman : je comprenais plus ou moins le pollevent quand meme , c etait juste le fait de "vider la file d attente " je ne comprenais pas comment ca marchait ...
maintenant tout est plus clair , je vais enfin pouvoir corriger ce vieux bug dans mon tout aussi vieux snake ... merci bcq

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment