[ Foro de Pascal ]
alguiel que sepa programar en pascal y me ayude a resolver este codigo
program Truco21cartas;
const
MAX_TARJETAS_GRUPO = 7;
MAX_GRUPOS = 3;
MAX_TARJETAS = MAX_TARJETAS_GRUPO * MAX_GRUPOS;
MIN_TARJETA_VALOR = 'A';
MAX_TARJETA_VALOR = Chr(MAX_TARJETAS + Ord('A') - 1);
type
tarjetas = MIN_TARJETA_VALOR..MAX_TARJETA_VALOR;
grupo = array[1..MAX_TARJETAS_GRUPO] of tarjetas;
mazo = array[1..MAX_TARJETAS] of tarjetas;
var
grupo1, grupo2, grupo3: grupo;
deck: mazo;
i, j,x: Integer;
carta: tarjetas;
opcion: integer;
begin
Randomize;
writeln('Hola, soy mago intentare adivinarte la letra en la que estas pensando.');
writeln;
writeln('vamos 3 secuencias. Empecemos...');
writeln;
writeln('Secuencia 1 :');
// Llenar el mazo con todas las tarjetas posibles
for i := 1 to MAX_TARJETAS do
deck[i] := Chr(Ord('A') + i - 1);
// Barajar el mazo
for i := 1 to MAX_TARJETAS do begin
j := Random(MAX_TARJETAS) + 1;
carta := deck[i];
deck[i] := deck[j];
deck[j] := carta;
end;
// Distribuir las tarjetas en grupos sin repeticiones
for i := 1 to MAX_TARJETAS_GRUPO do
begin
grupo1[i] := deck[i];
grupo2[i] := deck[i + MAX_TARJETAS_GRUPO];
grupo3[i] := deck[i + 2 * MAX_TARJETAS_GRUPO];
end;
writeln;
// Mostrar los grupos
for i := 1 to MAX_TARJETAS_GRUPO do
writeln(' ',grupo1[i], ' ',grupo2[i], ' ',grupo3[i]);
writeln;
for x:=1 to MAX_GRUPOS do begin
write('En que columna se encuentra tu letra? (1-2-3):');
readln(opcion);
case opcion of
1:
begin //GRUPO 1
for i:=1 to 7 do
grupo1[i]:=deck[i];
for i := 1 to 7 do
deck[i] := deck[i + 14];
for i := 1 to 7 do
deck[i + 7] := grupo1[i];
for i :=1 to MAX_TARJETAS_GRUPO do begin
write(' ',grupo1[i], ' ',grupo2[i], ' ',grupo3[i]);
writeln;
end;
end;
2:
begin // GRUPO 2
for i:=1 to 7 do
grupo2[i]:=deck[i];
for i := 1 to 7 do
deck[i] := deck[1 + 14];
for i := 1 to 7 do
deck[i + 7] := grupo2[i];
FOR i:=1 TO MAX_TARJETAS_GRUPO do BEGIN
deck[i]:=deck[i];
write(' ',grupo1[i],' ',grupo2[i],' ',grupo3[i]);
writeln;
end;
end;
3:
begin //GRUPO 3
for i:=1 to 7 do
grupo1[i]:=deck[i];
for i := 1 to 7 do
deck[i] := deck[i + 14];
for i := 1 to 7 do
deck[i + 7] := grupo1[i];
for i :=1 to MAX_TARJETAS_GRUPO do begin
write(' ',grupo1[i], ' ',grupo2[i], ' ',grupo3[i]);
writeln;
end;
end;
else begin
writeln('ERROR: Debes escoger entre 1-2-3');
writeln('¿En que columna se encuentra tu letra? (1-2-3):');
writeln;
readln(opcion);
end;
end;
end;
WRITELN('Tu Letra es la:', deck[11]);
writeln;
readln;
¿Qué quieres decir con "ayudar a resolver"? Intenta ser más concreto, ¿qué duda tienes?
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)