Модели сложных систем

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

ure^.Gol>=MaxGolK then

begin

KillKosiak(nx,ny);

AmountOfKosiak:=AmountOfKosiak-1;

end;

begin

inc(Mas[nx,ny].Creature^.Life,1);

if Mas[nx,ny].Creature<>nil then

if Mas[nx,ny].Creature^.Syt>=PoraDelK then

begin

Mas[nx,ny].Creature^.Syt:=0;

Mas[nx,ny].Creature^.Gol:=0;

DivisionKosiak(nx,ny);

end;

if Mas[nx,ny].Creature<>nil then

Mas[nx,ny].Creature^.IsHodila:=True;

end;

end;

for j:=1 to MAXSIZEY do

for i:=1 to MAXSIZEX do

begin

if mas[i,j].Xish<>nil then

mas[i,j].Xish^.IsHodila:=False;

if mas[i,j].Creature<>nil then

mas[i,j].Creature^.IsHodila:=False;

if mas[i,j].Creature<>nil then

if mas[i,j].Creature^.gol<(MaxGolK div 2) then

b:=2

else b:=1

else b:=0;

if mas[i,j].Eda<>nil then

a:=mas[i,j].Eda^.Amount

else a:=0;

if mas[i,j].Xish<>nil then mas[i,j].Xish^.Draw(a,b)

else

if mas[i,j].Creature<>nil then mas[i,j].Creature^.Draw(a,0)

else

if mas[i,j].Eda<>nil then mas[i,j].Eda^.Draw(0,0) else

Canva.Draw(cellsize*(i-1)+1,cellsize*(j-1)+1,p0k0x0);

end;

if AmountOfKosiak> 0 then

counter:=counter+1;

for j:=1 to MAXSIZEY do

for i:=1 to MAXSIZEX do

begin

if mas[i,j].Eda=nil then

begin

new(Mas[i,j].Eda);

Mas[i,j].Eda^:=TPlankton.Init(i,j,0,canva);

end;

if mas[i,j].Eda^.GetKol+PlanktonGrow<=100 then

mas[i,j].Eda^.SetKol(mas[i,j].Eda^.GetKol+PlanktonGrow);

end;;

if mas[i,j].Creature<>nil then mas[i,j].Creature^.Draw(0,0) else

if mas[i,j].Eda<>nil then mas[i,j].Eda^.Draw(0,0) else

Canva.Draw(cellsize*(i-1)+1,cellsize*(j-1)+1,p0k0x0);

p0k0x0:= TBitmap.Create;

p0k0x3:= TBitmap.Create;

p0k0x6:= TBitmap.Create;

p0k0x8:= TBitmap.Create;

p0k3x0:= TBitmap.Create;

p0k3x3:= TBitmap.Create;

p0k3x6:= TBitmap.Create;

p0k3x8:= TBitmap.Create;

p0k6x0:= TBitmap.Create;

p0k6x3:= TBitmap.Create;

p0k6x6:= TBitmap.Create;

p0k6x8:= TBitmap.Create;

p0k8x0:= TBitmap.Create;

p0k8x3:= TBitmap.Create;

p0k8x6:= TBitmap.Create;

p0k8x8:= TBitmap.Create;

p3k0x0:= TBitmap.Create;

p3k0x3:= TBitmap.Create;

p3k0x6:= TBitmap.Create;

p3k0x8:= TBitmap.Create;

p3k3x0:= TBitmap.Create;

p3k3x3:= TBitmap.Create;

p3k3x6:= TBitmap.Create;

p3k3x8:= TBitmap.Create;

p3k6x0:= TBitmap.Create;

p3k6x3:= TBitmap.Create;

p3k6x6:= TBitmap.Create;

p3k6x8:= TBitmap.Create;

p3k8x0:= TBitmap.Create;

p3k8x3:= TBitmap.Create;

p3k8x6:= TBitmap.Create;

p3k8x8:= TBitmap.Create;

p6k0x0:= TBitmap.Create;

p6k0x3:= TBitmap.Create;

p6k0x6:= TBitmap.Create;

p6k0x8:= TBitmap.Create;

p6k3x0:= TBitmap.Create;

p6k3x3:= TBitmap.Create;

p6k3x6:= TBitmap.Create;

p6k3x8:= TBitmap.Create;

p6k6x0:= TBitmap.Create;

p6k6x3:= TBitmap.Create;

p6k6x6:= TBitmap.Create;

p6k6x8:= TBitmap.Create;

p6k8x0:= TBitmap.Create;

p6k8x3:= TBitmap.Create;

p6k8x6:= TBitmap.Create;

p6k8x8:= TBitmap.Create;

p8k0x0:= TBitmap.Create;

p8k0x3:= TBitmap.Create;

p8k0x6:= TBitmap.Create;

p8k0x8:= TBitmap.Create;

p8k3x0:= TBitmap.Create;

p8k3x3:= TBitmap.Create;

p8k3x6:= TBitmap.Create;

p8k3x8:= TBitmap.Create;

p8k6x0:= TBitmap.Create;

p8k6x3:= TBitmap.Create;

p8k6x6:= TBitmap.Create;

p8k6x8:= TBitmap.Create;

p8k8x0:= TBitmap.Create;

p8k8x3:= TBitmap.Create;

p8k8x6:= TBitmap.Create;

p8k8x8:= TBitmap.Create;

p0k0x0.LoadFromFile('p0k0x0.bmp');

p0k0x3.LoadFromFile('p0k0x3.bmp');

p0k0x6.LoadFromFile('p0k0x6.bmp');

p0k0x8.LoadFromFile('p0k0x8.bmp');

p0k3x0.LoadFromFile('p0k3x0.bmp');

p0k3x3.LoadFromFile('p0k3x3.bmp');

p0k3x6.LoadFromFile('p0k3x6.bmp');

p0k3x8.LoadFromFile('p0k3x8.bmp');

p0k6x0.LoadFromFile('p0k6x0.bmp');

p0k6x3.LoadFromFile('p0k6x3.bmp');

p0k6x6.LoadFromFile('p0k6x6.bmp');

p0k6x8.LoadFromFile('p0k6x8.bmp');

p0k8x0.LoadFromFile('p0k8x0.bmp');

p0k8x3.LoadFromFile('p0k8x3.bmp');

p0k8x6.LoadFromFile('p0k8x6.bmp');

p0k8x8.LoadFromFile('p0k8x8.bmp');

p3k0x0.LoadFromFile('p3k0x0.bmp');

p3k0x3.LoadFromFile('p3k0x3.bmp');

p3k0x6.LoadFromFile('p3k0x6.bmp');

p3k0x8.LoadFromFile('p3k0x8.bmp');

p3k3x0.LoadFromFile('p3k3x0.bmp');

p3k3x3.LoadFromFile('p3k3x3.bmp');

p3k3x6.LoadFromFile('p3k3x6.bmp');

p3k3x8.LoadFromFile('p3k3x8.bmp');

p3k6x0.LoadFromFile('p3k6x0.bmp');

p3k6x3.LoadFromFile('p3k6x3.bmp');

p3k6x6.LoadFromFile('p3k6x6.bmp');

p3k6x8.LoadFromFile('p3k6x8.bmp');

p3k8x0.LoadFromFile('p3k8x0.bmp');

p3k8x3.LoadFromFile('p3k8x3.bmp');

p3k8x6.LoadFromFile('p3k8x6.bmp');

p3k8x8.LoadFromFile('p3k8x8.bmp');

p6k0x0.LoadFromFile('p6k0x0.bmp');

p6k0x3.LoadFromFile('p6k0x3.bmp');

p6k0x6.LoadFromFile('p6k0x6.bmp');

p6k0x8.LoadFromFile('p6k0x8.bmp');

p6k3x0.LoadFromFile('p6k3x0.bmp');

p6k3x3.LoadFromFile('p6k3x3.bmp');

p6k3x6.LoadFromFile('p6k3x6.bmp');

p6k3x8.LoadFromFile('p6k3x8.bmp');

p6k6x0.LoadFromFile('p6k6x0.bmp');

p6k6x3.LoadFromFile('p6k6x3.bmp');

p6k6x6.LoadFromFile('p6k6x6.bmp');

p6k6x8.LoadFromFile('p6k6x8.bmp');

p6k8x0.LoadFromFile('p8k8x0.bmp');

p6k8x3.LoadFromFile('p8k8x3.bmp');

p6k8x6.LoadFromFile('p8k8x6.bmp');

p6k8x8.LoadFromFile('p8k8x8.bmp');

p8k0x0.LoadFromFile('p8k0x0.bmp');

p8k0x3.LoadFromFile('p8k0x3.bmp');

p8k0x6.LoadFromFile('p8k0x6.bmp');

p8k0x8.LoadFromFile('p8k0x8.bmp');

p8k3x0.LoadFromFile('p8k3x0.bmp');

p8k3x3.LoadFromFile('p8k3x3.bmp');

p8k3x6.LoadFromFile('p8k3x6.bmp');

p8k3x8.LoadFromFile('p8k3x8.bmp');

p8k6x0.LoadFromFile('p8k6x0.bmp');

p8k6x3.LoadFromFile('p8k6x3.bmp');

p8k6x6.LoadFromFile('p8k6x6.bmp');

p8k6x8.LoadFromFile('p8k6x8.bmp');

p8k8x0.LoadFromFile('p8k8x0.bmp');

p8k8x3.LoadFromFile('p8k8x3.bmp');

p8k8x6.LoadFromFile('p8k8x6.bmp');

p8k8x8.LoadFromFile('p8k8x8.bmp');

 

p0k0x0.Free;

p0k0x3.Free;

p0k0x6.Free;

p0k0x8.Free;

p0k3x0.Free;

p0k3x3.Free;

p0k3x6.Free;

p0k3x8.Free;

p0k6x0.Free;

p0k6x3.Free;

p0k6x6.Free;

p0k6x8.Free;

p0k8x0.Free;

p0k8x3.Free;

p0k8x6.Free;

p0k8x8.Free;

p3k0x0.Free;

p3k0x3.Free;

p3k0x6.Free;

p3k0x8.Free;

p3k3x0.Free;

p3k3x3.Free;

p3k3x6.Free;

p3k3x8.Free;

p3k6x0.Free;

p3k6x3.Free;

p3k6x6.Free;

p3k6x8.Free;

p3k8x0.Free;

p3k8x3.Free;

p3k8x6.Free;

p3k8x8.Free;

p6k0x0.Free;

p6k0x3.Free;

p6k0x6.Free;

p6k0x8.Free;

p6k3x0.Free;

p6k3x3.Free;

p6k3x6.Free;

p6k3x8.Free;

p6k6x0.Free;

p6k6x3.Free;

p6k6x6.Free;

p6k6x8.Free;

p6k8x0.Free;

p6k8x3.Free;

p6k8x6.Free;

p6k8x8.Free;

p8k0x0.Free;

p8k0x3.Free;

p8k0x6.Free;

p8k0x8.Free;

p8k3x0.Free;

p8k3x3.Free;

p8k3x6.Free;

p8k3x8.Free;

p8k6x0.Free;

p8k6x3.Free;

p8k6x6.Free;

p8k6x8.Free;

p8k8x0.Free;

p8k8x3.Free;

p8k8x6.Free;

p8k8x8.Free;.