Example #1
0
        public void addBears(int numBears)
        {
            Bear bear;

            for (int i = 0; i < numBears; i++)
            {
                Vector3 pos = trees[random.Next(trees.Count())].position;
                pos = pos + 10 * Vector3.Normalize(pos - rabbit.position);

                switch (random.Next(8))
                {
                case 1:
                    bear = new Bear(blueBearModel, new Vector3(pos.X, -2.5f, pos.Z), new Vector3(0, 0, 1));
                    break;

                case 2:
                    bear = new Bear(cyanBearModel, new Vector3(pos.X, -2.5f, pos.Z), new Vector3(0, 0, 1));
                    break;

                case 3:
                    bear = new Bear(greenBearModel, new Vector3(pos.X, -2.5f, pos.Z), new Vector3(0, 0, 1));
                    break;

                case 4:
                    bear = new Bear(purpleBearModel, new Vector3(pos.X, -2.5f, pos.Z), new Vector3(0, 0, 1));
                    break;

                case 5:
                    bear = new Bear(redBearModel, new Vector3(pos.X, -2.5f, pos.Z), new Vector3(0, 0, 1));
                    break;

                case 6:
                    bear = new Bear(whiteBearModel, new Vector3(pos.X, -2.5f, pos.Z), new Vector3(0, 0, 1));
                    break;

                case 7:
                    bear = new Bear(yellowBearModel, new Vector3(pos.X, -2.5f, pos.Z), new Vector3(0, 0, 1));
                    break;

                default:
                    bear = new Bear(brownBearModel, new Vector3(pos.X, -2.5f, pos.Z), new Vector3(0, 0, 1));
                    break;
                }

                bool isValid = true;
                foreach (BasicModel target in getCollidables())
                {
                    if (bear.CollidesWith(target) || Vector3.Distance(bear.position, rabbit.position) < 80)
                    {
                        isValid = false;
                        i--;
                        break;
                    }
                }
                if (isValid)
                {
                    bears.Add(bear);
                }
            }
        }
Example #2
0
        private void loadNewLevel()
        {
            if (previousGameState == Game1.GameState.Fail)
            {
                level--;
                previousGameState = Game1.GameState.Start;
            }

            level++;

            // Clear current lists
            bears.Clear();
            shots.Clear();
            deadBears.Clear();
            trees.Clear();
            mushrooms.Clear();
            houses.Clear();
            outOfBoundTrees.Clear();
            ground.Clear();

            rabbit = new Bear(carrotModel, ((Game1)Game).camera.cameraPosition - new Vector3(0, 0, -5), Vector3.Zero);

            this.addMushrooms(50);
            this.addTrees(4 * level);
            this.addHouses(5);
            this.addBears(6 * level);
            this.addGround();
        }