Показать сообщение отдельно
Старый 17.04.2007, 23:05   #1
aureli0
ПроЭктировщик
 
Регистрация: 19.03.2007
Сообщений: 134
Написано 10 полезных сообщений
(для 20 пользователей)
столкновение со стенкой на уровне в виде клетки

как правильно проверять колизию например для такого случая
есть
герой и уроыень в виде клеток

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.
Паскаль ругается на ***:
Как павильно зделать в данном случае контроль героя на столкновение со стенкой?
(Offline)
 
Ответить с цитированием