program mastermind;
uses crt;
var
a, b:array [1..4] of integer;
i,e, d, va, tentativa, certos:integer;
opcao:char;
begin

repeat
clrscr;
randomize;
for i:=1 to 4 do
a[i]:=random (4)+1;
writeln('*********************MASTERMIND*******************');

writeln('criados aleatoriamente e que podem ser 1,2,3,4');
writeln ('o numero aleatorio é', a[1], a[2], a[3], a[4] );
writeln;
tentativa:=0;

tentativa:=tentativa+1;
for i:=1 to 4 do
begin
repeat
writeln('escreva o',i,'$digito:');
readln (b[i]);
until b[i] in [1..4]
end;
certos:=0;

for i:=1 to 4 do
begin
va:=0;
for e:=1 to 4 do
begin
if a[i]=b[e] then

if i=e then
begin
{ writeln ('o numero existe e esta na posiçao correcta'); }
d:=3;
certos:=certos +1;
end

else
begin
{ writeln('o numero existe mas esta na posiçao errada'); }
d:=2;
end

else
{ writeln('o numero nao existe'); }
d:=1;
if d>va then
va:=d;
end;
if va=3 then
writeln ('o numero existe e esta na posiçao correcta')

else
writeln('o numero existe mas esta na posiçao errada');
end;


if certos=4 then
writeln ('acertou em', tentativa, 'tentativas')

else
writeln('nao conseguiu acertar');


writeln ('os digitos escondidos eram:');
for i:=1 to 4 do
writeln (a[i]);


writeln('prima [s] para sair');
readln(opcao);

until opcao='s';

end.


**Guida Aguiar**

3 comentários:

Anónimo disse...

PODIAS-ME EXPLICAR COMO POSSO FAZER O MEU MASTERMINDA PARA DAR PARA DUAS PESSOAS (MULTIPLAYER) E JA AGORA PARA QUE SERVE AQUELES 2 FOR´S....

Anónimo disse...

ola sou o André e quero dizer que este mastermind esta mal quem vez isso nao sabe programar...

Olá André sou a Cátia da turma de GPSI e quero saber em que parte o programa dá erro. Diz-me qual é, porque no meu Pascal dá certo.

Enviar um comentário