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

Maple Discussion :

[MAPLE] Programmer le jeu MasterMIND


Sujet :

Maple

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [MAPLE] Programmer le jeu MasterMIND
    Bonjour à tous

    voila je dois programmer le jeu MASTERMIND grâce au logiciel MAPLE.Mais j'ai un problème dans mon programme , le problème c'est que je ne vois pas d'où cela vient.

    Voici la règle du MASTERMIND:
    Un joueur choisit un code de 4 couleurs parmi 6, dans un ordre donné (on peut varier ces
    nombres). L’autre joueur propose des codes et le premier joueur lui indique à chaque fois
    combien il y a de bonnes couleurs au bon emplacement et combien il y a de bonnes couleurs au
    mauvais emplacement. Le but est de trouver le code en un nombre minimal de coups.

    ...et voici mon programme:

    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
    secret := [(rand(1 .. 6))(), (rand(1 .. 6))(), (rand(1 .. 6))(), (rand(1 .. 6))()] ;
    tour := 0 ;
    mastermind:=proc(a,b,c,d)
    global secret,tour;
    local i,j, l:=[NULL], rouges:=0,blancs:=0,secretbis:=secret ,M:=[a,b,c,d];
    while nops(l)<> 4 do
    for i from 1 to 4
    do if M[i]=secretbis[i] then rouges:= rouges +1; l:=[l,op(i,secretbis)];
    print('il*y*a', rouges, 'rouges') ;
    print(l) ;
    fi ;
    od ;
    secretbis := subs(secretbis[i] = NULL, secretbis); M := subs(M[i] = NULL, M) ;
    for i from 1 to 4-rouges
    do for j from 1 to 4 – rouges
    do if M[i]=secretbis[j] then blancs:= blancs +1; secretbis:=subs(secretbis[i]=NULL, secretbis);
    print*('il*y*a', blancs, 'blancs') ;
    fi ;
    od ;
    od ;
    print(l);
    tour:=tour+1;
    od;
    end proc;
    Il me renvoi après:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error, (in mastermind) invalid subscript selector
    Quelqu'un pourrait il m'aider SVP??

    Merci de votre aide

    Cordialement

    Romain

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    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
    secret := [(rand(1 .. 6))(), (rand(1 .. 6))(), (rand(1 .. 6))(), (rand(1 .. 6))()] ;
    tour := 0 ;
     
     
    mastermind:=proc(a,b,c,d)
     
         global secret,tour;
         local i,j, l:=[NULL], rouges:=0,blancs:=0,secretbis:=secret ,M:=[a,b,c,d];
     
         while nops(l)<> 4 do
     
              for i from 1 to 4 do
     
                   if M[i]=secretbis[i] then 
                        rouges:= rouges +1; 
                        l:=[l,op(i,secretbis)];
                        print('il*y*a', rouges, 'rouges') ;
                        print(l) ;
                   fi ;
              od ;
     
              secretbis := subs(secretbis[i] = NULL, secretbis); 
              M := subs(M[i] = NULL, M) ;
     
              for i from 1 to 4-rouges do
                   for j from 1 to 4 – rouges do
     
                        if M[i]=secretbis[j] then 
                             blancs:= blancs +1; 
                             secretbis:=subs(secretbis[i]=NULL, secretbis);
                             print*('il*y*a', blancs, 'blancs') ;
                        fi ;
                   od ;
              od ;
     
              print(l);
              tour:=tour+1;
     
         od;
     
    end proc;


    Je pense que c'est mieux comme cela et pour info dans mon programme :

    les "rouges " correspondent aux numéros bien placés et les "blancs" correspondent aux numéros mal placés.

Discussions similaires

  1. [choix de techno]comment programmer un jeu de carte
    Par roilion dans le forum Général Conception Web
    Réponses: 8
    Dernier message: 16/08/2010, 16h43
  2. Programmation du jeu du Mastermind
    Par Elek7 dans le forum C++
    Réponses: 2
    Dernier message: 13/06/2006, 19h53
  3. Réalisation d'un jeu Mastermind
    Par cybercom dans le forum Pascal
    Réponses: 43
    Dernier message: 14/05/2006, 20h11
  4. Help ! Programmer un jeu vidéo
    Par Jay Bee dans le forum DirectX
    Réponses: 7
    Dernier message: 18/03/2004, 18h38
  5. Help ! Programmer un jeu vidéo...
    Par Jay Bee dans le forum OpenGL
    Réponses: 3
    Dernier message: 05/03/2004, 15h34

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