IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Игра Озеро на Delphi, Помогите доделать plz
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской
Реальное имя: Серёга

Репутация: -  0  +


Суть игры простая: Есть озеро, в нем плавают рыбы 2-х видов: карп и щука {Эту часть работы я выполнил}. Нужно чтобы рыбы разных видов поедали друг друга, а одного вида размножались. Рыбы у меня сделаны .bmp изображениями, в общем когда эти изображения соприкасаются и должно происходить одно из действий, помогите пожалуйста написать такую процедуру. Опыта работы у меня немного и не получается это сделать unsure.gif

Вот Юнит, относящийся к рыбам:

unit Fishes;

interface

uses Forms, Graphics, Types;

type
PFish = ^TFish;
PShuka = ^TShuka;
PCarp = ^TCarp;

TFish=object
x,y:integer;
color:integer;
Body:TBitmap;
Owner:TForm;
OwnerBody:TBitmap;
xSpeed,ySpeed,napr:integer;

constructor Init(px,py,pcolor:integer; myOwner:TForm; MyOwnerBody:TBitmap);

procedure LoadFromFile(FileName:string);
procedure Show;virtual;
procedure Move;virtual;
procedure Hide;
end;

TShuka=object(TFish)

constructor Init(px,py,pcolor:integer; myOwner:TForm; MyOwnerBody:TBitmap);
procedure Show;virtual;
procedure Move;virtual;
end;

TCarp=object(TFish)

constructor Init(px,py,pcolor:integer; myOwner:TForm; MyOwnerBody:TBitmap);
procedure Show;virtual;
procedure Move;virtual;
end;

implementation

constructor TFish.Init;
begin
end;

constructor TCarp.Init;
begin
x:=px;
y:=py;
color:=pcolor;
Owner:=myOwner;
OwnerBody:=MyOwnerBody;
Body:=TBitmap.Create;
LoadFromFile('Image\Fish1.bmp');
Body.Transparent:=true;
end;

constructor TShuka.Init;
begin
x:=px;
y:=py;
color:=pcolor;
Owner:=myOwner;
OwnerBody:=MyOwnerBody;
Body:=TBitmap.Create;
LoadFromFile('Image\Fish2.bmp');
Body.Transparent:=true;
end;

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;

{=======================Carp=======================}

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;

begin
Randomize;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 26
Пол: Мужской

Репутация: -  0  +


Смотри ты вообщем берёшь и анимацию пожирания и спаривания ведёшь отдельно...

Добавлено через 8 мин.
Смотри ты вообщем берёшь и анимацию пожирания и спаривания ведёшь отделения...

Сообщение отредактировано: Baumanec -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 18.01.2021 8:41
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name