[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:
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:
Error, (in mastermind) invalid subscript selector
Quelqu'un pourrait il m'aider SVP??
Merci de votre aide
Cordialement
Romain