コード例 #1
0
 void Awake()
 {
     Debug.Assert(Instance == null);
     Instance = this;
     RematchButton.onClick.AddListener(OnClose);
     gameObject.SetActive(false);
 }
コード例 #2
0
ファイル: GameMaster.cs プロジェクト: EphemeralGeek/Pacman
        //END TEST CODE
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here
            //Create a list of players
            //logic = new GameLogicBattle(game.GetPlayers());


            logic = new GameLogicClassic();

            boardToShare = logic.GameLogicSetup(plays);

            start       = new Start(BoardWidth, BoardHeight, 0, 0);
            setup       = new Setup(BoardWidth, BoardHeight, 0, 0);
            playerSetup = new PlayerSetup(BoardWidth, BoardHeight, 0, 0);
            endScreen   = new EndScreen(BoardWidth, BoardHeight, 0, 0);

            IsMouseVisible     = true;
            mouseState         = Mouse.GetState();
            previousMouseState = mouseState;
            padState           = GamePad.GetState(PlayerIndex.One);
            prevPadState       = padState;
            //screenCenter = new Point(((BoardWidth / 2)), 0);
            gameState    = GameState.StartMenu;
            screenNumber = 0;
            //scoreBoard.Initialize(this);
            base.Initialize();
        }
コード例 #3
0
ファイル: GUI.cs プロジェクト: rembareeg/NewGame
    private void EnableEndScreen(int starsCount)
    {
        EndScreen endScreen = _gameEndScreen.GetComponent <EndScreen>();

        _gameMenuScreen.GetComponent <RectTransform>().offsetMin = new Vector2(0, 108);  // new Vector2(left, bottom);
        _gameMenuScreen.GetComponent <RectTransform>().offsetMax = new Vector2(0, -108); // new Vector2(-right, -top);
        if (starsCount == 1)
        {
            endScreen.Star1.sprite = _yellowStar;
        }
        else if (starsCount == 2)
        {
            endScreen.Star1.sprite = _yellowStar;
            endScreen.Star2.sprite = _yellowStar;
        }
        else if (starsCount == 3)
        {
            endScreen.Star1.sprite = _yellowStar;
            endScreen.Star2.sprite = _yellowStar;
            endScreen.Star3.sprite = _yellowStar;
        }
        else
        {
        }

        _gameMenuScreen.SetActive(false);
        _gameEndScreen.SetActive(true);
        _settingsButton.SetActive(false);
    }
コード例 #4
0
    public EndScreen CreateEndScreen(DataType.Minigame game, DataType.GameEnd type)
    {
        print("Created End Screen of type: " + type);
        EndScreen screen = Instantiate(GameManager.Instance.endingScreenPrefab).GetComponent <EndScreen> ();

        screen.typeOfGame   = game;
        screen.typeOfScreen = type;

        switch (type)
        {
        case DataType.GameEnd.EarnedSticker:
            screen.EarnedSticker();
            break;

        case DataType.GameEnd.CompletedLevel:
            screen.CompletedLevel();
            break;

        case DataType.GameEnd.FailedLevel:
            screen.FailedLevel();
            break;

        default:
            break;
        }

        return(screen);
    }
コード例 #5
0
    public void Update()
    {
        if (SceneManager.GetActiveScene().buildIndex == 27)
        {
            if (isAtEnd == false)
            {
                endScreen = FindObjectOfType <EndScreen>();
                endScreen.GetDeaths(deathsTotal);
                endScreen.GetSkips(numOfSkips);
                isAtEnd     = true;
                deathsTotal = 0;
                numOfSkips  = 0;
            }
        }

        else
        {
            isAtEnd = false;
        }

        if (deathsOnLevel >= 10)
        {
            ActiveScene = SceneManager.GetActiveScene().buildIndex;
            print(ActiveScene);
            SceneManager.LoadScene(28);
            deathsOnLevel = 0;
        }
    }
コード例 #6
0
ファイル: RoundManager.cs プロジェクト: S-T-3-V-3/GDS2_Final
    public override void BeginState()
    {
        gameManager = GameManager.Instance;
        manager     = this.GetComponent <RoundManager>();

        gameManager.UnloadMap();

        gameManager.sessionData.isStarted  = false;
        gameManager.sessionData.isComplete = true;
        manager.isStarted = false;

        gameManager.sessionData.OnEndGame.Invoke();

        EndScreen endScreen = FindObjectOfType <EndScreen>();

        endScreen.SetWinner(gameManager.sessionData.score.GetWinningTeam());

        foreach (PlayerController player in gameManager.currentPlayers)
        {
            if (player.isPlaying)
            {
                player.SetState <EndGamePlayerState>();
            }
        }
    }
コード例 #7
0
        public UiController()
        {
            _inGameScreen = ServiceLocator.Get <InGameScreen>();
            _endScreen    = ServiceLocator.Get <EndScreen>();

            SignalBus.Subscribe <GameStartedSignal>(OnGameStarted);
            SignalBus.Subscribe <SimulationEndedSignal>(OnSimulationEnded);
        }
コード例 #8
0
ファイル: UIManager.cs プロジェクト: JoeM32/GamesProject
 public void OnDeath()
 {
     endScreen = Instantiate(endScreen, transform);
     healthBar.gameObject.SetActive(false);
     staminaBar.gameObject.SetActive(false);
     debugger.gameObject.SetActive(false);
     console.gameObject.SetActive(false);
 }
コード例 #9
0
 // Start is called before the first frame update
 void Awake()
 {
     if (EndScreen.Instance == null)
     {
         Instance = this;
     }
     startTime = float.MaxValue - time;
 }
コード例 #10
0
 // Use this for initialization
 void Start()
 {
     myPauseMenu   = FindObjectOfType <PauseMenu>();
     myEndScreen   = FindObjectOfType <EndScreen>();
     myPlayer      = FindObjectOfType <PlayerController>();
     iFrameCounter = 0;
     iAirInSeconds = 18;
     iPlayerScore  = 0;
 }
コード例 #11
0
ファイル: EndScreen.cs プロジェクト: Carniv0re/GhostAR
    private void Awake()
    {
        if (instance)
        {
            Debug.Log("Warning: Overriding instance reference");
        }

        instance = this;
    }
コード例 #12
0
 // Use this for initialization
 void Start()
 {
     eso                 = GameObject.FindObjectOfType <EndScreen>();
     asrc                = GetComponent <AudioSource>();
     rb2d                = GetComponent <Rigidbody2D>();
     scoreText.text      = score.ToString();
     multiplierText.text = multiplier.ToString() + "X";
     coinText.text       = coins.ToString();
 }
コード例 #13
0
 ///TODO: Instantiate all the canvas components to ensure they are loaded
 public CanvasManager Initialize(SpaceRoaches spaceRoaches)
 {
     _roachCount = GetComponentInChildren<RoachCount>();
     _dashMeter = GetComponentInChildren<DashMeter>();
     _endScreen = GetComponentInChildren<EndScreen>();
     _endScreen.Initialize(_roachCount, spaceRoaches);
     InitializeAlertPopUp()
         .InitializeLoadingScreen();
     return this;
 }
コード例 #14
0
 ///TODO: Instantiate all the canvas components to ensure they are loaded
 public CanvasManager Initialize(SpaceRoaches spaceRoaches)
 {
     _roachCount = GetComponentInChildren <RoachCount>();
     _dashMeter  = GetComponentInChildren <DashMeter>();
     _endScreen  = GetComponentInChildren <EndScreen>();
     _endScreen.Initialize(_roachCount, spaceRoaches);
     InitializeAlertPopUp()
     .InitializeLoadingScreen();
     return(this);
 }
コード例 #15
0
ファイル: IRTGame.cs プロジェクト: schalleneider/irtaktiks
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            // Resources loading.
            TextureManager.Instance.Initialize(this);
            EffectManager.Instance.Initialize(this);
            FontManager.Instance.Initialize(this);

            // Components creation.
            this.CameraField          = new Camera(this);
            this.MapManagerField      = new MapManager(this);
            this.SpriteManagerField   = new SpriteManager(this);
            this.AreaManagerField     = new AreaManager(this.GraphicsDevice, this.Camera);
            this.ParticleManagerField = new ParticleManager(new Vector3(0, 0, -100), this.GraphicsDevice, this.Camera);
            this.DamageManagerField   = new DamageManager(this);

            // Debug
            this.ConsoleField    = new IRTaktiks.Components.Debug.Console(this);
            this.FPSField        = new FPS(this);
            this.TouchDebugField = new TouchDebug(this);

            AnimationManager.Instance.Initialize(this);

            // Screen construction.
            this.TitleScreenField   = new TitleScreen(this, 0);
            this.ConfigScreenField  = new ConfigScreen(this, 0);
            this.GameScreenField    = new GameScreen(this, 0);
            this.EndScreenField     = new EndScreen(this, 0);
            this.ScreenManagerField = new ScreenManager(this);

            // Map addicition.
            this.MapManager.Enabled = false;
            this.MapManager.Visible = false;
            this.Components.Add(this.MapManager);

            // Screen addiction.
            this.ScreenManager.Screens.Add(this.TitleScreen);
            this.ScreenManager.Screens.Add(this.ConfigScreen);
            this.ScreenManager.Screens.Add(this.GameScreen);
            this.ScreenManager.Screens.Add(this.EndScreen);

            // Components addiction.
            this.Components.Add(this.Camera);
            this.Components.Add(this.ScreenManager);

            // Debug
            this.Components.Add(this.Console);
            this.Components.Add(this.FPS);
            this.Components.Add(this.TouchDebug);

            // Change the game to its first status.
            this.ChangeScreen(GameScreens.TitleScreen);

            base.Initialize();
        }
コード例 #16
0
 void Awake()
 {
     if (Instance != null && Instance != this)
     {
         Destroy(gameObject);
     }
     else
     {
         Instance = this;
     }
     endScreen.SetActive(false);
 }
コード例 #17
0
    private void OnTriggerEnter(Collider other)
    {
        if (!other.gameObject.CompareTag("Gem"))
        {
            EndScreen.Open();
            Debug.Log("boinga");
        }

        if (other.gameObject.CompareTag("Gem"))
        {
            ScoreScript.scoreValue += 1;
        }
    }
コード例 #18
0
        // Load
        protected override void LoadContent()
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);
            // Load Images and Fonts from disk.
            Art.Load(Content);
            // Set up variables.
            ResetGame();
            GameManager.GameState = GameManager.GameStates.StartVideo;

            startScreen = new StartScreen();
            endScreen   = new EndScreen();
            infoScreen  = new InfoScreen(GraphicsDevice);
        }
コード例 #19
0
    private void Awake()
    {
        _attemptsUI        = new List <GameObject>();
        _endScreen         = _endScreenObj.GetComponent <EndScreen>();
        _leaderboardScreen = _leaderboardScreenObj.GetComponent <LeaderboardScreen>();
        _preGameScreen     = _preGameScreenObj.GetComponent <PreGameScreen>();

        //disable all screens
        _mainScreenObj.SetActive(false);
        _preGameScreenObj.SetActive(false);
        _gameScreenObj.SetActive(false);
        _endScreenObj.SetActive(false);
        _leaderboardScreenObj.SetActive(false);
    }
コード例 #20
0
        /// <summary>
        /// Initialises necessary objects for game start.
        /// Most notably initialises the game state machine
        /// </summary>
        protected override void Initialize()
        {
            this.IsMouseVisible = true;

            globalBindings = new KeybindingManager();
            //Bind the fullscreen toggle to the global bindings
            globalBindings.BindKeyEvent(Keys.F11, InputState.down, ToggleFullScreen);
            //Bind the escape button to the Exit action
            globalBindings.BindKeyEvent(Keys.Escape, InputState.down, Exit);

            GameData.Initialise();

            eventManager = new GameEventManager();
            GameEventManager.Instance = eventManager;

            camera            = new Camera(graphics.GraphicsDevice.Viewport);
            camera.Position   = new Vector2(0, 0);
            Camera.mainCamera = camera;

            //Default background
            defaultBackgroundTex = Content.Load <Texture2D>("PlatformerGraphicsDeluxe/Backgrounds/bg");
            background           = new Graphics.Background(defaultBackgroundTex, Vector2.One, Color.White);

            GameStateMachine = new FSM();
            //NOTE spaces don't seem to scale correctly, so tabs are used.
            TextScreen startScreenState = new StartScreen(this, "Explorer", "Press    enter    to    continue", Keys.Enter);

            startScreenState.Name = "Start";

            PlayGame playGameState = new PlayGame(this);

            TextScreen loseScreenState = new EndScreen(this, "YOU    LOSE", "Press    enter    to    continue", Keys.Enter);

            loseScreenState.Name = "Lose";

            TextScreen winScreenState = new EndScreen(this, "YOU    WIN", "Press    enter    to    continue", Keys.Enter);

            winScreenState.Name = "Win";

            startScreenState.AddTransition(playGameState, () => { return(startScreenState.done); });
            loseScreenState.AddTransition(startScreenState, () => { return(loseScreenState.done); });
            winScreenState.AddTransition(startScreenState, () => { return(winScreenState.done); });
            playGameState.AddTransition(loseScreenState, () => { return(playGameState.GameLost); });
            playGameState.AddTransition(winScreenState, () => { return(playGameState.GameWon); });

            GameStateMachine.AddStates(startScreenState, playGameState, loseScreenState, winScreenState);

            base.Initialize();
        }
コード例 #21
0
    void Start()
    {
        GameIsComplete = false;

        group = GetComponent <CanvasGroup>();

        if (IsGameOver)
        {
            GameOver = this;
        }
        else
        {
            Victory = this;
        }
    }
コード例 #22
0
    public ScreensManager()
    {
        graphics = new GraphicsDeviceManager(this);
        Content.RootDirectory = "Content";

        game       = new GameMain(1280, 720);
        welcomeScr = new WelcomeScreen(this);
        loadingScr = new LoadingScreen(this);
        creditsScr = new CreditsScreen(this);
        configScr  = new ConfigScreen(this);
        helpScr    = new HelpScreen(this);
        endScr     = new EndScreen(this);

        currentMode = MODE.LOADING;
    }
コード例 #23
0
    void Init()
    {
        state = States.NotInitialized;

        mic         = GetComponent <Sounder>();
        eventSystem = GetComponent <IgorEventSystemS>();

        _newSound = true;

        audioSource = GetComponent <AudioSource>();
        audioSource.Play();
        if (!audioSource.isPlaying)
        {
            Debug.Log("Not playing");
        }
        audioSource             = gameObject.AddComponent <AudioSource>();
        audioSource.playOnAwake = false;
        audioSource.loop        = false;
        audioSource.volume      = 0.5f;

        string[] controllers = Input.GetJoystickNames();
        if (controllers.Length > 0)
        {
            playerControl = new Pad();
            Debug.Log("Pad connected!");
        }
        else
        {
            playerControl = new Keyboard();
            Debug.Log("Keybard Connected");
        }

        lastTimePlayedDroplets = 0f;
        player = GameObject.Find("Player").GetComponent <Player>();
        points = 0;
        Text[] tempTab = GetComponentsInChildren <Text>();
        foreach (Text t in tempTab)
        {
            if (t.gameObject.name == "Score")
            {
                pointsText = t;
            }
        }
        pointsText.text = "0";
        endScreen       = GetComponentInChildren <EndScreen>();
        endScreen.gameObject.SetActive(false);
        state = States.GameInitialized;
    }
コード例 #24
0
    private void HandelEndScreen()
    {
        if (endScreen == null)
        {
            Debug.Log(screens[stateManager.CurrentState]);
            endScreen = (EndScreen)screens[states[4]];
        }

        if (endScreen == null)
        {
            Debug.LogWarning("endScreen is not where it needs to be");
            return;
        }

        endScreen.SetVisable(true);
    }
コード例 #25
0
    void Start()
    {
        calculator    = gameObject.GetComponent <Calculator>();
        mapModeCanvas = GameObject.Find("MapModeCanvas").GetComponent <MapModeCanvas>();
        endScreen     = GameObject.Find("EndScreenCanvas").GetComponent <EndScreen>();

        continueBtn = GameObject.Find("ContinueBtn").GetComponent <Button>();
        continueBtn.onClick.AddListener(OnButtonClick);
        continueBtn.gameObject.SetActive(false);

        endBtn = GameObject.Find("EndBtn").GetComponent <Button>();
        endBtn.onClick.AddListener(OnButtonClick);
        endBtn.gameObject.SetActive(false);

        recalculateBtn = GameObject.Find("RecalculateBtn").GetComponent <Button>();
        recalculateBtn.onClick.AddListener(OnButtonClick);
    }
コード例 #26
0
        protected override void LoadContent()
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);

            MenuScreen          = new MenuScreen(this);
            MenuScreen.IsActive = true;

            LevelScreen1   = new LevelScreen1(this);
            LevelScreen2   = new LevelScreen2(this);
            EndScreen      = new EndScreen(this);
            GameOverScreen = new GameOverScreen(this);

            screens.Add(LevelScreen1);
            screens.Add(LevelScreen2);
            screens.Add(MenuScreen);
            screens.Add(EndScreen);
            screens.Add(GameOverScreen);
        }
コード例 #27
0
        private void Awake()
        {
            if (defaultInstance != null)
            {
                throw new Exception("Multiple Manager-Scripts Found!");
            }
            defaultInstance = this;

            DisableAR();

            StartScreen.SetActive(true);
            EndScreen.SetActive(false);

            Change(0);

            StartCoroutine(Late());

            SceneUtils.RequestTransition(new Transition(TransitionType.FADE_IN));
        }
コード例 #28
0
    IEnumerator OnLevelEnd()
    {
        if (_levelEndCanvas != null)
        {
            _levelEndCanvas.gameObject.SetActive(true);
            EndScreen endScreen = _levelEndCanvas.GetComponent <EndScreen>();
            endScreen.SetConfirm(false);
            endScreen.Setup(_gameResult, _hidePanel);
        }
        // TODO: Show victory / defeat / last level logic
        yield return(new WaitForSeconds(_levelEndDelay));

        if (_levelEndCanvas != null)
        {
            _levelEndCanvas.GetComponent <ShowConfirm>().SetConfirm(true);
        }

        _endReady = true;
    }
コード例 #29
0
    public void FinishLevel()
    {
        if (oldStars == 0)
        {
            float prop_coin = score / (float)num_coins_start;
            stars = (prop_coin > .5f) ? (prop_coin > .8f ? 2 : 1) : 0;
            if (health > 0)
            {
                stars++;
            }
        }
        else
        {
            stars = oldStars;
        }
        if (this.transform.position.y < 0 || health <= 0)
        {
            stars = 0;
        }
        else
        {
            this.audioSource.PlayOneShot(victorySound);
            CustomPlayerPrefs.SetString("Level", nextLevel);
            CustomPlayerPrefs.SetInt("Score", score + CustomPlayerPrefs.GetInt("Score", 0));
            CustomPlayerPrefs.SetInt("LastStars", stars);
            Helpers.ChangeUserProgress(saveLevel == null ? Application.loadedLevelName : saveLevel, stars);
        }

        if (nextLevel.Contains("boss") && stars > 0 && !Application.loadedLevelName.Contains("boss"))
        {
            Application.LoadLevel(nextLevel);
        }

        else if (!Application.loadedLevelName.Contains("boss") || stars == 0)
        {
            EndScreen end = Instantiate(endScreen, GameObject.Find("UI").transform).GetComponent <EndScreen>();
            end.checkpoint = checkpoint;
            end.nextLevel  = nextLevel;
            Time.timeScale = 0;
            GameObject.Find("music").GetComponent <AudioSource>().mute = true;
        }
    }
コード例 #30
0
    public void MatchEnd(ulong playerId, BoardSymbol winnerSymbol)
    {
        _numberOfPlays = 0;
        EndScreen endScreen = UIController.Instance.GetScreen(UIScreen.EndGame).GetComponent <EndScreen>();

        if (winnerSymbol == BoardSymbol.None)
        {
            endScreen.ShowDraw();
        }
        else if (IWin(playerId, winnerSymbol))
        {
            endScreen.ShowWin();
        }
        else
        {
            endScreen.ShowLose();
        }

        UIController.Instance.GoToScreen(UIScreen.EndGame);
    }
コード例 #31
0
    // Use this for initialization
    void Start()
    {
        //Getting the fishes Rigidbody and Box Collider
        myRigidbody      = GetComponent <Rigidbody2D>();
        myBoxCollider    = GetComponent <BoxCollider2D>();
        myCircleCollider = GetComponent <CircleCollider2D>();
        mySpriteRenderer = GetComponent <SpriteRenderer>();
        myPauseMenu      = FindObjectOfType <PauseMenu>();
        myEndScreen      = FindObjectOfType <EndScreen>();
        myGM             = FindObjectOfType <GameManager>();

        //Setting the fish attributes
        fSpeedInWater  = 6f;
        fSpeedOnGround = 1f;
        fJumpHeight    = 8f;
        bOnGround      = false;
        bInhaled       = false;
        bInWater       = false;
        iHealth        = 3;
    }
コード例 #32
0
ファイル: EndScreen.cs プロジェクト: nolanfilter/MPHorror
    void Awake()
    {
        if( mInstance != null )
        {
            Debug.LogError( string.Format( "Only one instance of EndScreen allowed! Destroying:" + gameObject.name +", Other:" + mInstance.gameObject.name ) );
            return;
        }

        mInstance = this;

        if( background )
        {
            switch( PlayerAgent.GetClientState() )
            {
                case PlayerController.State.Monster:
                {
                    if( MannequinAgent.GetAllMannequinsDisabled() )
                    {
                        if( defeatMonster != null )
                            background.sprite = defeatMonster;
                    }
                    else
                    {
                        if( soulCollector != null )
                            background.sprite = soulCollector;
                    }
                } break;

                case PlayerController.State.Voyeur:
                {
                    if( Random.value < 0.5f )
                    {
                        if( betrayed != null )
                            background.sprite = betrayed;
                    }
                    else
                    {
                        if( soulless != null )
                            background.sprite = soulless;
                    }
                } break;

                case PlayerController.State.None:
                {
                    if( MannequinAgent.GetAllMannequinsDisabled() )
                    {

                        if( Random.value < 0.5f )
                        {
                            if( bestVacation != null )
                                background.sprite = bestVacation;
                        }
                        else
                        {
                            if( byeBye != null )
                                background.sprite = byeBye;
                        }
                    }
                    else
                    {
                        if( Random.value < 0.5f )
                        {
                            if( betrayed != null )
                                background.sprite = betrayed;
                        }
                        else
                        {
                            if( soulless != null )
                                background.sprite = soulless;
                        }
                    }
                } break;
            }
        }
    }
コード例 #33
0
ファイル: Bot.cs プロジェクト: Nathriel/MEJN
        internal override void doTurn(MEJN.Control.Spel sender)
        {
            //Roll the dice
            sender.Dobbelsteen.gooiDobbelsteen();
            sender.Dobbelsteen.switchGegooid();
            sender.Bordgui.dobbelsteen_changeimage(sender.Dobbelsteen.Worp);
            Console.WriteLine(sender.Spelers[sender.WieIsErAanDeBeurt-1].Kleur + " Bot gooit " + sender.Dobbelsteen.Worp);

            //Search pions on board
            int ret = 0;
            Speler aanZet = sender.Spelers[sender.WieIsErAanDeBeurt - 1];
            int vakgetal = sender.Bord.VakjesLijst.zoekOpVakPion(sender.Spelers[sender.WieIsErAanDeBeurt-1].Kleur);
            if (vakgetal != 0)
            {
                Link vakje = sender.Bord.VakjesLijst.zoekOpVakGetalMetControle(vakgetal, sender.Dobbelsteen.Worp, aanZet.Kleur);
                if (vakje != null)
                {
                    if (vakje.IData.isBezet() && vakje.IData.GetType() != typeof(Finishvakje))
                    {
                        sender.TerugNaarThuisbasis(vakje.IData.Pion);
                        Console.WriteLine("Pion van " + vakje.IData.Pion.Kleur + "Eraf");
                    }
                }

                Link link = sender.Bord.VakjesLijst.pionVerzetten(vakgetal, sender.Dobbelsteen.Worp, aanZet.Kleur);
                if (link != null)
                {
                    Vakje tempVakje = sender.Bord.VakjesLijst.zoekOpVakGetal(vakgetal).IData;
                    Boolean gelukt = false;

                    if (link == sender.Bord.GroenFinishvakjes.First)
                    {
                        gelukt = sender.Bord.GroenFinishvakjes.pionVerzettenFinish(tempVakje.Pion);
                    }
                    else if (link == sender.Bord.RoodFinishvakjes.First)
                    {
                        gelukt = sender.Bord.RoodFinishvakjes.pionVerzettenFinish(tempVakje.Pion);
                    }
                    else if (link == sender.Bord.BlauwFinishvakjes.First)
                    {
                        gelukt = sender.Bord.BlauwFinishvakjes.pionVerzettenFinish(tempVakje.Pion);
                    }
                    else if (link == sender.Bord.GeelFinishvakjes.First)
                    {
                        gelukt = sender.Bord.GeelFinishvakjes.pionVerzettenFinish(tempVakje.Pion);
                    }
                    if (gelukt)
                    {
                        tempVakje.Pion = null;
                        Kleur winnaarkleur = sender.Bord.isEenFinishLijstVol();
                        string spelernaam = "";
                        if (winnaarkleur != Kleur.Neutral)
                        {
                            switch (winnaarkleur)
                            {
                                case Kleur.Groen:
                                    spelernaam = sender.Spelers[0].Naam;
                                    break;
                                case Kleur.Rood:
                                    spelernaam = sender.Spelers[1].Naam;
                                    break;
                                case Kleur.Blauw:
                                    spelernaam = sender.Spelers[2].Naam;
                                    break;
                                case Kleur.Geel:
                                    spelernaam = sender.Spelers[3].Naam;
                                    break;
                            }

                            EndScreen screen = new EndScreen(spelernaam);
                            screen.Visibility = System.Windows.Visibility.Visible;
                            sender.Bordgui.Close();
                        }
                    }
                    ret = sender.Dobbelsteen.Worp;
                    sender.consolePrint();
                    if (sender.Dobbelsteen.Worp == 6)
                    {
                        this.doTurn(sender);
                    }
                }
            }
            else
            {
                if (sender.Dobbelsteen.Worp == 6)
                {
                    if (aanZet.Kleur == Kleur.Groen)
                    {
                        //groen thuisbasis
                        if (aanZet.Kleur == Kleur.Groen && sender.Dobbelsteen.Worp == 6)
                        {
                            int vakGetal = sender.Bord.GroenThuisbasis.zoekOpVakPion(Kleur.Groen);
                            Vakje thuisbasisVakje = sender.Bord.GroenThuisbasis.zoekOpVakGetal(vakGetal).IData;
                            Vakje vakje = sender.Bord.VakjesLijst.zoekOpVakGetal(1).IData;
                            if (thuisbasisVakje.isBezet())
                            {
                                Pion tempPion = thuisbasisVakje.Pion;
                                sender.Bord.GroenThuisbasis.zetPion(null, vakGetal);
                                if (vakje.isBezet())
                                {
                                    sender.TerugNaarThuisbasis(vakje.Pion);
                                }
                                sender.Bord.VakjesLijst.zetPion(tempPion, 1);
                                sender.consolePrint();
                            }
                            Console.WriteLine("Nieuwe Pion erop");
                            ret = sender.Dobbelsteen.Worp;
                        }
                    }
                    else if (aanZet.Kleur == Kleur.Rood)
                    {
                        //rood thuisbasis
                        if (aanZet.Kleur == Kleur.Rood && sender.Dobbelsteen.Worp == 6)
                        {
                            int vakGetal = sender.Bord.GroenThuisbasis.zoekOpVakPion(Kleur.Groen);
                            Vakje thuisbasisVakje = sender.Bord.RoodThuisbasis.zoekOpVakGetal(vakGetal).IData;
                            Vakje vakje = sender.Bord.VakjesLijst.zoekOpVakGetal(11).IData;
                            if (thuisbasisVakje.isBezet())
                            {
                                Pion tempPion = thuisbasisVakje.Pion;
                                sender.Bord.RoodThuisbasis.zetPion(null, vakGetal);
                                if (vakje.isBezet())
                                {
                                    sender.TerugNaarThuisbasis(vakje.Pion);
                                }
                                sender.Bord.VakjesLijst.zetPion(tempPion, 11);
                                sender.consolePrint();
                            }
                            Console.WriteLine("Nieuwe Pion erop");
                            ret = sender.Dobbelsteen.Worp;
                        }
                    }
                    else if (aanZet.Kleur == Kleur.Blauw)
                    {
                        //blauw thuisbasis
                        if (aanZet.Kleur == Kleur.Blauw && sender.Dobbelsteen.Worp == 6)
                        {
                            int vakGetal = sender.Bord.GroenThuisbasis.zoekOpVakPion(Kleur.Groen);
                            Vakje thuisbasisVakje = sender.Bord.BlauwThuisbasis.zoekOpVakGetal(vakGetal).IData;
                            Vakje vakje = sender.Bord.VakjesLijst.zoekOpVakGetal(21).IData;
                            if (thuisbasisVakje.isBezet())
                            {
                                Pion tempPion = thuisbasisVakje.Pion;
                                sender.Bord.BlauwThuisbasis.zetPion(null, vakGetal);
                                if (vakje.isBezet())
                                {
                                    sender.TerugNaarThuisbasis(vakje.Pion);
                                }
                                sender.Bord.VakjesLijst.zetPion(tempPion, 21);
                                sender.consolePrint();
                            }
                            Console.WriteLine("Nieuwe Pion erop");
                            ret = sender.Dobbelsteen.Worp;
                        }
                    }
                    else if (aanZet.Kleur == Kleur.Geel)
                    {
                        //geel thuisbasis
                        if (aanZet.Kleur == Kleur.Geel && sender.Dobbelsteen.Worp == 6)
                        {
                            int vakGetal = sender.Bord.GroenThuisbasis.zoekOpVakPion(Kleur.Groen);
                            Vakje thuisbasisVakje = sender.Bord.GeelThuisbasis.zoekOpVakGetal(vakGetal).IData;
                            Vakje vakje = sender.Bord.VakjesLijst.zoekOpVakGetal(31).IData;
                            if (thuisbasisVakje.isBezet())
                            {
                                Pion tempPion = thuisbasisVakje.Pion;
                                sender.Bord.GeelThuisbasis.zetPion(null, vakGetal);
                                if (vakje.isBezet())
                                {
                                    sender.TerugNaarThuisbasis(vakje.Pion);
                                }
                                sender.Bord.VakjesLijst.zetPion(tempPion, 31);
                                sender.consolePrint();
                            }
                            Console.WriteLine("Nieuwe Pion erop");
                            ret = sender.Dobbelsteen.Worp;
                        }
                    }
                    Console.WriteLine("Nog een Keer");
                    this.doTurn(sender);
                }
            }
            sender.beurtDoorgeven();
            sender.Bordgui.updateGameBoard();
        }
コード例 #34
0
 // Use this for initialization
 void Start()
 {
     eso = GameObject.FindObjectOfType<EndScreen>();
     asrc = GetComponent<AudioSource>();
     rb2d = GetComponent<Rigidbody2D>();
     scoreText.text = score.ToString();
     multiplierText.text = multiplier.ToString() + "X";
     coinText.text = coins.ToString();
 }