|
|
|
|
Bonjour,
Alors je vais essayer de bien m'exprimer...:p
J'ai un gros problème...je suis actuellement étudiante en seconde année de physique chimie..Et j'ai aussi de la programmation impérative au programme...
Malheureusement pour moi c'est vraiment du chinois!!J'aurrai besoin d'aide pour réaliser un programme se nommant: 'la dernière du tas' , c'est un jeu d'allumettes.
Il faut que je crée entièrement le programme...ce qui me fait bien peur...vu le temps que il me reste...
J'ai peu d'idées pour créer ce programme. On nous donne le sujet suivant:
La donnée du programme en ligne de commande devra être le nombre maximal d'allumettes, ainsi que la mention du joueur qui commence (l'utilisateur ou bien votre programme).
Ensuite votre programme initialisera le nombre d'allumettes, puis engagera une boucle d'interaction avec l'utilisateur, terminée lorsqu'il ne reste plus aucune allumette. Le gagnant est alors celui qui n'a pas la main.
Un exemple d'exécution pourrait être le suivant :
> derniere
Usage : derniere <nb allumettes> <trait>
<nb allumettes> entier < 1000,
<trait> = u(tilisateur) ou p(rogramme)
> nim 16 p
Il y a 16 allumettes.
J'enlève 2 allumettes.
Il y a 14 allumettes.
Combien en enlevez-vous (entre 1 et 4) : 8
On vous demande un entier compris entre 1 et 4 !!!
Combien en enlevez-vous (entre 1 et 4) : 1
Il y a 13 allumettes.
J'enlève 1 allumette.
Il y a 12 allumettes.
Combien en enlevez-vous (entre 1 et 2) : 1
Il y a 11 allumettes.
J'enlève 2 allumettes.
Il y a 9 allumettes.
Combien en enlevez-vous (entre 1 et 4) : 1
Il y a 8 allumettes.
J'enlève 1 allumette.
Il y a 7 allumettes.
Combien en enlevez-vous (entre 1 et 2) : 2
Il y a 5 allumettes.
J'enlève 2 allumettes.
Il y a 3 allumettes.
Combien en enlevez-vous (entre 1 et 4) : 3
Il ne reste plus d'allumettes, vous avez gagne.
>
La forme de l'affichage est libre, pourvu qu'elle soit claire (il y aurait à redire sur l'exemple ci-dessus, mais je ne vais quand même pas faire votre travail !).
Remarquez le contrôle effectué lors de l'entrée par l'utilisateur : il est réalisé par la fonction de lecture d'un entier au clavier, lire_entier.
( nous n'avons pas besoin de creer la fonction de lecture d'un entier, il faut juste l'incrémenter dans le programme...)
J'aurrai bien aimer un petit peu d'aide de votre part!!
Merci d'avance a tous ceux qui peuvent m'aider!!!
Je ne suis pas desperée...mais presque...:p
Configuration: Windows XP Internet Explorer 6.0
Selon ton niveau de désespoir et de dévotion je pourrais t'aider :p
|
Salut,
#include <stdio.h>
void coup(int *nb_allumettes, int trait) {
int nb;
if(trait==0){
printf("Combien en prenez-vous : ");
scanf("%d",&nb);
}
else{
nb=1;
printf("J'en prends %d\n",nb);
}
*nb_allumettes-=nb;
}
int main(int argc, char **argv) {
int nb_allumettes;
int trait;
if(argc != 3) {
puts("nim nombre tour");
exit(-1);
}
nb_allumettes=atoi(argv[1]);
trait=argv[2][0]=='p'?0:1;
while(nb_allumettes > 0) {
coup(&nb_allumettes,trait);
printf("Il en reste %d.\n",nb_allumettes);
trait=(trait+1)%2;
}
if(trait==0)
puts("Vouz gagnez !");
else
puts("Je gagne !");
system("pause");
return 0;
}
Je reste à ta disposition, si tu as besoin d'aide ;) Google is your friend |
Voila j'ai attaqué le programme pour le jeu des allumettes ne connaissant que tres peu la prog ce n'est pas au point mais ca pourré etre simpa bref!!si vous avez des idées j'ai un problemes je n'ai pas reussi a bloqué les coup entre 1 et 3 par exemple si je tape le nombre d'allumettes quil reste je gagne théoriquement il doit resté une allumettes et celui qui a la main perd !!!voila
|