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

Turbo Pascal Discussion :

Algorithme du jeu Marienbad


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 3
    Par défaut Algorithme du jeu Marienbad
    Bonjour à tous,
    je réalise le jeu de Marienbad en langage Turbo Pascal. La plupart de mes procédures sont correctes sauf celle qui joue le mode "difficile". Il s'agit, à partir d'un tableau en données binaires, d'additionner les cases de chaque colonne, colonne par colonne de ce tableau; si l'addition de ces nombres n'est pas un nombre pair pour chaque colonnes alors l'ordinateur retire un certain nombre d'allumettes de manière a ce que lorsque l'on additionne à nouveau ces cases pour chaque colonne, on obtienne un nombre pair. j'ai réalisé cette procédure mais elle ne fonctionne pas.
    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
    procedure ordiexpert(var tab1:tableau1; var tab2:tableau2);
    var a,b,c,i,nbretire:integer;
         Ttemp:tableau1;
     
    begin
      for i:=0 to 3 do
      begin
        Ttemp[i]:=Tab1[i];
      end;
      a:=tab2[0][2]+tab2[1][2]+tab2[2][2]+tab2[3][2];
      b:=tab2[0][1]+tab2[1][1]+tab2[2][1]+tab2[3][1];
      c:=tab2[0][0]+tab2[1][0]+tab2[2][0]+tab2[3][0];
      while((a=1) or (a=3) or (b=1) or (b=3) or (c=1) or (c=3)) do
      begin 
        i:=random(4);
        nbretire:=random(Ttemp[i]+1);
        Ttemp[i]:=Ttemp[i]-nbretire;
        Bin(Ttemp,tab2);//cet procedure est la procedure passant du tableau des formes decimal(situé dans tab1) aux donnés binaire(situé dans tab2)
        a:=tab2[0][2]+tab2[1][2]+tab2[2][2]+tab2[3][2];
        b:=tab2[0][1]+tab2[1][1]+tab2[2][1]+tab2[3][1];
        c:=tab2[0][0]+tab2[1][0]+tab2[2][0]+tab2[3][0];
      end;
    end;
    Quand j'applique cette procédure à mon programme, l'ordinateur ne fait pas en sorte que l'utilisateur se retrouve avec a, b, et c qui soient des nombres pairs.
    Merci de bien vouloir m'aider, je suis un peu perdu.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Bei,

    Petit leitmotiv : papier + crayon, et suivre pas à pas l'exécution du programme avec différents jeux de données.

    Il faut vérifier ce que fait le programme, pas ce que tu penses qu'il fait.

    Au passage, je vois pas mal de code qui pourrait être simplifié avec des boucles.

Discussions similaires

  1. Algorithme de jeu Démineur
    Par hamdibena dans le forum Débuter
    Réponses: 12
    Dernier message: 29/01/2013, 19h18
  2. Algorithme du jeu de Marienbad
    Par dedeu dans le forum Pascal
    Réponses: 4
    Dernier message: 03/06/2009, 23h12
  3. Choix d'algorithmes pour jeu de dames
    Par mick009 dans le forum Débuter
    Réponses: 0
    Dernier message: 12/02/2009, 16h09
  4. Aide pour algorithme sur jeu de dés
    Par fab56 dans le forum Intelligence artificielle
    Réponses: 3
    Dernier message: 29/02/2008, 09h56

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