[ 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 (+83)

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