예제 #1
0
        /*
         * Método: private void GameIsOver()
         *
         * Función: finalizar juego
         *
         * Descripción: Verifica si el juego ha terminado, ya sea con una victoria
         * o con una derrota. Si el juego ha terminado, guarda la puntuación final
         * del jugador y detiene el reloj de actualizaciones del juego.
         */
        private void GameIsOver()
        {
            if (GameData.gameOver)
            {
                GameData.gameStart = false;
                //el jugador ha ganado
                if (GameData.victory)
                {
                    /*Aplicar multiplier basado en el tiempo que tomo para completar
                     * el juego y las vidas restantes del jugador.*/
                    score        += (score * 10 / time) * hp;
                    txtScore.Text = "SCORE: " + score;

                    VictoryScreen.BackgroundImage       = Resources.VictoryImg;
                    VictoryScreen.BackgroundImageLayout = ImageLayout.Stretch;
                    VictoryScreen.Height = (int)(Height * 0.65);
                    VictoryScreen.Width  = (int)(Width * 0.80);
                    VictoryScreen.Top    = (int)(Height * 0.20);
                    VictoryScreen.Left   = (int)(Width * 0.08);
                    VictoryScreen.Show();
                }
                //el jugador ha perdido
                else
                {
                    GameOverScreen.BackgroundImage       = Resources.GameOverImg;
                    GameOverScreen.BackgroundImageLayout = ImageLayout.Stretch;
                    GameOverScreen.Height = (int)(Height * 0.5);
                    GameOverScreen.Width  = (int)(Width * 0.8);
                    GameOverScreen.Top    = (int)(Height * 0.25);
                    GameOverScreen.Left   = (int)(Width * 0.08);
                    GameOverScreen.Show();
                }

                //detener relojes
                secondsTimer.Stop();
                gameTimer.Stop();

                //guardar puntuación
                Score s = new Score(score, playahata.username);
                ScoreDAO.AddScore(s);
            }
        }
예제 #2
0
    void OnTriggerEnter(Collider other)
    {
        if (other.tag == "firstCoin")
        {
            coinCounter++;
            Destroy(other.gameObject);
        }
        if (other.tag == "secondCoin")
        {
            coinCounter++;
            Destroy(other.gameObject);
            SceneManager.LoadScene("Level2", LoadSceneMode.Single);
        }


        // Om vi plockar upp vinnar-myntet...
        if (other.tag == "WinnerCoin")
        {
            coinCounter++;

            // Sätt igång vinn skärmen
            VictoryScreen.Show();
        }
    }
예제 #3
0
        private void onGameStateChanged(GameState newState)
        {
            switch (newState)
            {
            case GameState.StartUp:
                mainMenuControl.Hide();
                highscoreControl.Hide();
                creditsControl.Hide();
                pauseControl.Hide();
                victoryControl.Hide();
                gameOverControl.Hide();
                hud.Hide();

                audioPlayer.PlayEvent("audio/music/menu");
                break;

            case GameState.Menu:
                mainMenuControl.Show();
                highscoreControl.Hide();
                creditsControl.Hide();
                pauseControl.Hide();
                victoryControl.Hide();
                gameOverControl.Hide();
                hud.Hide();

                audioPlayer.PauseCategory("ingame");
                audioPlayer.UnpauseCategory("menu");
                break;

            case GameState.Highscore:
                mainMenuControl.Hide();
                highscoreControl.Show();
                creditsControl.Hide();
                pauseControl.Hide();
                victoryControl.Hide();
                gameOverControl.Hide();
                hud.Hide();

                audioPlayer.PauseCategory("ingame");
                audioPlayer.UnpauseCategory("menu");
                break;

            case GameState.Credits:
                mainMenuControl.Hide();
                highscoreControl.Hide();
                creditsControl.Show();
                pauseControl.Hide();
                victoryControl.Hide();
                gameOverControl.Hide();
                hud.Hide();

                creditsControl.Start();

                audioPlayer.PauseCategory("ingame");
                audioPlayer.UnpauseCategory("menu");
                break;

            case GameState.Loading:
                mainMenuControl.Hide();
                highscoreControl.Hide();
                creditsControl.Hide();
                pauseControl.Hide();
                victoryControl.Hide();
                gameOverControl.Hide();;
                hud.Hide();

                audioPlayer.PlayEvent("audio/music/ingame");

                OnDetach();
                break;

            case GameState.Running:
                mainMenuControl.Hide();
                highscoreControl.Hide();
                creditsControl.Hide();
                pauseControl.Hide();
                victoryControl.Hide();
                gameOverControl.Hide();
                hud.Show();

                audioPlayer.PauseCategory("menu");
                audioPlayer.UnpauseCategory("ingame");
                break;

            case GameState.Paused:
                pauseControl.Show();
                victoryControl.Hide();
                gameOverControl.Hide();
                hud.Hide();

                audioPlayer.PauseCategory("ingame");
                audioPlayer.PauseCategory("menu");
                break;

            case GameState.Victory:
                int remainingLifes = 0;
                if (playerEntity != null)                               // Happens on a draw
                {
                    remainingLifes = playerEntity[HealthBehavior.Key_Lifes];
                }
                int totalScore = 100 * remainingLifes + playerEntity[CollectsPointsBehavior.Key_PointsCollected];
                victoryControl.CurrentScore = totalScore;

                mainMenuControl.Hide();
                highscoreControl.Hide();
                creditsControl.Hide();
                pauseControl.Hide();
                victoryControl.Show();
                gameOverControl.Hide();
                hud.Hide();

                audioPlayer.StopCategory("ingame");
                audioPlayer.PlayEvent("audio/game/win");
                break;

            case GameState.GameOver:
                mainMenuControl.Hide();
                highscoreControl.Hide();
                creditsControl.Hide();
                pauseControl.Hide();
                victoryControl.Hide();
                gameOverControl.Show();
                hud.Hide();

                audioPlayer.StopCategory("ingame");
                audioPlayer.PlayEvent("audio/game/lose");
                break;

            case GameState.Quit:
                audioPlayer.StopCategory("menu");
                RenderForm.Close();
                break;
            }
        }