[ Foro de Pascal ]

Problema dibujando un cuadrado

12-Sep-2015 22:24
Pablo Sammartino
1 Respuestas

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.
 


 


14-Sep-2015 23:48
Nacho Cabanes (+31)

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.)