Bonjour tout le monde. Je développe actuellement une dame de pique et j'ai deux fonctions, entre autres, qui ne fonctionnent pas du tout.
http://pastebin.com/1KgY0ri3 Les fonctions en question
http://pastebin.com/QBW2wEWU Les structures
Quelques précisions :
- une table est un pointeur sur une liste chainées composées de 4 cellules joueurs, chacun possédant un score, une "valeur", ainsi qu'un jeu
- un jeu est un pointeur (ici, "joueur" soit "*cellcarte") qui pointe sur une liste de maximum 13 cellcarte, chaque cellcarte possédant une valeur et pointant vers la prochaine carte. Ces cartes sont triées par valeur de façon croissante.
- une zone est également un pointeur sur cellcarte, qui pointe vers les cartes qui sont jouées au centre des joueurs. Une zone ne peut pas contenir plus de 4 cartes.
Mon problème (ou plutôt, mes) :
- la première fonction ne marche pas, et je n'ai aucune idée d'où ça peut venir. Je n'ai pas cherché en détail, donc à moins d'être motivé, ne vous y attardez pas.
- la seconde fonction, et là j'ai vraiment besoin d'aide, ne renvoit absolument pas la valeur que je désire.
Elle devrait renvoyer 0, 1 2 ou 3 (qui correspond au numéro d'un joueur, sa "valeur"). Pour déterminer la valeur, je regarde la valeur de la première carte, pour voir si c'est 0 (qui correspond au deux de trèfle). Si le deux de trèfle est trouvé, c'est que le joueur possédant cette carte doit être celui qui commence (et donc on retourne son numéro). Sinon, on regarde le jeu du joueur suivant. Le problème, c'est que ma fonction me renvoit quasi-systématiquement la valeur -1, le cas qui ne doit jamais arrivé normalement.
Si vous trouvez, je vous remercie déjà d'avance vivement, je vois pas du tout d'où ça peut venir...