[ Foro de Pascal ]
Para un trabajo práctico tengo que programar un tablero para un juego; básicamente con TextBackground y TextColor. Pero no logro hacer funcionar el procedimiento de manera que apenas se ejecute, muestre en pantalla un cuadrado de 10x10 formado de espacios con Background azul.
program BatallaNaval;
uses crt;
type mtablero = array[1..10, 1..10] of byte;
var
tablero1,tablero2 : mtablero;
nfila, ncolumna : integer;
{ Procedimiento para dibujar tablero }
procedure dibujar(tablero1,tablero2: mtablero);
var i, j: byte;
begin
clrscr;
for j:= 1 to 10 do
begin
for i:=1 to 10 do
begin
TextBackground(Blue);
writeln(' ');
tablero1[i,j]:=0;
readln;
end;
end;
end;
BEGIN
dibujar(tablero1,tablero2);
END.
Es que usas un "WriteLn" en cada casilla, y deberías hacerlo sólo al final de cada fila:
TextBackground(Blue);
for j:= 1 to 10 do
begin
for i:=1 to 10 do
begin
write(' ');
tablero1[i,j]:=0;
end;
writeLn();
end;
end;
(De paso, yo te recomendaría usar variables "fila" y "columna" en vez de "j" e "i". Te será más fácil descubrir errores.)
(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.)