Jeux du pendu en C

Kaera -  
latoopa Messages postés 258 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour a tous,

Je me suis lancé dans la programation parce que ca me passione, je m'aide grace au site internet pour moi avancer dans mon apprentisage, j'aimerais aboutir ma connaissance du languange C avant de passer au c# par un petit jeux du pendu comme demander dis dans le site du zero, néanmoins j'aimerais rajouter certaine chose tel que:

- Un menu donnant 3 choix => 1) jouez
2) Les regles
3)quittez
si l'utilisateur rendre un mauvais caractére il me redemande mon choix.

- Lorsqu'on choissi un menu tout s'efface pour laisser la place a s'qu'on a choissi (ex: si on choissi regle tout s'éfface de la cmd et il y aura rien que le texte de la regle qui s'affiche)

-Dessinez le personnage entrain de se faire pendre(j'ai pensais a un tableau 2D)

Si quelqu'un peux m'aider, avec des explications si possible pour pouvoir comprendre (c'est le but principal de mon initiative :D).


Voici mon début:


#include <stdio.h>  



int main()  
{  
    int choix=0;   
printf("=/*|*\=Menu=/*|*\=\n\n");  
printf("[1] : Jouer.\n");  
printf("[2] : Regles du jeux.\n");  
printf("[3] : Quitter.\n");  
printf("\n --------------------\n\n");  
printf("Quelle est votre choix: ");  
scanf("%d", &choix);  
fflush(stdin);  

while (choix<1 || choix>3)  
{  
    printf("Vous n'avez pas rentrez un bon numero, rechoissisez:");  
    scanf("%d",&choix);  
    fflush(stdin);  
}  
switch (choix)  
{  
    case 1:  
    printf("Vous avais choissi de jouez.\n");  
    break;  

    case 2:  
    printf("Vous avais choissi les regles\n");  
    break;  

    case 3:  
    printf("Vous avais choissi de quitter\n");  
    break;  

}

}


Pour le switch j'ai écris ca en attendant vu que je ne sais pas comment m'y prendre pour lancer le jeux quand je choissi le 1, lancer les regles quand je choissi le 2 et quitter le jeux quand j'appuie sur 3.

A voir également:

2 réponses

Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
salut

le fflush stdin ne sert à rien.

fflsuh sert pour stdout.

en fait, c'est vrai que scanf pose beaucoup de problèmes, selon si l'utilisateur entre un truc bizarre.

mais bref passons sur ce problème technique, ton programme ressemble à quelque chose, c'est l'idée.


le mieux serait de créer 2 petites procédures void "jouer()" "regles()" qui vont faire ce que tu souhaites (tout ça pour la lisibilité de ton main())

pour effacer l'écran, tu peux, si tu travailles sous windows, faire simplement system("cls").

ensuite afficher les règles c'est pas compliqué.


dans la procédure jouer(), et bien tu mets le code du jeu proprement dit.

et oui, pour afficher le pendu, affiche simplement diverses lignes de texte.

Pour éviter de te prendre trop la tête, tu peux faire une fonction, qui selon le nombre d'erreur (passé en argument) va afficher le bon pendu. (à grand coup de switch)
void affiche_pendu(int nb_erreurs) {

   switch(nb_erreurs) {
      ...
  }
}
0
latoopa Messages postés 258 Date d'inscription   Statut Membre Dernière intervention   32
 
Salut,

le mieux pour toi va être de créer 3 fonction. Chacune va correspondre à un des choix.
* Dans "regles" ça va être assez facile puisqu'il faudra juste faire des printf... Et tu as déjà l'air au taquet là dessus ! :D

Si tu veux que ton texte apparaisse dans une fenêtre vide :
system("clear"); sous linux   
system("cls"); sous windows


* Dans jouer :
la il va y avoir l'essentiel du boulot... Mais je pense que tu en es conscient. C'est ici qu'il faudra gérer l'interraction avec le joueur, traiter les chaines de caractères, etc... mais tou ça c'est bien expliqué sur le site du zéro... Ensuite a chaque fois tu peux afficher le dessin (dans une page vide si tu veux faire du style). Pour gérer des images c'est expliqué aussi dans le super tuto.. Mais tu peux téclater à faire des dessins "à la main" avec les tirets, slash etc.. en utilisant des printf ce qui est beaucoup plus simple pour l'instant..

* Dans fin... bon baaaah à toi de voir ce que tu as envie de faire mais tu peux juste ne rien faire et attendre le return 0..

Bon courage, ce n'est pas forcément facile quand on commence mais ça fait plaisir quand ça marche !

Toopa
0