Décrire clairement la règle. Déjà, tu parles de 98 cartes, j'ai lu ailleurs 108 ...Citation:
Envoyé par enzo_fxx
Version imprimable
Décrire clairement la règle. Déjà, tu parles de 98 cartes, j'ai lu ailleurs 108 ...Citation:
Envoyé par enzo_fxx
Le jeu se compose de 108 cartes comme tu l'a dit, j'avait oublier les 4 cartes "0".
Il doit y avoir 7 cartes au début du jeu et c'est le joueur à gauche de celui qui à distribuer qui commence.
Le but du jeu est d'avoir une seule carte en main et de crier "UNO".
Lorsqu'un joueur n'a plus de carte, la manche est terminé.
Chaque joueur doit poser une carte sur le talon avec soit la couleur ou le numéro identique à celle déja sur le talon.
Après il y les cartes spéciales:
"+2": Lorsque cette carte est jouée, dans tous les cas le joueur suivant doit tirer 2 cartes dans la pioche et passe son tour. Idem si c'est la première carte du talon. Une telle carte ne peut être jouée que sur une carte de la même couleur ou sur une autre carte "+2".
"INVERSION": Lorsque cette carte est jouée, le sens du jeu change. Autrement dit, si le jeu évoluait jusque là dans le sens des aiguilles d'une montre, il devra alors évoluer maintenant dans le sens inverse... jusqu'à ce qu'une autre carte inversion soit jouée. Idem si c'est la première carte du talon : le premier à jouer sera alors le joueur situé à droite du donneur. Une telle carte ne peut être jouée que sur une carte de la même couleur ou sur une autre carte "INVERSION".
"Passer un tour": Lorsque cette carte est jouée, le joueur suivant passe purement et simplement son tour. Si c'est la première carte du talon, le premier à jouer sera alors le 2ème joueur situé à droite du donneur. Une telle carte ne peut être jouée que sur une carte de la même couleur ou sur une autre carte "PASSER UN TOUR".
"Joker":Le joueur qui dépose cette carte peut choisir de changer la couleur (il annoncera son choix en jouant la carte) ou de continuer dans la couleur demandée, peu importe le numéro. Si c'est la première carte du talon, le donneur choisira alors la couleur de départ. Une telle carte peut être jouée après n'importe quelle autre carte.
"+4":C'est une carte bien particulière : elle permet de pénaliser le joueur suivant tout en remplissant les fonctions de joker. Lorsque cette carte est jouée, le joueur suivant doit tirer 4 cartes dans la pioche et passer son tour. MAIS, cette carte ne peut être jouée par un joueur que s'il n'a en main aucune autre carte possiblement "jouable" ! Avec une telle carte, il est donc possible de bluffer... Cependant, calculez vos risques ! (voir Pénalités). Si c'est la première carte du talon, on en tire une autre.
Par quoi doit-je commencer ?
Définir le jeu de cartes.Citation:
Envoyé par enzo_fxx
Avec les stuctures ou avec les define ?
Il faut imaginer une façon d'identifier les cartes par catégorie, couleur etc.Citation:
Envoyé par enzo_fxx
Partir de la règle, classer, affiner, discuter...
Je sais pas comment faire sa tu peux pas m'en dire plus ? Je suis encore un débutant.
Eh bien, en relisant la règle, je constante qu'on a pas d'informations sur les cartes. Il faut donc compléter la règle pour qu'elle précise la liste des cartes.Citation:
Envoyé par enzo_fxx
Par exemple :
http://fr.wikipedia.org/wiki/Uno_(jeu)
108 cartes réparties de la façon suivante:
* 4 cartes numérotées 0 (1 de chaque couleur: bleu, rouge, jaune, vert)
* 18 cartes bleues, numérotées entre 1 et 9
* 18 cartes rouges, numérotées entre 1 et 9
* 18 cartes jaunes, numérotées entre 1 et 9
* 18 cartes vertes, numérotées entre 1 et 9
* 8 cartes "+2", (2 de chaque couleur)
* 8 cartes "INVERSION", (2 de chaque couleur)
* 8 cartes "PASSER UN TOUR", (2 de chaque couleur)
* 4 cartes "JOKER"
* 4 cartes "+4"
* 4 cartes UNO, à retirer du jeu.
Je propose de faire une structure comme ceci :
Code:
1
2
3
4
5
6 struct carte { int valeur; int couleur; int jocker; }
joker...Citation:
Envoyé par enzo_fxx
OK. Tu peux définir des constantes avec enum et typer les variables.
etc.Code:
1
2
3
4
5 enum couleur { bleu, rouge, jaune, vert, couleur_nb };
Peut tu m'expliquer comment fonctionne "enum" je ne l'ai jamais utilisé ?
Tu n'as pas de livre de C ?Citation:
Envoyé par enzo_fxx
http://www.linux-kheops.com/doc/ansi...ion_ANSI_C.htm
J'ai trouvé un code source pour uno :http://sourceforge.krugle.com/kse/fi...card%20game%22 (serveur.c)
Peut tu me dire ce que je pourrai utiliser pour la ditribution des cartes au hasard et pour la vérifications des cartes jouées ?
Est ce que j'ai le droit de faire ca ?
J'arrive pas à initialiser un jeu de cartes, tu peux pas m'éclairer un peu plus.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 enum couleur {bleu, rouge, jaune, vert}; enum valeur {zéro,un,deux,trois,quatre,cinq,six,sept,huit,neuf}; enum autre {+deux,inversion,passer_tour,jocker,+quatre}; typedef struct { couleur; valeur; autre; }carte;
OK, mais pas de 'é'. Préférer les majuscules.Citation:
Envoyé par enzo_fxx
OK, mais pas de '+'.Citation:
Code:
1
2 enum autre {+deux,inversion,passer_tour,jocker,+quatre};
Pour définir un champ, il faut le type et le nom. Si tu ne connais pas les bases du C, tu ne peux pas réaliser ce projet.Citation:
J'arrive pas à initialiser un jeu de cartes, tu peux pas m'éclairer un peu plus.Code:
1
2
3
4
5
6 typedef struct { couleur; valeur; autre; }carte;
Comment je fait pour initialiser les cartes ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 enum couleur {bleu, rouge, jaune, vert}; enum valeur {zero,un,deux,trois,quatre,cinq,six,sept,huit,neuf}; enum autre {plusdeux,inversion,passer_tour,jocker,plusquatre}; typedef struct { char couleur; char valeur; char autre; }carte;
Je sais que je t'en demande trop mais j'ai du mal avec le langage C.
Majuscule, tu sais ce que ça veut dire ?Citation:
Envoyé par enzo_fxx
et je te l'avais déjà dit, c'est "joker" et non ce galimatias infâme que tu as écrit...
Pourquoi char ? Tu as définis des types, c'est le moment de les utiliser.Citation:
Code:
1
2
3
4
5
6
7 typedef struct { char couleur; char valeur; char autre; }carte;
Pourquoi tu as du mal ? Tu n'as pas bossé de l'année et tu te réveilles maintenant ? C'est un peu tard, non ? Tu t'imagines quoi ? Qu'un ahuri de passage va te faire ton code à ta place ? Ben non, c'est pas comme ça que ça marche ... C'est à toi de te former (cours, livres, tutoriels) et de poser des questions précises sur ton code si nécessaire. Mais pas des questions basiques.Citation:
Comment je fait pour initialiser les cartes ?
Je sais que je t'en demande trop mais j'ai du mal avec le langage C.
Et puis avant de se demander comment on code, on doit définir ce qu'il y'a à coder. Tu as fait une étude préalable ? Tu sais où tu vas ?
Tout ce que tu as dit est la pure vérité, si je t'ai donné l'impréssion d'etre quelqu'un qui veut qu'on fasse tout à sa place je m'en excuse.
Voila ma marche à suivre:
Initialiser les cartes, les mélanger et les distribuer.
Il faut donc faire un tableau qui permette d'identifier les cartes à coup sûr. Pour ça, il faut étudier la liste des cartes et organiser l'identification.Citation:
Envoyé par enzo_fxx
As-tu fait cette étude ?
Aprés il y a 4 cartes "JOCKER" et 4 cartes "+4".Code:
1
2
3
4
5
6
7
8
9
10
11
12 bleu rouge vert jaune cartes basiques 2*9 2*9 2*9 2*9 de 1 à 9 +2 2 2 2 2 INVERSION 2 2 2 2 PASSER TOUR 2 2 2 2 ZERO 1 1 1 1