afegit intèrpret ascii, doc d'API i fonts Pascal originals
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
uses jinput, grafix, crt, tipos;
|
||||
|
||||
var
|
||||
item : byte;
|
||||
num_fase : string;
|
||||
|
||||
{##############################################################}
|
||||
procedure CarregaMapa;
|
||||
var fich : file of byte;
|
||||
i,j : word;
|
||||
buffer : byte;
|
||||
begin
|
||||
Assign(fich,'03.map');
|
||||
Reset(fich);
|
||||
for i:=0 to 39 do
|
||||
for j:=0 to 24 do
|
||||
begin
|
||||
Read(fich, buffer);
|
||||
mapa[i,j].tipo := buffer;
|
||||
for k:=0 to num_items-1 do
|
||||
if llista_items[k] = mapa[i,j].tipo then
|
||||
mapa[i,j].color := color_items[k];
|
||||
end;
|
||||
Close(fich);
|
||||
end;
|
||||
{##############################################################}
|
||||
procedure PintaPantalla;
|
||||
var i,j : word;
|
||||
begin
|
||||
for i:=0 to 39 do
|
||||
for j:=0 to 24 do
|
||||
begin
|
||||
mem[pant1:(i shl 1)+(j*80)]:=mapa[i,j].tipo;
|
||||
mem[pant1:(i shl 1)+1+(j*80)]:=mapa[i,j].color;
|
||||
end;
|
||||
|
||||
mem[pant1:((GetmouseX) div 8)+(((GetmouseY) div 8)*80)]:=88;
|
||||
mem[pant1:((GetmouseX) div 8)+(((GetmouseY) div 8)*80)+1]:=7;
|
||||
|
||||
espera_VGA;
|
||||
move(mem[pant1:0], mem[$B800:0], 2000);
|
||||
|
||||
GotoXY(1,1);
|
||||
Write('X: ',(GetmouseX) div 16:2, ' Y: ', (GetmouseY) div 8:2, ' ITEM: ', chr(llista_items[item]));
|
||||
end;
|
||||
{##############################################################}
|
||||
procedure SalvaMapa(numero : string);
|
||||
var nom : string;
|
||||
fich : file of byte;
|
||||
begin
|
||||
nom := numero+'.map';
|
||||
Assign(fich, nom);
|
||||
Rewrite(fich);
|
||||
for i:=0 to 39 do
|
||||
for j:=0 to 24 do
|
||||
Write(fich, mapa[i,j].tipo);
|
||||
Close(fich);
|
||||
end;
|
||||
{##############################################################}
|
||||
|
||||
begin
|
||||
setmode(1);
|
||||
SetMousePos(320,100);
|
||||
SetMouseZone(0,16,640-16,200-8);
|
||||
SetMouseSensitivity(10,10);
|
||||
SetMouseInterruptRate(0);
|
||||
SetUpVirtual(ptrpant1, pant1);
|
||||
item := 1;
|
||||
|
||||
for i:=0 to 39 do
|
||||
for j:=0 to 24 do
|
||||
mapa[i,j].tipo:=buit;
|
||||
|
||||
{CarregaMapa;}
|
||||
|
||||
repeat
|
||||
PintaPantalla;
|
||||
if (estatboto(MBLeft)<>0) then
|
||||
begin
|
||||
mapa[(GetmouseX) div 16, (GetmouseY) div 8].tipo := llista_items[item];
|
||||
mapa[(GetmouseX) div 16, (GetmouseY) div 8].color := color_items[item];
|
||||
end;
|
||||
if (estatboto(MBRight)<>0) then
|
||||
begin
|
||||
item := (item+1) mod num_items;
|
||||
repeat until (estatboto(MBRight)=0);
|
||||
end;
|
||||
until keypressed;
|
||||
|
||||
gotoXY(10,10);
|
||||
write('NUMERO DE FASE? ');
|
||||
read(num_fase);
|
||||
|
||||
SalvaMapa(num_fase);
|
||||
|
||||
TancarVirtual(ptrpant1);
|
||||
setmode(3);
|
||||
end.
|
||||
|
||||
Reference in New Issue
Block a user