• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

n_paiva

[Pascal] Paint

2 mensagens neste tópico

Olá eu sou o Nuno Paiva, tenho 15 anos e sou novo neste fórum...

Estou a desenvolver um projecto que se baseia numa imitação "rasca" do Paint no Pascal...

Aqui está o meu trabalho até agora:

program desenhador;
const
cima='H';
baixo='P';
esq='K';
dir='M';
del='S';
q='Q';
w='W';
var
mat: array [1..80,1..25] of char;
c:char;
x,y:integer;
begin
for x:=1 to 80 do
begin
	for y:=1 to 25 do
	begin
	     if (x<=3) or (x>=78) then
		begin
			textcolor(4);
			gotoxy(x,y);
			write('*');
		end
		else
		begin
			if (y<=4) or (y>=23) then
			begin
				textcolor(4);
				gotoxy(x,y);
				write('*');
			end
			else
			begin
				textcolor(8);
				gotoxy(x,y);
				write('*');
			end;
		end;
	end;
end;
for x:=1 to 80 do
begin
	for y:=1 to 25 do
	begin
		mat[x,y]:=';';
	end;
end;
textcolor(0);
x:=40;
Y:=12;
gotoxy(40,12);
write('*');
mat[x,y]:='*';
repeat
	c:=upcase(readkey);
	case c of
		cima:
		begin
			y:=y-1;
			gotoxy(x,y);
			write('*');
			mat[x,y]:='*';
		end;
		baixo:
		begin
			y:=y+1;
			gotoxy(x,y);
			write('*');
			mat[x,y]:='*';
		end;
		esq:
		begin
			x:=x-1;
			gotoxy(x,y);
			write('*');
			mat[x,y]:='*';
		end;
		dir:
		begin
			x:=x+1;
			gotoxy(x,y);
			write('*');
			mat[x,y]:='*';
		end;
		del:
		begin
			textcolor(8);
			gotoxy(x,y);
			write('*');
			textcolor(0);
		end;
		q:
		begin
			clrscr;
			textcolor(8);
			for x:=1 to 80 do
			begin
				for y:=1 to 25 do
				begin
					if (mat[x,y]='*') then
					begin
						gotoxy(x,y);
						write('*');
					end;
				end;
			end;
		end;
		w:
		begin
			for x:=1 to 80 do
			begin
				for y:=1 to 25 do
				begin
					write(mat[x,y]);
				end;
			end;
		end;
	end;
until (c=chr(27));
end.

Agora onde eu queria pedir ajuda é no seguinte, como verão se analisarem o código, eu estou a registar os "*" numa matriz, os que depois irão originar a imagem através da matriz, o que eu pretendia era agora guardar a matriz num ficheiro de texto (que foi a matéria que dei até agora em I.P. (ando no CIC 10º ano e vou para informática)) para assim guardar a "imagem", isto para quando quiser poder abrir a imagem novamente no programa, eu ando com umas ideias para fazer isto mas como isto é "novo território", gostava de saber se ao menos é possível...

Portanto, a questão fundamental é:

"Será possível guardar num ficheiro de texto uma matriz tão grande quanto o tamanho da consola do Pascal (80*25) e depois abri-la direitinho???com todas as posições etc...???" (isto no Pascal)

É que no que eu dei na aula , o meu prof usava strings (max 255 cars) nos ficheiros de texto, daí a minha dúvida...

Desde já muito obrigada pela atenção... ;)

N`PAIVA`09

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É para informar que já resolvi tudo o que queria  :cheesygrin:, e que assim deixo aqui a versão final do meu produto, o Desenhador:

http://www.megaupload.com/?d=WR6O4TTY

Abraços... :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora