Пример #1
0
        public void Setup()
        {
            player = new Player();
            player.width = 50;
            player.height = 50;

            thrownObject = new ThrowObject();
            thrownObject.width = 50;
            thrownObject.height = 50;

            level = new Level();
            level.Player = (Player)player;
            level.ThrownObjects = new List<ThrowObject>();
            level.ThrownObjects.Add((ThrowObject)thrownObject);

            throwAttack = new ThrowAttack();
            throwAttack.SetLevel(level);
            thrownObject.SetLevel(level);
            player.SetLevel(level);
            throwingEnemy = new LittleEnemy();
            throwingEnemy.SetAttack(throwAttack);
        }
Пример #2
0
        private void CheckPlayerClicked()
        {
            MouseState _mouseStateCurrent = Mouse.GetState();
            var mousePosition = new Point (_mouseStateCurrent.X, _mouseStateCurrent.Y);

            foreach(KeyValuePair<String, Rectangle> buttonArea in _startMenu.Buttonareas)
            {
                if(buttonArea.Value.Contains(mousePosition) && _startMenu.ShowMenu)
                {
                    _startMenu.SetLevelHighlighted(buttonArea.Key);

                    if(_mouseStateCurrent.LeftButton == ButtonState.Released && _mouseStatePrevious.LeftButton == ButtonState.Pressed)
                    {
                        if(buttonArea.Key == "gameOverButton")
                            _startMenu.SetGameOver(false);
                        else
                        {
                            if(!_startMenu.IsGameOver())
                            {
                                _selectedLevel = new Level();
                                _xmlManager = new XmlManager<Level>();
                                _xmlManager.Type = _selectedLevel.GetType();

                                switch(buttonArea.Key)
                                {
                                    case"danielButton":
                                        _xmlPath = "Data/Crackenarium.xml";
                                        LoadContent();
                                        LoadFeatureLevels();
                                        break;
                                    case"djastinButton":
                                        _xmlPath = "Data/Kloonwereld.xml";
                                        LoadContent();
                                        LoadFeatureLevels();
                                        break;
                                    case"gideonButton":
                                        _xmlPath = "Data/Cijfernarium.xml";
                                        LoadContent();
                                        LoadFeatureLevels();
                                        break;
                                    case"rutgerButton":
                                        _xmlPath = "Data/Starbucksalandorium.xml";
                                        LoadContent();
                                        LoadFeatureLevels();
                                        break;
                                }
                            }
                        }
                    }
                }
            }

            _mouseStatePrevious = _mouseStateCurrent;
        }
Пример #3
0
        protected override void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            CheckPlayerClicked();

            if (_selectedLevel != null)
            {
                _controller.HandleInput(_graphics, _prevKB, Keyboard.GetState(), gameTime);

                if (_selectedLevel.EnteredRoom != null)
                {
                    if (_selectedLevel.EnteredRoom.IsPresent)
                        _selectedLevel.EnteredRoom.Update(gameTime);
                    else
                        _selectedLevel.Update(gameTime);
                }
                else
                    _selectedLevel.Update(gameTime);

                if(!_selectedLevel.Player.IsAlive())
                {
                    _startMenu.SetGameOver(true);
                    _startMenu.Show(_graphics);
                    _selectedLevel = null;
                }

                _prevKB = Keyboard.GetState();
                base.Update(gameTime);
            }
        }
Пример #4
0
        protected override void LoadContent()
        {
            _spriteBatch = new SpriteBatch(GraphicsDevice);

            if (_selectedLevel == null)
                _startMenu.Show(_graphics);
            else
            {
                _startMenu.Hide(_graphics);
                _selectedLevel = _xmlManager.Load(_xmlPath);

                LoadFeatures();
                _selectedLevel.Load();

                _controller = new GameController(_selectedLevel);
            }
        }
Пример #5
0
        public void InitializeLevels()
        {
            Level l1, l2;

            char[,] tiles1 = {{'.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.'},
                              {'.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.'},
                              {'.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','#','#','#','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','#','#','#','#','#', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.'},
                              {'.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','#','#','#','#','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.'},
                              {'.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','#','#','#','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','#','#','#','#','.','.','.','.','.', '.','.','.','.','.','#','#','#','#','.','.','.','.','.','.','.'},
                              {'.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','#','#','#','#','#','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','#','#','#','#','.','#','#','#','#','.','.'},
                              {'.','.','.','.','.','.','.','.','#','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','#','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.'},
                              {'.','.','.','.','.','.','.','.','.','#','#','#','#','.','.','.', '.','#','#','#','.','.','.','.','.','#','#','#','#','.','.','.', '#','#','#','#','#','#','#','#','#','#','#','#','#','#','.','.', '#','#','#','#','#','#','#','#','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.'},
                              {'P','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','#', '#','#','#','#','#','#','#','#','#','#','#','#','#','#','.','.', '#','#','#','#','#','#','#','#','.','.','.','.','.','.','.','.', '#','#','#','#','#','#','#','#','#','#','#','.','.','.','.','.', '.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.'},
                              {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#', '#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#', '#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#', '#','#','#','#','#','#','#','#','.','#','#','#','#','#','#','#', '#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#', '#','.','.','#','#','#','#','#','#','#','#','#','#','#','#','#'}};

            char[,] tiles2 = {{'.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.'},
                              {'.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.'},
                              {'.','.','.','.','.','.','.','.','.','.','.','.','C','.','.','.'},
                              {'.','.','.','.','.','.','.','.','.','C','.','.','#','.','.','.'},
                              {'.','.','.','.','.','.','.','-','-','-','.','.','#','.','C','.'},
                              {'.','.','.','.','.','C','.','.','.','.','.','.','#','.','C','.'},
                              {'.','.','.','-','-','-','.','.','.','.','.','.','#','.','C','.'},
                              {'C','.','.','.','.','.','.','.','.','.','.','.','#','.','C','.'},
                              {'#','#','.','.','.','.','.','.','.','.','.','.','#','.','C','.'},
                              {'#','#','.','.','.','.','.','.','.','P','.','.','#','.','C','.'}};

            l1 = new Level(tiles1);
            l2 = new Level(tiles2);

            Levels.Add(l1);
            Levels.Add(l2);

            selected_level = l1;

            Camera = new Camera(graphics.GraphicsDevice.Viewport);
            Camera.Limits = new Rectangle(0, 0, 1700, 1200);

            selected_level.SetCamera(Camera);
        }
Пример #6
0
 public void SetLevel(Level level)
 {
     this._level = level;
 }
Пример #7
0
 public GameController(Level level)
 {
     this.level = level;
 }