Пример #1
0
        private void UpdatePlayerScoreFromFlagpole(object sender, PlayerHitPoleEventArgs e)
        {
            if (ReferenceEquals(e.Mario, ParentHUD.Player))
            {
                playerScore += e.Mario.Time * 15;
                if (ReferenceEquals(ParentHUD.Player, MarioCloneGame.Player1))
                {
                    if (MarioCloneGame.Player2.LevelCompleted)
                    {
                        playerScore += e.Height / 2;
                    }
                    else
                    {
                        playerScore += e.Height;
                    }
                }
                else if (ReferenceEquals(ParentHUD.Player, MarioCloneGame.Player2))
                {
                    if (MarioCloneGame.Player1.LevelCompleted)
                    {
                        playerScore += e.Height / 2;
                    }
                    else
                    {
                        playerScore += e.Height;
                    }
                }

                e.Mario.Score = playerScore;
            }
        }
Пример #2
0
 private void HandleFlagPoleHit(object sender, PlayerHitPoleEventArgs e)
 {
     e.Mario.LevelCompleted = true;
     e.Mario.StateMachine.TransitionInvincible();
     //State = GameState.GameOver;
     if (Mode == GameMode.SinglePlayer)
     {
         State = GameState.GameOver;
     }
     else if (MultiplayerMode == MultiplayerType.Race || (Player1.LevelCompleted && Player2.LevelCompleted))
     {
         State = GameState.GameOver;
     }
 }