Pascal/Turbo Pascal - ayuda con movimiento de caracter

   
Vista:

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.
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:ayuda con movimiento de caracter

Publicado por Willy (181 intervenciones) el 28/12/2007 03:40:52
Hola Amanda
No se exactamente qué quieres hacer pero le quité los read que le pusiste.
Ah! y tu procedimiento basuran no hace nada, prueba a quitárselo y te darás cuenta.
No entiendo bien tu código



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(50);
gotoxy(i,j+1);
matrizprincipal[i,j]:='';
gotoxy(i,j+1);
write('');

end;
end;
end;
{PROGRAMA PRINCIPAL}
begin
textbackground(magenta);
clrscr;
inicia(matrizprincipal);
basuran(matrizprincipal);

movimiento(matrizprincipal);
end.
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

Ayuda con movimiento de caracter

Publicado por ami.bea (2 intervenciones) el 28/12/2007 18:09:25
Hola mira el procedimiento BASURAN si hace algo el pone caracteres en una matriz de 15 *40 de forma aleatoria lo q yo quiero hacer es que el procedimiento MOVIMIENTO recorra la matriz en donde esta los caracteres del procedimiento BASURAN y por eso muestro mi codigo porque lo q hace es mostrar el movimiento DESPUES de que muestra los caracteres q estan, es decir quiero que se muestre todo al mismo tiempo.. AYudenme please
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

RE:ayuda con movimiento de caracter

Publicado por lester (2 intervenciones) el 21/04/2008 02:18:52
necesito hacer en pascal que un asterisco de vuelta en el marco de la pantalla!!!!!!!

como lo hago ?

ayuda porfavor !
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