Programmation mastermind - Page 3
Répondre à la discussion
Page 3 sur 3 PremièrePremière 3
Affichage des résultats 61 à 76 sur 76

Programmation mastermind



  1. #61
    invite0bb5307a

    Re : Programmation mastermind


    ------

    Mais le jeu n'est pas comme ça.
    Il ne dit pas si chaque élément est bien placé ou pas. Il donne juste une indication, sans dire lequel est bien placé et lequel est mal placé.

    -----

  2. #62
    invite4492c379

    Re : Programmation mastermind

    En gros la réponse est bonne, car le troisième 3 est bel et bien un pion qui existe dans la combinaison à trouver mais en troisième position il est mal placé. Ce qui te dérange est donc le fait que le A possède une sorte d'ordre, c'est ça ?
    Dans ce cas pour enlever l'ordre de calcul il suffira de trier A ... par exemple

  3. #63
    invite0bb5307a

    Re : Programmation mastermind

    Trier A J'y avais pensé oui mais je le ferai à la fin.

    Mais ce que je veux dire c'est que le 10 ne devrait pas être affiché du tout.

  4. #64
    invite4492c379

    Re : Programmation mastermind

    Donc comment m'expliquerais-tu en Français la manière de procéder dans ce cas ?

  5. #65
    invite0bb5307a

    Re : Programmation mastermind

    Ben l'idéal serait de comparer tous les bien placés en premier et si M(i)=S(i) on pourrait remplacer S(i) par 0 comme ça il ne pourra plus correspondre à un élément de M

  6. #66
    invite0bb5307a

    Re : Programmation mastermind

    M(i) *

    Je ferai quelque chose comme ça :

    Code:
    tour = 1;
    S=round(7*rand(1,4)+1)
    disp(S)
    M=[]
    victoire=%F
    while ( (tour<13) & (~victoire) )
        disp('tour :'+string(tour))
        M=[]
        while (~ isequal(size(M),[1,4]))
            M=input('Combinaison : ")
            if (~ isequal(size(M),[1,4])) then
                disp('Mauvais format')
            end
        end
        victoire = isequal(M,S)
        A=[]
        if (~victoire) then
    for k=1:4
        if M(k)==S(k) then
            A=[A,11]
            M(k)=0
        end
    end
            for i=1:4
            j=1
            while (j<5)
                if (i~=j) & (M(i)==S(j)) then
                    A=[A,10]
                    j=5
                end
                j=j+1
            end
        end
        end
    end
    disp(A)
        end
        tour=tour+1
    end
    if (victoire) then
        disp('Bingo')
    else
        disp('Looser')
    end
    Mais on ne m'affiche plus A..

  7. #67
    invite0bb5307a

    Re : Programmation mastermind

    Avec quelques déplacements de "end" A s'affiche, mais j'ai le même problème..

    Quand S=[4 3 5 4] et M=[4 4 4 4] on me dit A=[11 11 10 10]

  8. #68
    invite0bb5307a

    Re : Programmation mastermind

    Quand on trouve M(1)=S(1), il ne faudrait plus comparer M(k) avec S(1)

  9. #69
    invite0bb5307a

    Re : Programmation mastermind

    J'ai ça. C'est mieux mais il reste encore des modifications à faire.

    Quand je mets la bonne combinaison, ça me marque :
    "Bingo
    Mauvais format
    Combinaison :"


    Code:
    tour = 1;
    S=round(7*rand(1,4)+1)
    disp(S)
    M=[]
    victoire=%F
    while ( (tour<13) & (~victoire) )
        disp('tour :'+string(tour))
        M=[]
        while (~ isequal(size(M),[1,4]))
            M=input('Combinaison : ")
            if (~ isequal(size(M),[1,4])) then
                disp('Mauvais format')
            end
        end
        victoire = isequal(M,S)
        A=[]
        if (~victoire) then
    P=[]
    for k=1:4
        if M(k)==S(k) then
            A=[A,11]
            M(k)=0
        else
            P=[P,k]
        end
    end
            for j=P
            i=1
            while (i<5)
                if (i~=j) & (M(i)==S(j)) then
                    A=[A,10]
                    i=5
                end
                i=i+1
            end
        end
        disp(A)
        end
        tour=tour+1
    end
    if (victoire) then
        disp('Bingo')
    else
        disp('Looser')
    end

  10. #70
    invite4492c379

    Re : Programmation mastermind

    J'ai testé le code que tu as publié et voilà le résultat :

    En gagnant ...
    Code:
    -->exec('/home/fred/Desktop/mastermind.sce', -1)
     
        2.    6.    1.    3.  
     
     tour :1   
    
    
    Combinaison : [2,6,1,3]
     
     Bingo
    Plusieurs cas ...
    Code:
    -->exec('mastermind.sce', -1)
     
        6.    5.    7.    6.  
     
     tour :1   
    
    
    Combinaison : [1,1,1,1]
     
         []
     
     tour :2   
    
    
    Combinaison : [6,6,6,6]
     
        11.    11.  
     
     tour :3   
    
    
    Combinaison : [5,5,5,5]
     
        11.  
     
     tour :4   
    
    
    Combinaison : [5,6,6,7]
     
        10.    10.    10.    10.  
     
     tour :5   
    
    
    Combinaison : [6,5,7,6]
     
     Bingo
    en perdant

    Code:
    ....
    
    tour :12   
    
    
    Combinaison : [1,1,1,1]
     
        11.  
     
     Looser
    Le comportement en test me paraît correct.

  11. #71
    invite0bb5307a

    Re : Programmation mastermind

    J'ai avancé le tour=tour+1 et ça marche bien !

    Code:
    tour = 1;
    S=round(7*rand(1,4)+1)
    disp(S)
    M=[]
    victoire=%F
    while ( (tour<13) & (~victoire) )
        disp('tour :'+string(tour))
        M=[]
        while (~ isequal(size(M),[1,4]))
            M=input('Combinaison : ")
            if (~ isequal(size(M),[1,4])) then
                disp('Mauvais format')
            end
        end
        victoire = isequal(M,S)
        A=[]
        if (~victoire) then
    P=[]
    for k=1:4
        if M(k)==S(k) then
            A=[A,11]
            M(k)=0
        else
            P=[P,k]
        end
    end
            for j=P
            i=1
            while (i<5)
                if (i~=j) & (M(i)==S(j)) then
                    A=[A,10]
                    i=5
                end
                i=i+1
            end
        end
        disp(A)
        tour=tour+1
        end
    end
    if (victoire) then
        disp('Bingo')
    else
        disp('Looser')
    end

  12. #72
    invite4492c379

    Re : Programmation mastermind



    Tu y es arrivée. C'était un peu fastidieux ...
    Je vais te sembler lourd mais la manière dont tu t'y es prise n'est pas la bonne ... il y a des méthodes pour arriver à un résultat correct plus rapidement.

    Mais bon bravo

  13. #73
    invite0bb5307a

    Re : Programmation mastermind

    C'est pas fini.. Ça ne fonctionne pas dans tous les cas.

    S= 3. 5. 5. 4.

    M=[1 2 4 5]

    => A=10. 10. 10.


    Alors qu'on doit avoir A=10 10

  14. #74
    invite4492c379

    Re : Programmation mastermind

    Disons que la réponse est dans S il y 3 mal placé par rapport à M ... non ?

  15. #75
    invite0bb5307a

    Re : Programmation mastermind

    Oui, mais on doit en noter que 2

  16. #76
    invite0bb5307a

    Re : Programmation mastermind

    Voilà ce que j'ai :

    Code:
    tour = 1;
    S=round(7*rand(1,4)+1)
    M=[]
    victoire=%F
    while ( (tour<13) & (~victoire) )
        disp('tour :'+string(tour))
        M=[]
        while (~ isequal(size(M),[1,4]))
            M=input('Combinaison : ")
            if (~ isequal(size(M),[1,4])) then
                disp('Mauvais format')
            end
        end
        victoire = isequal(M,S)
        A=[]
        if (~victoire) then
    P=[]
    for k=1:4
        if M(k)==S(k) then
            A=[A,11]
            M(k)=0
        else
            P=[P,k]
        end
    end
            for j=P
            i=1
            while (i<5)
                if (i~=j) & (M(i)==S(j)) then
                    A=[A,10]
                    M(i)=0
                    i=5
                end
                i=i+1
            end
        end
        disp(A)
        tour=tour+1
        end
    end
    if (victoire) then
        disp('Bingo')
    else
        disp('Looser')
        Solution=disp(S)
    end

    Vous pouvez me donner des pistes pour le faire plus rapidement?

Page 3 sur 3 PremièrePremière 3

Discussions similaires

  1. réalisation de mastermind
    Par invite7f58f807 dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 08/12/2010, 08h27
  2. Mastermind
    Par invite7553e94d dans le forum Science ludique : la science en s'amusant
    Réponses: 1
    Dernier message: 22/04/2009, 19h00
  3. Programmation
    Par invite1dee7ead dans le forum Logiciel - Software - Open Source
    Réponses: 24
    Dernier message: 03/01/2009, 10h48
  4. Programmation C
    Par invite34aea5f7 dans le forum Électronique
    Réponses: 21
    Dernier message: 22/03/2008, 00h19
  5. programmation
    Par invite70772835 dans le forum Électronique
    Réponses: 0
    Dernier message: 01/05/2007, 19h03