Ejemplo n.º 1
0
        protected override void Update(GameTime gameTime)
        {
            // Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
            {
                this.Exit();
            }

            /*Message msgAlive = new Message();
             * msgAlive.msgCode = Message.KEEP_ALIVE;
             * msgAlive.PeerID = connection.peerID;
             * msgAlive.HP = myPlayer.getHealthPoint();
             * connection.SendBroadCastMessage(msgAlive.Construct());
             */
            // TODO: Add your update logic here
            foreach (Bullet bullet in Bullets)
            {
                bullet.Update(gameTime);
            }

            foreach (Player player in Players.Values)
            {
                player.update(gameTime);
            }

            // cek collision trus kurangin HP player yang kena
            foreach (Player player in Players.Values)
            {
                foreach (Bullet bullet in Bullets)
                {
                    if (bullet.isColide(player))
                    {
                        int HP = player.getHealthPoint();
                        HP = HP - 20;
                        player.setHealthPoint(HP);
                        RemoveBullets.Add(bullet);
                    }
                }
            }

            if ((Bullets.Count == 0 && WhoseTurn.Equals(connection.peerID)) && myPlayer.isFire())
            {
                Message msg = new Message();
                msg.msgCode    = Message.NEXT_PLAYER;
                msg.PeerID     = connection.peerID;
                msg.nextPlayer = connection.PeerIDs[(connection.PeerIDs.IndexOf(connection.peerID) + 1) % connection.PeerIDs.Count];
                connection.SendBroadCastMessage(msg.Construct());
            }
            base.Update(gameTime);
        }