programme C :jeu de cartes - C - Programmation
Marsh Posté le 14-10-2012 à 13:01:50
Bonjour, s'il vous plaît, mrerci ?
On fait pas le travail des étudiant.
Montre nous ce que tu as fait et on t'aidera là ou ça coince.
Marsh Posté le 14-10-2012 à 13:09:18
j'ai presque un mois que je fais la programmation C donc je ne suis pas assez fort et j'ai mal à démarrer...c'est pourquoi je demande votre aide même avec des indications pour commencer
Marsh Posté le 14-10-2012 à 13:18:42
T'as étudié quoi ?
Marsh Posté le 14-10-2012 à 14:19:01
Code :
|
Si ça peut t'inspirer.
Marsh Posté le 14-10-2012 à 17:06:54
ça rien à voir avec le principe du jeux
je n'ai pas demandé la couleur
où sont les 2 tableaux à 10 cases aléatoirement générés
comment faire pour générer la fonction bataille et la fonction qui mélange les cartes
Marsh Posté le 14-10-2012 à 17:27:25
Ouais, enfin il t'a déjà filé un bon début, ingrat !
Si tu t'attends à ce qu'on te vomisse le code, ben tu peux toujours attendre.
Explique le soucis, ce que tu ne comprends pas et on t'aidera (que ce soit d'un point de vue pratique ou théorique)
Marsh Posté le 15-10-2012 à 14:02:17
voila! j'ai fais mon essai alors Pouvez vous m'aider sachant que lors du compilation il m'affiche fatal errors
Code :
|
Marsh Posté le 15-10-2012 à 15:45:08
J'ai pas d'erreur à la compil
Compiling: C:\clang\carte.c |
C:\clang>carte |
A+,
Marsh Posté le 15-10-2012 à 16:28:49
sabeurios89 a écrit : voila! j'ai fais mon essai alors Pouvez vous m'aider sachant que lors du compilation il m'affiche fatal errors
|
C'est bien toi qui a écrit ce code ?
Je vais peut être passer pour un enfoiré, mais j'en doute un peu.
Tu précises au début que tu es débutant et tu fais des accès de tableaux par déplacer de pointers + dé-référencement (*(t+i)) au lieu de la syntaxe 'plus commune' (t[i])
Peut être que je me plante, si c'est pas le cas permet-moi de te dire que tout ceci n'a, du coups, aucune valeur
Le but d'un exercice n'étant pas simplement d'être résolu, mais surtout de te permettre de comprendre
Après, si tu as bien écris ce code, ignore ça, c'est purement hypothétique
Sinon, globalement ça m'a l'air ok.
Un truc un petit peu 'piège' :
Ta fonction int rand_a_b(int a,int b) n'est pas bonne..
Si tu cherches à piocher une valeur aléatoire entre 0 et x, c'est tendant d'écrire :
Code :
|
Le soucis, c'est que tu perd l'aspect uniforme de la fonction rand() (en gros tu n'a pas autant de chance de tomber sur chacun des nombres)
Le mieux est de faire comme ça :
Code :
|
RAND_MAX est une constante, ça défini quelle est la valeur maximale que peut fournir rand().
Donc en gros, rand()/(float)RAND_MAX te renvoi un nombre décimal float (tu peux utiliser un double aussi), au hasard entre 0 et 1, tu gardes bien l'uniformité.
En multiply par x, tu tombes alors sur un nombre au hasard entre 0 et x.
Il faut bien pensé à caster (convertir) ton RAND_MAX (ou ton rand()) en float, sinon tu fais une division d'entier, donc ça sera toujours 0 ou 1.
Je te laisse deviner pour un nombre au hasard entre x et y
Marsh Posté le 14-10-2012 à 11:57:02
pouvez vous m'aider svp à résoudre ce problème parceque je suis encors débutant:
Ecrire un programme C qui simule le jeu de carte bataille avec deux tableaux d'entiers(allant de 1 à 10) représentant chacun un joueur et générés aléatoirement.le programme devra afficher le déroulement du jeu,l'évolution du score et ensuite le vainqueur final.
Le principe du jeu est le suivant:
Chaque joueur dispose de n carte(nétant saisie au clavier et ne dépassant pas 54).A chaque tour,chaque joueur retourne la carte du haut de son tas.Celui qui a la carte la plus haute gagne l'ensemble des cartes mis en jeux donc le score augmente d'un point.
En cas d'égalité de valeurs-cas appelé bataille- les joueurs commencent par placer une première carte face cachée puis une seconde face visible pour décider qui fera la levée.En cas de nouvelle égalité,la procédure est répétée.Le score du vainqueur de la bataille augmente de 3 points pour chaque tour de bataille.Le vainqueur final est le joueur ayant le plus grand score.
Pour donner plus de véracité au jeu il vous est demandé de créer une fonction permettant de mélanger les cartes(le tableau).le principe est le suivant:
*Pour mélanger les N cartes,on tire au hasard i1 compris entre 0 et N-1 et on échange les éléments d'indice i1 avec le dernier élément(indice N-1).On recommencera avec un autre nombre i1,tiré entre 0 et N-2,qui sera avec l'élément d'indices N-2?etc.