Jeu du morpion
Fermé
pyfpafpouf
Messages postés
6
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
2 mai 2016
-
30 mars 2016 à 18:31
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 avril 2016 à 13:50
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 avril 2016 à 13:50
A voir également:
- Jeu du morpion
- 94 jeu - Télécharger - Puzzle & Réflexion
- Jeu zuma - Télécharger - Jeux vidéo
- Jeu du pendu - Télécharger - Vie quotidienne
- Jeu 94 degrés - Télécharger - Divers Jeux
- Logo jeu - Télécharger - Jeux vidéo
4 réponses
mamiemando
Messages postés
33378
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
25 novembre 2024
7 802
Modifié par mamiemando le 30/03/2016 à 18:56
Modifié par mamiemando le 30/03/2016 à 18:56
Bonjour,
Le code n'est pas affiché complètement dans ton image, mais a priori tab[i][j] ne contient pas le caractère que tu veux afficher.
En outre
Dans ton cas il vaudrait mieux regarder la parité du numéro du tour. Si c'est impair c'est aux croix de jouer, sinon au rond.
Bonne chance
Le code n'est pas affiché complètement dans ton image, mais a priori tab[i][j] ne contient pas le caractère que tu veux afficher.
En outre
'njoueur'n'a pas de sens en C. Normalement '...' désigne un caractère (par exemple
'x'ou
'o'. Si tu voulais parler de la chaîne de caractère njoueur, ça s'écrirait
"njoueur".
Dans ton cas il vaudrait mieux regarder la parité du numéro du tour. Si c'est impair c'est aux croix de jouer, sinon au rond.
int main() { unsigned turn; for (turn = 0; turn < 9; ++i) { char symbol = turn % 2 ? 'x' : 'o'; // ... } return 0; }
Bonne chance
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
31 mars 2016 à 23:57
31 mars 2016 à 23:57
Bonjour,
Pour ma part, je dirais tout simplement qu'il faut enlever les apostrophes.
tab[p1-1][p2-1] = njoueur;
Pour ma part, je dirais tout simplement qu'il faut enlever les apostrophes.
tab[p1-1][p2-1] = njoueur;
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
1 avril 2016 à 10:21
1 avril 2016 à 10:21
pyfpafpouf
Messages postés
6
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
2 mai 2016
2 avril 2016 à 12:41
2 avril 2016 à 12:41
resalut !
déjà merci encore de prendre autant à cœur le sujet, c'est super cool !
Sinon on a un autre soucis dans le programme.
Pour voir si l'un des joueurs a gagné, on passe par les sommes (avec les valeurs numériques de X et de O) et si la somme de l'une des lignes, colonnes ou diagonales atteint la somme voulu, le joueur en question gagne.
Pour cela on a utilisé des sous programme (le but de l'exercice étant de passer par des sous programmes).
Sauf que, si la somme marche pour une ligne ou colonne, elle garde en mémoire la somme de la ligne précédente du coup ca fausse tous les calculs...
Enfin bref je sais pas si vous avez compris le problème, je met les captures d'écran.
Ce serait super cool s'il y avait autant de réponse que pour le sujet précédent ! merci !!
la 1ere image concerne le code en lui même, avec les appels des sous programmes
la 2nde concerne les sous programmes
et la 3eme c'est le résultat
déjà merci encore de prendre autant à cœur le sujet, c'est super cool !
Sinon on a un autre soucis dans le programme.
Pour voir si l'un des joueurs a gagné, on passe par les sommes (avec les valeurs numériques de X et de O) et si la somme de l'une des lignes, colonnes ou diagonales atteint la somme voulu, le joueur en question gagne.
Pour cela on a utilisé des sous programme (le but de l'exercice étant de passer par des sous programmes).
Sauf que, si la somme marche pour une ligne ou colonne, elle garde en mémoire la somme de la ligne précédente du coup ca fausse tous les calculs...
Enfin bref je sais pas si vous avez compris le problème, je met les captures d'écran.
Ce serait super cool s'il y avait autant de réponse que pour le sujet précédent ! merci !!
la 1ere image concerne le code en lui même, avec les appels des sous programmes
la 2nde concerne les sous programmes
et la 3eme c'est le résultat
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
2 avril 2016 à 13:50
2 avril 2016 à 13:50
Bonjour,
C'est bien compliqué tout ça...
Ecrire des fonctions pour écrire des fonctions n'a pas d'intérêt.
Sd(), Sl(), Sc() c'est pareil.
Par ailleurs, ces fonctions se content de renvoyer vcase... Ca ne permet donc pas de faire la somme d'une ligne.
Je te conseille de faire une fonction int sommeLignes(int numLignes, int numJoueur) qui te renverra la somme des symboles correspondant au joueur numJoueur (à adapter).
Si cela renvoie une certaine valeur, alors ce joueur a gagné.
C'est bien compliqué tout ça...
Ecrire des fonctions pour écrire des fonctions n'a pas d'intérêt.
Sd(), Sl(), Sc() c'est pareil.
Par ailleurs, ces fonctions se content de renvoyer vcase... Ca ne permet donc pas de faire la somme d'une ligne.
Je te conseille de faire une fonction int sommeLignes(int numLignes, int numJoueur) qui te renverra la somme des symboles correspondant au joueur numJoueur (à adapter).
Si cela renvoie une certaine valeur, alors ce joueur a gagné.
Utilisateur anonyme
30 mars 2016 à 18:52
30 mars 2016 à 18:52
tab[p1-1][p2-1] = 'njoueur';
guillemets
guillemets
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
Modifié par fiddy le 31/03/2016 à 23:57
Modifié par fiddy le 31/03/2016 à 23:57
Je ne pense pas.
Je ne vois pas l'intérêt de mettre une chaîne "njoueur" dans un tableau.
L'idée, sauf erreur, est de mettre la variable njoueur dans le tableau, qui prend la valeur 'X' ou 'O' en fonction du tour.
Donc, plutôt : sans apostrophes :-).
Je ne vois pas l'intérêt de mettre une chaîne "njoueur" dans un tableau.
L'idée, sauf erreur, est de mettre la variable njoueur dans le tableau, qui prend la valeur 'X' ou 'O' en fonction du tour.
Donc, plutôt : sans apostrophes :-).
mamiemando
Messages postés
33378
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
25 novembre 2024
7 802
1 avril 2016 à 10:01
1 avril 2016 à 10:01
Complètement d'accord avec fiddy. Déjà ce ne sera pas cohérent en terme de types. D'autre part même si on corrigeait tab pour que ça le soit, on affecterait systématiquement la même valeur (l'adresse de la chaîne "njoueur").
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
Modifié par fiddy le 1/04/2016 à 21:49
Modifié par fiddy le 1/04/2016 à 21:49
Euh non. Ce n'est clairement pas pareil en C.
En lisant votre post, j'avais compris que vous disiez qu'il fallait mettre des guillemets au lieu d'apostrophes.
Le bon mot et une phrase, ça permet à tout le monde de comprendre :-).
En lisant votre post, j'avais compris que vous disiez qu'il fallait mettre des guillemets au lieu d'apostrophes.
Le bon mot et une phrase, ça permet à tout le monde de comprendre :-).
Modifié par [Dal] le 31/03/2016 à 10:33
oui, mais dans la capture du code de pyfpafpouf, on voit que est une variable déclarée et on voit aussi une ligne .
si est un tableau de char (on ne voit pas sa déclaration en revanche), l'affectation doit se faire comme , tout simplement en utilisant le nom de la variable.
@pyfpafpouf: les apostrophes servent à désigner un caractère littéral, comme le dit mamiemando, pas une variable.
Dal
31 mars 2016 à 10:54
Modifié par [Dal] le 31/03/2016 à 11:07
plus rapide et plus concis oui, mais moins précis :-P, de plus tu parlais de guillemets, alors tu voulais sans doutes mettre sur la piste pyfpafpouf en disant: apostrophes.
... du coup on pouvait comprendre que tu disais qu'il fallait utiliser des guillemets au lieu des apostrophes, et, du coup, mamiemando dans son post a fait la différence entre les deux usages littéraux apostrophes / guillemets en donnant au passage une solution brillante pour gérer la sélection du symbole.
bref, tu peux voir mon modeste commentaire (qui ne peut recevoir un +1 puisque c'est juste un commentaire) comme un hommage à ta réponse (perfectible), en apportant un peu plus de contexte :-D
elle serait parfaite ta réponse, si tu précises en commentaire à ta propre réponse, que tu veux parler des apostrophes, et qu'il faut les retirer
Dal
31 mars 2016 à 12:42
merci pour votre réponse super rapide et précise ! j'ai mis +1 à tous comme ça pas de jaloux !
effectivement c’était bien un problème de guillemets. Et merci également pour le petit cours sur ces fameux guillemets, c'est pas toujours easy à comprendre !
31 mars 2016 à 14:19