Суть игры простая: Есть озеро, в нем плавают рыбы 2-х видов: карп и щука {Эту часть работы я выполнил}. Нужно чтобы рыбы разных видов поедали друг друга, а одного вида размножались. Рыбы у меня сделаны .bmp изображениями, в общем когда эти изображения соприкасаются и должно происходить одно из действий, помогите пожалуйста написать такую процедуру. Опыта работы у меня немного и не получается это сделать
Вот Юнит, относящийся к рыбам:
unit Fishes;
interface
uses Forms, Graphics, Types;
type PFish = ^TFish; PShuka = ^TShuka; PCarp = ^TCarp;
procedure TFish.LoadFromFile; begin Body.LoadFromFile(FileName); end;
procedure TFish.Show; begin end;
procedure TFish.Move; begin end;
procedure TFish.Hide; var Rect1,Rect2:TRect; begin Rect1:=Rect(x,y,x+Body.Width,y+Body.Height); Rect2:=Rect(x,y,x+Body.Width,y+Body.Height); Owner.Canvas.BrushCopy(Rect1,OwnerBody,Rect2,clBlack); end;
{=======================Shuka=======================} procedure TShuka.Show; begin Owner.Canvas.Draw(x,y,Body); end;
procedure TShuka.Move; begin xSpeed:=Random(10); ySpeed:=Random(10); napr:=1; if (Random(200)<30) then napr:=-napr; case Random(2) of 0: Inc(x,xSpeed*napr); 1: Inc(y,ySpeed*napr); end; if (x>550)or(x<100) then x:=100; if (y>450)or(y<50) then y:=50; end;
procedure TCarp.Show; begin Owner.Canvas.Draw(x,y, Body); end;
procedure TCarp.Move; begin xSpeed:=Random(10); ySpeed:=Random(10); napr:=1; if (Random(200)<30) then napr:=-napr; case Random(2) of 0: Inc(x,xSpeed*napr); 1: Inc(y,ySpeed*napr); end; if (x>550)or(x<100) then x:=100; if (y>450)or(y<50) then y:=50; end;