ayuda con movimiento de caracter
Publicado por ami.bea (2 intervenciones) el 26/12/2007 20:24:53
Necesito hacer que el caracter del procedimiento MOVIMIENTO se mueva dentro y no despues de la matriz que estan en EL primer procedimiento de mi codigo que como ven son caracteres que estan aleatoriamente posicionados en una matriz de 15x40. Entonces no logro que el caracter se mueva dentro de la misma matriz donde estan los caracteres aleatorios . Ayuda Urgente por favorr!!!!! :( ..................
codigo fuente::
program amanda;
uses crt;
const
fila=15;
columna=40;
basuranegra=10;
type
matriz= array [1..fila,1..columna]of char;
var
matrizprincipal: matriz;
{PROCEDIMIENTOS}
{INICIA LA MATRIZ}
procedure inicia(var matrizprincipal: matriz);
var
i,j: integer;
begin
for i:=1 to fila do
begin
for j:=1 to columna do
begin
matrizprincipal[i,j]:=' ';
write(matrizprincipal[i,j]);
end;
end;
end;
{CARGA CARACTERES NEGROS}
procedure basuran(var matrizprincipal:matriz);
var
z,j,i: integer;
boo: boolean;
color:integer;
begin
for z:=1 to basuranegra do
begin
boo:= false;
repeat
i:= random(fila);
gotoxy(i,j);
j:= random(columna);
gotoxy(i,j);
if matrizprincipal[i,j]= ' ' then
begin
textcolor(black);
matrizprincipal[i,j]:='#';
gotoxy(i,j);
writeln(' #');
boo:= true;
end;
until boo= true;
end;
end;
{PROCEDIMIENTO QUE REALIZA EL MOVIMIENTO DEL CARACTER}
procedure movimiento(var matrizprincipal:matriz);
var
i,j: integer;
begin
for i:= 1 to fila do
begin
clrscr;
for j:=1 to columna do
begin
delay(10);
gotoxy(i,j+1);
matrizprincipal[i,j]:='';
gotoxy(i,j+1);
write('');
readkey;
end;
end;
end;
{PROGRAMA PRINCIPAL}
begin
textbackground(magenta);
clrscr;
inicia(matrizprincipal);
basuran(matrizprincipal);
readkey;
movimiento(matrizprincipal);
end.
codigo fuente::
program amanda;
uses crt;
const
fila=15;
columna=40;
basuranegra=10;
type
matriz= array [1..fila,1..columna]of char;
var
matrizprincipal: matriz;
{PROCEDIMIENTOS}
{INICIA LA MATRIZ}
procedure inicia(var matrizprincipal: matriz);
var
i,j: integer;
begin
for i:=1 to fila do
begin
for j:=1 to columna do
begin
matrizprincipal[i,j]:=' ';
write(matrizprincipal[i,j]);
end;
end;
end;
{CARGA CARACTERES NEGROS}
procedure basuran(var matrizprincipal:matriz);
var
z,j,i: integer;
boo: boolean;
color:integer;
begin
for z:=1 to basuranegra do
begin
boo:= false;
repeat
i:= random(fila);
gotoxy(i,j);
j:= random(columna);
gotoxy(i,j);
if matrizprincipal[i,j]= ' ' then
begin
textcolor(black);
matrizprincipal[i,j]:='#';
gotoxy(i,j);
writeln(' #');
boo:= true;
end;
until boo= true;
end;
end;
{PROCEDIMIENTO QUE REALIZA EL MOVIMIENTO DEL CARACTER}
procedure movimiento(var matrizprincipal:matriz);
var
i,j: integer;
begin
for i:= 1 to fila do
begin
clrscr;
for j:=1 to columna do
begin
delay(10);
gotoxy(i,j+1);
matrizprincipal[i,j]:='';
gotoxy(i,j+1);
write('');
readkey;
end;
end;
end;
{PROGRAMA PRINCIPAL}
begin
textbackground(magenta);
clrscr;
inicia(matrizprincipal);
basuran(matrizprincipal);
readkey;
movimiento(matrizprincipal);
end.
Valora esta pregunta


0