Exemple #1
0
        /**
         * Will Synk the true GameState with the users gameState
         */
        protected void synkTrueStateWithPlayerState()
        {
            if (currentLevel != null)
            {
                if (currentLevel.gameState != null)
                {
                    setHeartCount(currentLevel.gameState.getHealth());
                    powerBar.setPercent(currentLevel.gameState.getLightPower());
                    player.setScore(currentLevel.gameState.getScore());
                    animationDelay     = currentLevel.gameState.getAnimationTime();
                    updateTurn         = currentLevel.gameState.isTurnEnd();
                    state              = currentLevel.gameState.getGameEndState();
                    powerBar.fillColor = currentLevel.gameState.getPowerBarColor();
                    userText.text      = (currentLevel.gameState.getMessage());
                    setHeartHighlight(currentLevel.gameState.isHealthHighlighted());

                    if (currentLevel.gameState.primitiveGridHasPriority() && currentLevel.primitiveGrid != null)
                    {
                        currentLevel.primitiveGrid.synkObjectSet(currentLevel.objectGrid);
                    }
                }
                if (currentLevel.light != null)
                {
                    player.setCollumn(currentLevel.light.getPosition());
                    player.getLight().updateBeamSizes(enemies);
                    if (currentLevel.light.getLightType() == FlashLight.lightType.WIDE)
                    {
                        player.getLight().makeWide();
                    }
                    else if (currentLevel.light.getLightType() == FlashLight.lightType.LASER)
                    {
                        player.getLight().makeLaser();
                    }
                    else
                    {
                        player.getLight().makeReveal();
                    }
                    player.turnLightOnorOff(currentLevel.light.isLightActive());
                    player.update();
                }
                if (currentLevel.objectGrid != null)
                {
                    currentLevel.objectGrid.synkPrimitiveSet(currentLevel.primitiveGrid);
                }
            }
        }
Exemple #2
0
 /**
  * Called when the currentLevel has indicated that the user has lost the game
  */
 protected void gameLose()
 {
     typeSelectedText.text = ("Score: " + player.getScore());
     enemies.moveAllEnemiestoVerticalPosition(enemies.getNumberOfRows() + 3);
     state = GameState.EndState.LOSE;
 }
Exemple #3
0
        /**
         * Conducts final initialization of gameplay objects including the current level
         * Required to begine a game
         */
        internal void newGame(GhostFinderInterface userCode, int LevelNum)
        {
            //Background Music
            backGroundMusic.setVolume(0.1);

            this.setUpdateState(updateState.INGAME);
            currentLevel = userCode;
            LevelNumber  = LevelNum;

            ((LevelButton)transitionMenue.getPanel(0)).setLevel(this, currentLevel, LevelNum);
            if (mainMenue.getPanel(2).getPanel(0).getPanel(LevelNum + 1) != null)
            {
                ((LevelButton)transitionMenue.getPanel(1)).setLevel(this, ((LevelButton)mainMenue.getPanel(2).getPanel(0).getPanel(LevelNumber + 1)).gameLevel, LevelNumber + 1);
            }
            else
            {
                ((LevelButton)transitionMenue.getPanel(1)).setLevel(this, null);
            }
            ((LevelButton)mainMenue.getPanel(0)).setLevel(this, userCode, LevelNum);
            //endGame();

            setHeartHighlight(false);
            setHeartCount(4);

            //Enemies
            enemies.RemoveAllEnemies();

            //Player
            player.setWidth(player.getHeight() / 2);
            player.setCenterY(BaseCode.worldHeight - (player.getHeight() / 2));
            player.setCollumn(1);
            player.setEnemySet(enemies);
            player.visible = true;
            player.getLight().visible = true;
            BaseCode.activeDrawSet.addToDrawSet(player);
            player.setPriority(7);

            //powerBar
            powerBar.setSize(4.0f, 20.0f);
            powerBar.setCenter((BaseCode.worldWidth - (powerBar.getWidth()) / 2), (powerBar.getHeight() / 2) + 5f);
            powerBar.setMaxScore(10.0f);
            powerBar.setScore(0.0f);
            powerBar.setToVertical();
            powerBar.setVisibility(true);
            BaseCode.activeDrawSet.addToDrawSet(powerBar);
            powerBar.setPriority(7);

            //Animation timer
            animationDelay = 30;

            //typeSelectedText
            typeSelectedText.textPosition.X = 1.0f;
            //typeSelectedText.textPosition.Y = 3.0f;
            typeSelectedText.text    = ("Score: " + player.getScore());
            typeSelectedText.visible = true;
            typeSelectedText.setPriority(7);

            userText.textPosition.X = 20f;
            //userText.textPosition.Y = 3.0f;
            userText.text    = ("");
            userText.visible = true;

            //buttons
            //Reveal
            mediumButton.getBackGround().setSize(4f, 4f);
            mediumButton.getBackGround().setCenter(BaseCode.worldWidth - (mediumButton.getBackGround().getWidth() / 2), (BaseCode.worldHeight / 2));
            mediumButton.setVisibility(true, true);
            mediumButton.setState(MenueSystem.Panel.PanelState.IDLE, true);
            mediumButton.setSparcleVisiblity(false);
            mediumButton.setPriority(7);
            BaseCode.activeDrawSet.addToDrawSet(mediumButton);

            //Wide
            wideButton.getBackGround().setSize(4f, 4f);
            wideButton.getBackGround().setCenter(BaseCode.worldWidth - (mediumButton.getBackGround().getWidth() / 2), (BaseCode.worldHeight / 2) + 5f);
            wideButton.setVisibility(true, true);
            wideButton.setState(MenueSystem.Panel.PanelState.IDLE, true);
            wideButton.setSparcleVisiblity(false);
            wideButton.setPriority(7);
            BaseCode.activeDrawSet.addToDrawSet(wideButton);

            //Laser
            laserButton.getBackGround().setSize(4f, 4f);
            laserButton.getBackGround().setCenter(BaseCode.worldWidth - (mediumButton.getBackGround().getWidth() / 2), (BaseCode.worldHeight / 2) + 10f);
            laserButton.setVisibility(true, true);
            laserButton.setState(MenueSystem.Panel.PanelState.IDLE, true);
            laserButton.setSparcleVisiblity(false);
            laserButton.setPriority(7);
            BaseCode.activeDrawSet.addToDrawSet(laserButton);

            player.setCollumn(0);

            if (userCode != null)
            {
                InteractableObject.setDefualtsToDefualts();
                player.turnLightOnorOff(false);
                userCode.objectGrid.setObjectGrid(enemies.getGrid());
                synkPlayerStateWithTrueState();
                if (userCode.objectGrid != null)
                {
                    userCode.objectGrid.reset();
                }
                if (userCode.primitiveGrid != null)
                {
                    userCode.primitiveGrid.reset();
                }
                userCode.initialize();
                synkTrueStateWithPlayerState();
                userCode.light.updateMaxPosition(userCode.objectGrid.getObjectGrid());
                StateChange change = enemies.synkGrid(userCode.objectGrid.getObjectGrid(), animationDelay);
                if (change != null && change.puaseForAnimation)
                {
                    animationPuaseTimer = animationDelay;
                    enemies.setEnemyAnimations(0);
                }
            }
            state = GameState.EndState.CONTINUE;
        }
Exemple #4
0
 /**
  * Called when the currentLevel has indicated that the user has won the game
  */
 protected void gameWin()
 {
     typeSelectedText.text = ("Score: " + player.getScore());
     enemies.moveAllEnemiestoVerticalPosition(-2);
     state = GameState.EndState.WIN;
 }