Jump to content

[Pascal] Paint


n_paiva
 Share

Recommended Posts

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.