столкновение со стенкой на уровне в виде клетки
как правильно проверять колизию например для такого случая
есть
герой и уроыень в виде клеток
type hero_type = record
up,down,right,left,fire,death:boolean;// виртуальная клавиатура героя
xs,ys:integer;
end;
var
hero:array [1..6] of hero_type;
num:integer //порядковый номер героя
level:array[0..19,0..19] of string;
XL,YL:integer;
shag_setki:integer;
...
begin
num:=1;
repeat
уровень грузим из текстового файла в ресурсе
111
101
000
единица - это стенка
for xl:=1 to 3 do
for yl:=1 to 3 do
begin
lf level [xl,yl]>0 then выводим стеку в положение xl*shag_setki,yl_shag_setki
end
при нажатии клавиши вверх проверяем есть ли стенка по направлению движения героя num=1,если нету то даем добро на движение
if level[hero[num].xs,hero[num].ys]<>1 then hero[num].up:=true; ***
until false
end.
Паскаль ругается на ***:
Как павильно зделать в данном случае контроль героя на столкновение со стенкой?
|