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

Pascal Discussion :

Réalisation d'un jeu Mastermind


Sujet :

Pascal

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 2
    Points
    2
    Par défaut Réalisation d'un jeu Mastermind
    Bonjour, je dois créer un mastermind pour le 16 mai et cela sans graphisme, uniquement avec des boucles séquentielles, itératives et des tableaux.
    Pour le moment, je n'ai fait que l'instruction pour que l'ordinateur crée un nombre aléatoire (ceci à l'aide d'un tableau à 2 dimensions et à la fonction random).
    Bref je voudrais savoir quelle instruction permettrait a l'ordinateur de comparer les chiffres cachés et les chiffres proposés par le joueur afin que l'ordi puisse reconnaître et afficher les chiffres bien placés (*), ceux qui sont mal placés (?) et ceux qui n'existent pas (-).

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Avec un if sûrement et des > ou <

    Sois plus précis
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 2
    Points
    2
    Par défaut
    je vais essayé!
    d'aprés la boucle for que j'ai écrite tout à l'heure, dois je créer un autre tableau dans lequel seront stocké les chiffres choisit par le joueur dans la boucle for ou non? de plus je ne vois pas comment la comparaison par la boucle si peut s'écrire .
    j'espere que j'ai été plus précise cette fois ci.
    merci!

  4. #4
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut
    en fait tu dois avoir une matrice (tableaua 2 dimensions) qui te sert de grille de jeu donc tous les coups du joueur seront dedans .
    tu retiens le numéro de la ligne en cours etu le compares avec ton tableau contenant les 4 pions crées par random qui sont stockés dans un tableau de 4 colonnes .

    Donc un tab_grille[i][j] qui est ton tableau a double dim. ou J vaut 4 dans le cas d'un mastermind
    Un tableau tab_random[l] ou L vaut 4 pour le random de l'ordinateur


    fin voila en gros
    ★ Pascal/Java/C/xhtml,css/SQL/Mips
    ★ Linux/unix

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 2
    Points
    2
    Par défaut
    ok pour les tableaux mais je ne sais toujours pas comment faire pour que l'ordi je repére le chiffre mal placé dans la combinaison joué par le joueur . est ce que cette instruction dois rentrer dans une boucle if? si c'est le cas je vous demanderais de me donner plus d'indices pour la faire par moi même, sinon donner moi le nom de la fonction pour effectuer se traitement et j'essayerais de me débrouiller par moi même.
    merci bonne journée à tous.

  6. #6
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Avec un for, je pense

    Sinon, tu peux aller lire http://cyberzoide.developpez.com/info/turbo/
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  7. #7
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut
    ok pour les tableaux mais je ne sais toujours pas comment faire pour que l'ordi je repére le chiffre mal placé dans la combinaison joué par le joueur .
    en fait tu prends chaque élement du tableau du joueur et tu parcours le tableau de l'ordi élément par élément si le rang de celui du joueur n'est pas le même que celui de l'ordi pour la même couleur de pions, alors il est mal placé.
    En gros c'est un while contenant des if

    /!\ Différencier les cas ou il y a un ou 2 pions les même dans le jeu de l'ordi !
    ★ Pascal/Java/C/xhtml,css/SQL/Mips
    ★ Linux/unix

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 2
    Points
    2
    Par défaut
    bonjour, voici ce que j'ai fait de mon coté bon je sais que sa ne marche pas donc dite moi ce que je pourrait faire pour améliorer ce programme et fairez en sorte qu'il marche car je commence à péter un cable!!! svp!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    var
      i, i1, j1,i2:integer;
      tb_secret: array [1..5] of integer;
      tb_essai: array [1..1,1..5] of integer;
      tb_indice: array [1..5] of string [1];
     
    begin
      randomize;
      for i:= 1 to 4 do
      begin
        tb_secret[i]:= random(9);
        write(tb_secret[i]);
      end;
      writeln;
      for i2:= 1 to 5 do
      begin
        tb_indice[i2]:='?';
      end;
      for i1:= 1 to 5 do
      begin
        for j1:=1 to 4 do
        begin
          writeln('a vous de jouer!!');
          readln (tb_essai[i1,j1]);
          writeln;
          for i2:= 1 to 4 do
          begin
            for i:=1 to 4 do
            begin
              if (tb_essai[i1,j1]=tb_secret[i]) then
              begin
                tb_indice[i2]:='B';
              end
              else
              begin
                tb_indice[i2]:='M';
              end;
            end;
            write(tb_indice[i2]);
          end;
        end;
     
      end;
      readln;
    end.
    Balises [code] ajoutées par Hdd34.
    Merci d'y penser à l'avenir.

  9. #9
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Bonjour,

    Le code contient des erreurs grossières. Tu déclares des tableaux de tailles étranges.
    L'ordinateur tire 4 nombres, et tu permets de stocker 5 nombres pour l'utilisateur (?!??). De même, tu effectues une boucle de 4 par 5 portant sur tb_essai, or celui-ci ne fait pas la taille attendue.

    Avant d'écrire du code, écris-nous posément l'algorithme que tu vas utiliser. Le code viendra tout seul après...

    @++
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 2
    Points
    2
    Par défaut
    ok chui d'accord mais faut le dire depuis que je demande un coup de main sur ce forum, j'ai uniquement droit a des indice assez vagues je trouve . moi c'est mon premier jeux je j'avoue que je trouve sa trés difficile comparer à un simple saisie de données dont j'avais l'habitude de faire .
    merci quand meme , je vais revoir mon algo depuis le début en attente de nouveaux messages de votre part.

  11. #11
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Je ne veille pas sur le forum en 24/24

    Avant de reprendre tout ton algo, montre-nous déjà celui que tu as essayé de mettre en place. Il est peut-être juste, et c'est le passage au Pascal qui s'est révélée foireux.
    Pas de panique, tu vas y arriver C'est en se trompant qu'on apprend

    @++
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 2
    Points
    2
    Par défaut
    voila une méthode que ma proposé une de mes enseignante qui si connait un peut:
    La méthode bête et méchante : case par case pour savoir si un chiffre
    est bien positionné :
    Par exemple :
    Ordi : 2 5 7 8 6
    Joueur : 1 4 8 3 6
    Je compare ordi[1] et joueur[1] ==> different
    de même jusqu'à la fin du tableau et ordi[5] = joueur[5]
    Donc j'incrémente un compteur : bien_placé = bien_placé+1 si ordi[i] =
    joueur[i]
    Et pour un chiffre mal placé, même principe, je compare chaque case de
    ordi à toutes les cases de joueur ...
    Donc j'incrémente un compteur : mal_placé = mal_placé+1 si ordi[i donné]
    = joueur[j]

    je voulais savoir pourquoi il y a un tableau joueur avec un indice j?

  13. #13
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut
    ben pour stocker les coups du joueur tiens et tu mets l'indice que tu veux ce n'est qu'une lettre
    ★ Pascal/Java/C/xhtml,css/SQL/Mips
    ★ Linux/unix

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 2
    Points
    2
    Par défaut
    mais sa me perturbe !! alors dans cette explication l'indice j est différente de l'indice i ?si c'est le cas pourquoi??

  15. #15
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Re-bonjour,

    Ce qu'il y a au-dessus n'est pas un algo, c'est une vague explication de comment procéder sans rentrer dans les détails. Moi je veux voir un algo avant d'attaquer du code

    @++
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  16. #16
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut
    un algo du jeu complet en un bloc ca va p-e etre un peu long...
    limite ce qui pose vraiment problème alors

    au fait, as tu des notions d'algorhitmique?
    ★ Pascal/Java/C/xhtml,css/SQL/Mips
    ★ Linux/unix

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 2
    Points
    2
    Par défaut
    oui j'en ai , enfin je crois . si tu veux je te l'envoi en message privé?

  18. #18
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut
    non le forum sert a ca
    ★ Pascal/Java/C/xhtml,css/SQL/Mips
    ★ Linux/unix

  19. #19
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    L'algorithme du Mastermind n'est pas compliqué

    Par algo, j'entends quelque chose de simple. Par exemple, pour chercher un élément e dans un tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Pour i allant de 1 à n faire
      Si Tableau(i) = e Alors
        Index = i;
        Fin de la recherche
      Fin si
    Fin pour
    On peut utiliser d'autres conventions pour le pseudo-code...

    @++
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  20. #20
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 2
    Points
    2
    Par défaut
    Moi ce que je vous avez envoyé était pour moi un algo car on me l'appris de cette manière .
    Bon bref !! Donc d'aprés votre dernier message mon algo est faux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    tant que ((rep:='O') et (e<=5)) faire 
    
    pour i:=1 à 4 faire tb_secret[i]:=random(9); fin pour; pour i1:= 1 to 4 faire tb_essai[i1]:=0; fin pour; pour i1:= 1 to 4 faire écrire ('Essai ',e,' :'); demander (tb_essai[i1]); fin pour;
    si (tb_essai[i1]=tb_secret[i]) alors B:=B+1; fin si; si (tb_essai[i1]=tb_secret[j]) alors M:=M+1; fin si; gain:=(10*B)+M; écrire(gain); pour i1:=1 to 4 faire
    si (B<M) alors score:=0; fin si; si (B=M) alors score:=2; fin si; si (B>M) alors; score:=5; fin si;
    fin pour;
    écrire(score);
    Voici mon soi disant "algo" pour ceux qui ne l'ont pas encore vu.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. réalisation d'un jeu avec vb.net
    Par urculate dans le forum VB.NET
    Réponses: 4
    Dernier message: 24/02/2008, 20h22
  2. Réalisation d'un jeu 3D avec Director
    Par sab_etudianteBTS dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 15/02/2008, 09h32
  3. [IA] algorithme d'un jeu mastermind
    Par kilam dans le forum Intelligence artificielle
    Réponses: 5
    Dernier message: 01/02/2008, 14h47
  4. [3D][Jeu]Réalisation d'un jeu avec java3D
    Par Janitrix dans le forum 3D
    Réponses: 2
    Dernier message: 22/04/2006, 23h22
  5. Réalisation d'un jeu de voiture 2D
    Par gege2mars dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 10/01/2004, 22h40

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