Beispiel #1
0
        void generateMonsters()
        {
            Random ran = new Random();

            Mons = new Monster[Monster_Num];
            for (int i = 0; i < Monster_Num;)
            {
                float   x    = (float)ran.NextDouble() * xLimit;
                float   y    = (float)ran.NextDouble() * yLimit;
                Monster tmp  = new Monster(new Circle(new Point3D(x, y), Monster_radius));
                bool    flag = true;
                for (int j = 0; j < RecNum; ++j)
                {
                    if (Circle.RCIntersect(Recs[j], tmp.cir))
                    {
                        flag = false;
                    }
                }
                if (!flag)
                {
                    continue;
                }
                if (flag)
                {
                    Mons[i++] = tmp;
                }
            }
        }
Beispiel #2
0
        private void generateBeans(int bnum)
        {
            Random ran = new Random();

            //BeanNum = bnum;
            for (int i = 0; BeanNum < bnum && i < n * m * 10; i++)
            {
                float  x    = (float)ran.NextDouble() * xLimit;
                float  y    = (float)ran.NextDouble() * yLimit;
                Circle tmp  = new Circle(new Point3D(x, y), Bean_radius);
                bool   flag = true;
                for (int j = 0; j < RecNum; ++j)
                {
                    if (Circle.RCIntersect(Recs[j], tmp))
                    {
                        flag = false;
                        break;
                    }
                }
                if (!flag)
                {
                    continue;
                }
                for (int j = 0; j < BeanNum; ++j)
                {
                    if (Circle.CircleIntersect(Beans[j], tmp))
                    {
                        flag = false;
                        break;
                    }
                }
                if (flag)
                {
                    Beans[BeanNum++] = tmp;
                }
            }
        }