компилируется,но не пашет(
program mymap;
var
map:array[0..19,0..19] of integer;
key:integer;
res : resource;
x:integer;
y:integer;
pic:array [0..5] of image;
i:integer;
j:integer;
kx,ky:integer;
player : array [0..3] of image;
dir : integer;
speed : integer;
begin
SetColor(0,0,0);
DrawImage(LoadImage('/dector.png'), 0, 0);
repaint;
delay(3000);
speed := 2;
res := OpenResource('/map.txt');
for i := 0 to 3 do
begin
player[i] := imagefromimage(LoadImage('/ter_skin1.png'),27 * i,0,27,27);
end;
for j := 0 to 5 do
begin
pic[j] := imagefromimage(LoadImage('/map.png'),32 * j,0,32,32);
end;
dir := 0;
X := 50;
Y := 50;
for ky := 0 to 19 do
begin
for kx := 0 to 19 do
begin
map[kx,ky] := StringToInteger(GetChar(ReadLine(res),kx));
end;
end;
CloseResource(res);
repeat
FillRect(0, 0, GetWidth, GetHeight);
key := GetKeyPressed;
if key = KE_KEY6 then
begin
dir := 0;
X := X + SPEED;
end; else
if key = KE_KEY8 then
begin
dir := 1;
Y := Y + SPEED;
end; else
if key = KE_KEY4 then
begin
dir := 2;
X := X - SPEED;
end; else
if key = KE_KEY2 then
begin
dir := 3;
Y := Y - SPEED;
end;
for ky := 0 to 19 do
begin
for kx := 0 to 19 do
begin
if map[kx,ky] = 1 then
DrawImage(pic[2],kx*32 - x,ky*32 - y);
end;
end;
DrawImage(player[dir],GetWidth/2-16,GetHeight/2-16);
repaint;
delay(200);
until key = KE_KEY0;
end.
|