Pascal/Turbo Pascal - Necesito que me corrijan un programa

 
Vista:

Necesito que me corrijan un programa

Publicado por Fran (6 intervenciones) el 18/06/2005 19:25:06
hola amigos
tengo que entregar un programa EL LUNES y no me funciona. me estoy volviendo realmente loco. alguien que sepa de pascal me lo puede arreglar? necesito solo eso, que me lo arreglen y de veras es importante
ayudenme por favor
gracias

program practica3(input,output);
uses crt;
(* Definicion de constantes *)
const NUMFIL=2;
NUMCOL=2;
JUGADOR1=1;
JUGADOR2=2;
(* Definicion de variables *)
var x,y:char;
fila1,fila2,columna1,columna2,pos,puntuacion,i,j,r:integer;
(* Definicion de tipos *)
type tipoTabla = array (.1..NUMFIL,1..NUMCOL.) of char;
type tipoAuxiliar = array (.1..NUMFIL.) of char;

(** inicializarJuego(tabla,marcador) **)
(** Inicializa el tablero y los marcadores que deben mostrarse **)
procedure inicializarJuego(var tablero:tipoTabla;var f,c,marcador:integer);
var quedan:array(.1..NUMFIL+NUMCOL.) of integer;
begin
for i:=1 to NUMFIL*NUMCOL do
quedan(.i.):=i;
for i:=NUMFIL*NUMCOL downto 1 do
begin
randomize;
r:=random(i)+1;
pos:=tablero[r];
quedan[r]:=quedan[i];
f:=pos div NUMFIL*NUMCOL;
c:=pos mod NUMFIL*NUMCOL;
tablero[f,c]:=chr(64+(i+1)div2);
end
begin
tablero[f,c]:=chr(32);
for i:=1 to NUMCOL do
for i:=1 to NUMFIL do
begin
i:=f;
if c<>0 then
i:=c
else
i:=NUMCOL;
if x=y then
tablero[f,c]:=char(249)
else
tablero[f,c]:=chr(32);
end;
end;
(** Marcador **)
for j:=JUGADOR1,JUGADOR2,1 do
begin
j:=1;
puntuacion:=0;
if x=y then
begin
writeln('Acierto');
puntuacion:=(puntuacion+1);
writeln(puntuacion);
if j:=JUGADOR1 then
j:=JUGADOR1
else
j:=JUGADOR2
end;
else
begin
writeln('Fallo');
puntuacion:=puntuacion;
writeln(puntuacion);
if j:=JUGADOR1 then
j:=(JUGADOR1+1)
else
j:=(JUGADOR2-1)
mostrarTablero(tablero);
end;
procedure mostrarTablero(tablero:tipoTabla)
begin
for i:=1 to NUMCOL do
begin
c:=i;
for i:=1 to NUMFIL do
f:=i;
end;

(** leerCasilla(NUMFIL,NUMCOL;var f,c:integer **)
(** Lee las coordenadas introducidas del tablero y las valida **)
procedure leerCasilla(const NUMFIL,NUMCOL;var f,c:integer);
begin
writeln ('Escriba la coordenada de la fila');
readln (f);
while f>NUMFIL or c>NUMCOL do
begin
writeln ('Error.La coordenada elegida es erronea');
writeln ('Escriba la coordenada de la fila');
readln (f)
end;
writeln ('Escriba la coordenada de la columna');
readln (c);
while f>NUMFIL or c>NUMCOL do
begin
writeln ('Error.La coordenada elegida es erronea');
writeln ('Escriba la coordenada de la columna');
readln (f)
end;
pos:=[f,c];
end;

(** Modulo principal,cuerpo del programa y llamada a los modulos **)
begin
repeat
begin
mostrarTablero(tablero);
leerCasilla(f,c);
x:=pos;
leerCasilla(f,c);
y:=pos;
inicializarJuego(tablero,f,c,marcador);
end;
until puntuacion:=(NUMFIL+NUMCOL) div 2
readln;
end;

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Necesito que me corrijan un programa

Publicado por Fran (6 intervenciones) el 18/06/2005 19:47:46
Se me olvidó decirles que el programa que tengo que hacer es un juego del memory
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar