コード例 #1
0
ファイル: ManagerGame.cs プロジェクト: KiroMat/Cards
    void ChangeState()
    {
        switch (currentState)
        {
        case StateGame.PrepareRound:
            MockCreatePlayers();
            FillHandPlayers();
            Area.InitializePlayers(ref players);
            Area.UpdateScoreForPlayers();
            SelectTheFirstPlayer();
            scoreBoard.initializeScoreBoard(ref players);
            GameCamera.SetScrollingBorders();

            CurrentState = StateGame.StartGame;
            break;

        case StateGame.StartGame:
            windowMessage.ShowMessage("Start game", 50);

            CurrentState = StateGame.BeginRound;
            break;

        // ******** Ta część bedzie wydzielona do innej funkcji
        case StateGame.BeginRound:
            // zawsze pierwszy w tablicy jest graczem
            if (players[0].IsActive)
            {
                CurrentState = StateGame.PlayPlayer;
            }
            else
            {
                CurrentState = StateGame.PlayChallenger;
            }

            break;

        case StateGame.PlayPlayer:
            players[0].IsActive = true;
            players[1].IsActive = false;
            break;

        case StateGame.PlayChallenger:
            players[0].IsActive = false;
            players[1].IsActive = true;
            break;

        case StateGame.EndRound:
            //TODO: Jakieś obliczenia, zliczanie czegoś

            CurrentState = StateGame.PlayPlayer;
            break;

        //*********************
        case StateGame.EndGame:
            windowMessage.ShowMessage("Koniec gry", 50, GoToManu);
            break;

        default:
            break;
        }
    }