IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

je suis nouveau besoin d'aide pour faire un jeux d'allumette


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Points : 3
    Points
    3
    Par défaut je suis nouveau besoin d'aide pour faire un jeux d'allumette
    Bonjour à tous je suis nouveau dans le forum et surtout dans le monde de la programmation en C je suis actuellement en IUT GTR maintenant R et T pour reseaux et telecommunication ... vive le changement lol bref en gros on vien de commencer la programmation il y a 1 mois à peut pres et on nous demande dejà de faire un programme donc en l'occurence un jeux d'allumette en C ou l'on doit jouer contre l'ordinateur qui doit etre intelligent en plus de tout ca... alors qu'on connait strictement rien en C bref en gros est ce qu'il y aurais une ou plusieurs personne qui saurais comme faire ca? ah oui et sachant que on à pas le droit d'utiliser scanf .. au cas ou et donc je ne sais meme pas a quoi ca sert ...

    Merci à tous de votre aide tres precieuse.

    voici le sujet un peu long :


    Jeu des allumettes

    6 novembre 2005

    1 Introduction

    Le jeu des allumettes (encore appelé jeu de nim) se joue à deux. Les deux joueurs se
    partagent un tas de 21 allumettes. À tour de rôle, ils doivent retirer 1, 2 ou 3 allumettes
    du tas ; le joueur qui retire la dernière allumette a perdu.
    Le but de ce mini projet est de vous faire réaliser un jeu des allumettes en C. Votre
    programme devra permettre à un joueur humain d’affronter l’ordinateur.

    2 Consignes de développement

    Le tas d’allumettes sera représenté par un entier. Votre programme devra comporter
    une boucle principale qui s’arrêtera lorsque le tas sera vide.
    Vous définirez deux fonctions :
    – int joueur_humain (int tas)
    – int joueur_ordinateur (int tas)
    Elles renverront le nombre d’allumettes à retirer du tas. Le paramètre tas permettra
    aux joueurs de connaître le nombre d’allumettes présentes dans le tas.
    Typiquement, la fonction joueur_humain affichera à l’écran le nombre d’allumettes
    dans le tas et demandera à l’utilisateur de saisir le nombre d’allumettes qu’il
    souhaite retirer. La fonction joueur_ordinateur implémentera une intelligence artificielle.
    L’intelligence artificielle n’a pas besoin d’être compliquée ; la fonction peut
    par exemple choisir un nombre aléatoire entre 1 et min (3, tas).
    Votre programme devra désigner arbitrairement le joueur qui doit commencer. À
    chaque tour de boucle, votre programme appellera les fonctions joueur_humain et
    joueur_ordinateur alternativement et récupérera le résultat. Il faudra ensuite s’assurer
    de la validité du nombre d’allumettes à retirer (entre 1 et min (3, tas)). Il faudra
    ensuite afficher l’état du jeu, c’est-à-dire le nombre d’allumettes restant. À la fin de la
    partie, le programme devra afficher le numéro du joueur gagnant.

    3 Travail à réaliser

    Vous devrez rendre un code source commenté qui compile avec gcc. Les commentaires
    serviront de documentation. Vous devrez indiquer le rôle de chaque fonction,
    ainsi que le fonctionnement général du programme et son utilisation.
    L’interface de votre programme utilisera la ligne de commande (printf etc.).
    Vous êtes libre de programmer une intelligence évoluée. Bien entendu, la note tiendra
    compte de la qualité de votre intelligence artificielle. Mais n’y passez pas trop de temps tout de même. Un programme qui s’exécute correctement malgré une intelligence
    artificielle simpliste rapportera plus de point qu’un programme buggé doté d’une
    intelligence artificielle élaborée. . .

    4 Échéances

    Vous devrez rendre votre travail le 7 décembre (la journée se termine à minuit)
    à votre encadrant de TD. Utilisez de préférence le courrier électronique, qui est plus
    fiable qu’une disquette.
    Vous aurez un point de pénalité par jour de retard ; le samedi et le dimanche comptent
    chacun pour trois jours.

  2. #2
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Tu veux pas 100 balles et un mars ?
    On n'est pas là pour faire tes devoirs
    Commence par poster ton code, et si tu as des question précises, on se fera une joie d'y répondre...
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Points : 3
    Points
    3
    Par défaut
    je ne demande pas à ce qu'on me le fasse mais à ce qu'on m'aide je ne m'y connait vraiment pas donc je ne pourrais faire quoi que ce soit c'est pour celà que je demande une aide un plan ou me dire par quoi commencer voilà tout.

  4. #4
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Citation Envoyé par david202
    je ne demande pas à ce qu'on me le fasse mais à ce qu'on m'aide je ne m'y connait vraiment pas donc je ne pourrais faire quoi que ce soit c'est pour celà que je demande une aide un plan ou me dire par quoi commencer voilà tout.
    2 Consignes de développement

    Le tas d’allumettes sera représenté par un entier. Votre programme devra comporter
    une boucle principale qui s’arrêtera lorsque le tas sera vide.
    Vous définirez deux fonctions :
    – int joueur_humain (int tas)
    – int joueur_ordinateur (int tas)
    Elles renverront le nombre d’allumettes à retirer du tas. Le paramètre tas permettra
    aux joueurs de connaître le nombre d’allumettes présentes dans le tas.
    Typiquement, la fonction joueur_humain affichera à l’écran le nombre d’allumettes
    dans le tas et demandera à l’utilisateur de saisir le nombre d’allumettes qu’il
    souhaite retirer. La fonction joueur_ordinateur implémentera une intelligence artificielle.
    L’intelligence artificielle n’a pas besoin d’être compliquée ; la fonction peut
    par exemple choisir un nombre aléatoire entre 1 et min (3, tas).
    Votre programme devra désigner arbitrairement le joueur qui doit commencer. À
    chaque tour de boucle, votre programme appellera les fonctions joueur_humain et
    joueur_ordinateur alternativement et récupérera le résultat. Il faudra ensuite s’assurer
    de la validité du nombre d’allumettes à retirer (entre 1 et min (3, tas)). Il faudra
    ensuite afficher l’état du jeu, c’est-à-dire le nombre d’allumettes restant. À la fin de la
    partie, le programme devra afficher le numéro du joueur gagnant.
    Tu as tout d'expliqué...
    joueur_humain s'occupe de "l'interface utilisateur".
    joueur_ordinateur s'ocupe de la partie "IA".
    Et main appelle ces deux fonctions à tour de rôle.
    De plus, les prototypes des fonctions, ainsi que leurs spécifications sont fournis. Tu n'as qu'à suivre !
    Au boulot !
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Points : 3
    Points
    3
    Par défaut
    ca m'aide pas beaucoup parceque je m'y connait vraiment pas tu peut trouver ca bête de ma part mais en 1 mois de cours a raison de 1h30 par semaine je me sent vraiment pas capable de faire ca... je viens d'acheter un livre pour apprendre mais ca va prendre du temp pour venir tu vois? les seules fonction que je connaisse sont "printf" et euh en faite c'est tout ...

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    As-tu des notions d'algorithmique ?
    Sais tu traduire cette phrase par une ligne d'algo
    Votre programme devra comporter une boucle principale qui s’arrêtera lorsque le tas sera vide.
    Tu as besoin de deux livres, un livre d'algo et un livre de C.
    D'abord écrit la logique de ton programme à la main, ensuite traduis la en C.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Points : 3
    Points
    3
    Par défaut
    alors en faite on a pas appris l'algo et mes cours de programmation sont deja fini bizard... sinon l'algo j'en ai fait en 1ere c'est à dire ya 5 ans ... je m'en rappel un peu je sais pas si je vais arrrivé mais je vais essayer.
    merci

  8. #8
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    C'est un peu strange ce que tu dis là, dans quelle école es-tu ?
    Ton but c'est quoi, d'apprendre le C ou tu as simplement une initiation ?
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Points : 3
    Points
    3
    Par défaut
    je sais pas du tout je suis à l'iut de villetaneuse en GTR donc en réseau et télécommunication la les cours de prog sont fini mais les TD continue par contre jusqua decembre il me semble, j'ai trouver celà bizard aussi mais bon...

  10. #10
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par david202
    je sais pas du tout je suis à l'iut de villetaneuse en GTR donc en réseau et télécommunication la les cours de prog sont fini mais les TD continue par contre jusqua decembre il me semble, j'ai trouver celà bizard aussi mais bon...
    Un conseil, achete toi un bon livre de C (K&R) et bosse le.
    Pour ce qui est de l'algo, il y a un forum dédié où les gens seront plus aptes à t'aider qu'ici.
    Si je pleure encore qu'un jour tu me reviennes,
    C'est que sans toi je suis comme un Roi sans sa Reine.

  11. #11
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Dans les pré-requis il y a sûrement la connaissance de l'algorithmique, vérifie. Enfin, ils doivent supposer que c'est simple...
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  12. #12
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Citation Envoyé par sorry60
    Pour ce qui est de l'algo, il y a un forum dédié où les gens seront plus aptes à t'aider qu'ici.
    A mon avis, pour les algos de base comme celui demandé, on devrait tous être capables ici de répondre
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  13. #13
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par Trap D
    Citation Envoyé par sorry60
    Pour ce qui est de l'algo, il y a un forum dédié où les gens seront plus aptes à t'aider qu'ici.
    A mon avis, pour les algos de base comme celui demandé, on devrait tous être capables ici de répondre
    T'es sur ?
    Si je pleure encore qu'un jour tu me reviennes,
    C'est que sans toi je suis comme un Roi sans sa Reine.

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Points : 3
    Points
    3
    Par défaut
    non pas d'algo ya les cours sur le site de l'iut bref moi je me suis acheter la langage C norme ainsi 2e edition et j'ai vu qu'il etait référencé sur ce forum donc je suis content d'avoir bien choisi il m'avais l'air simple a comprendre ^^

  15. #15
    Membre éclairé Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Points : 795
    Points
    795
    Par défaut
    Commence par qqch de simple... tu crées ta boucle... après tu rajoute au fur et à mesure les points que tu dois implémenter... donne des noms clairs à tes fonctions et commente ton code
    pour l'IA ça doit pas être trop dur...
    va voir la FAQ C et tu auras tout ce dont tu as besoin aussi bien pour tes boucles que pour ton IA... regarde comment tirer un nombre aléatoire:
    http://c.developpez.com/faq/c/?page=..._random_bornes
    bosse d'abords ton livre C et la FAQ et le livre sur les alogos c'est pour plus tard quand t'auras des trucs plus compliqués que ça...
    Parce que moi je n'ai jamais fait d'algos de ma vie et pour cela tu n'en as pas besoin

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Points : 3
    Points
    3
    Par défaut
    merci raggae donc le principe serai de faire un tableau avec 21 valeurs et le joueur doit pouvoir retirer soit 1 soit 2 soit 3 allumettes je supose avec la fonction getchar() puis pour l'ordi il faut lui faire retirer une valeur aléatoire avec la fonction RAND()

  17. #17
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par david202
    merci raggae donc le principe serai de faire un tableau avec 21 valeurs et le joueur doit pouvoir retirer soit 1 soit 2 soit 3 allumettes je supose avec la fonction getchar() puis pour l'ordi il faut lui faire retirer une valeur aléatoire avec la fonction RAND()
    N'oublie pas que l'ordinateur doit etre un minimum intelligent..
    Si je pleure encore qu'un jour tu me reviennes,
    C'est que sans toi je suis comme un Roi sans sa Reine.

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Points : 3
    Points
    3
    Par défaut
    je pense qu'une fois fait comme ca l'intelligence on purra le modifier ensuite ?

  19. #19
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par david202
    je pense qu'une fois fait comme ca l'intelligence on purra le modifier ensuite ?
    Oui biensur, commence par faire un jeu qui fonctionne contre un ordinateur idiot.. et apres occuppe toi de l'IA.
    Tu as du boulot, mais le 7 décembre est encore loin !
    Courage !
    Si je pleure encore qu'un jour tu me reviennes,
    C'est que sans toi je suis comme un Roi sans sa Reine.

  20. #20
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Citation Envoyé par reggae
    Parce que moi je n'ai jamais fait d'algos de ma vie et pour cela tu n'en as pas besoin
    Tu es programmeur sans avoir jamais fait d'algo de ta vie ??? Tu galèges, tu es obligé dans faire, sinon comment peux-tu écrire un prgramme correct ? Déjà quand on en a fait ça n'empêche malheureusement qu'on se plante alors si on n'en fait pas...
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

Discussions similaires

  1. Besoin d'aide pour faire un choix de MCD
    Par vallica dans le forum Schéma
    Réponses: 4
    Dernier message: 27/10/2007, 11h38
  2. Besoin d'aide pour faire une procédure stockée
    Par PoichOU dans le forum SQL
    Réponses: 17
    Dernier message: 30/04/2007, 17h55
  3. Besoin d'aide pour faire fonctionner un Script d'upload d'images
    Par PaoOo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 15/06/2006, 21h24
  4. [VBA-E]besoin d'aide pour faire une boucle
    Par mikazounette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/04/2006, 14h04
  5. Besoin d'aide pour faire un script
    Par shinux2004 dans le forum Langage
    Réponses: 4
    Dernier message: 16/07/2005, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo