Авторизироваться
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: programmer  
Помогите пожалуйста с игрой.
23.12.2010 в 15:48 Сообщение #11
12121
Программист
Проверенные
Сообщений: 357
Награды: 4
Репутация: 290
Offline
можно так но проще через массив
Code

Program Schetchik;
var
stena:image;
chel:image; // Переменная для хранения самой тарелки
X,Y,stolk:integer; // Координаты тарелки
Key:integer; // Код нажатой кнопки

// проверяем попадает ли точка x1, y1  в прямоугольник x,y,width,height
function Stolkn(x,y,width,height,  x1,y1: integer): integer;  
   begin  
   if (x1>=x) and (x1<=x+width) and (y1>=y) and (y1<=y+height) then Stolkn:=1; else Stolkn:=0;
  end;

begin
// Загружаем картинки
chel:=LoadImage('/icon.png');
stena:=LoadImage('/icon.png');

// Задаем начальные координаты тарелки
X:=0;
Y:=0;
// Цикл до нажатия на центр джойстика
while (Key<>GA_FIRE) do
begin
setColor(255,255,255);
fillRect(0,0,getWidth, getHeight);
DrawImage(chel,X,Y);
DrawImage(stena,100,100);

// проверяем на столкновение угловые точки.   если картинки разного размера может нужно проверять и другие точки
stolk:=0;
stolk:=Stolkn(100,100,getImageWidth(stena),getImageHeight(stena),X,Y);
stolk:=stolk+Stolkn(100,100,getImageWidth(stena),getImageHeight(stena),X+getImageWidth(chel),Y);
stolk:=stolk+Stolkn(100,100,getImageWidth(stena),getImageHeight(stena),X,Y+getImageHeight(chel));
stolk:=stolk+Stolkn(100,100,getImageWidth(stena),getImageHeight(stena),X+getImageWidth(chel),Y+getImageHeight(chel));

setColor(255,0,0);
if (stolk>0) then DrawText('Столкновение !',0,0);

repaint;
Delay(100);
// Обрабатываем нажатия кнопок и меняем координаты тарелки
Key:=KeyToAction(getKeyPressed);
if (Key=GA_LEFT) then X:=X-(getImageHeight(chel));
if (Key=GA_RIGHT) then X:=X+(getImageHeight(chel));
if (Key=GA_UP) then Y:=Y-(getImageHeight(chel));
if (Key=GA_DOWN) then Y:=Y+(getImageHeight(chel));

end;
end.
23.12.2010 в 15:50 Сообщение #12
12121
Программист
Проверенные
Сообщений: 357
Награды: 4
Репутация: 290
Offline
stolk:=0; эта строчка лишняя
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: