Находит ошибку не пойму где она находиться помогите исправить.
Код: Выделить всё
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int island[20][20] ={
1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,
1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,1,0,1,0,1,1,1,1,0,0,1,0,0,1,0,1,1,1,1,
0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,1,1,1};
enum beast_type {rabbit=1,he_wolf=2,she_wolf=3};
class Beast
{
public:
beast_type type;
double life;
int X;
int Y;
Beast(beast_type,int,int);
Beast();
int RabbitAct();
int WolfAct(Beast*,int);
};
Beast::Beast()
{
}
Beast::Beast(beast_type t, int x1, int y1)
{
type = t;
life = 1;
X = x1;
Y = y1;
}
int Beast::RabbitAct()
{
int r=0;
r = rand()%9;
switch(r);
{
case 0:if(island[X+1][Y]) X=X+1;break;
case 1:if(island[X][Y+1]) Y=Y+1;break;
case 2:if(island[X-1][Y]) X=X+1;break;
case 3:if(island[X][Y-1]) Y=Y+1;break;
case 4:if(island[X+1][Y+1]) X=X+1, Y=Y+1;break;
case 5:if(island[X-1][Y+1]) X=X-1, Y=Y+1;break;
case 6:if(island[X+1][Y-1]) X=X+1, Y=Y-1;break;
case 7:if(island[X-1][Y-1]) X=X-1, Y=Y-1;break;
case 8:break;
}
if( rand()%10<5) return 0;
return 1;
}
int Beast::WolfAct(Beast *rabbits, int n)
{
return 0;
}
void main()
{
srand(time(0));
Beast rabbits[100];
Beast wolves[50];
int num_rabbits = 10;
int num_wolves = 5;
for(int i=0;i<num_rabbits;i++) rabbits[i] = Beast(rabbit,i,i);
for(i = 0;i<num_wolves;i++) wolves[i] = Beast(rand()%10<5?he_wolf:she_wolf,20-i,20-i);
int time = 1000;
for(int s = 0;s<time;s++);
{
for(int j = 0;j<num_rabbits-1;j++) if(rabbits[j].RabbitAct()==1);
{
rabbits[num_rabbits++]=Beast(rabbit,rabbits[j].X,rabbits[j].Y);
}
for(j = 0;j<num_wolves-1 ;j++) wolves[j].WolfAct(rabbits,num_rabbits);
}
}