コード例 #1
0
        internal static void ChangeTurn()
        {
            ePlayerOptions temp = m_TheOtherPlayer;

            m_TheOtherPlayer      = m_CurrentActivePlayer;
            m_CurrentActivePlayer = temp;
        }
コード例 #2
0
ファイル: GameBoard.cs プロジェクト: lermanori/lior_demo
            public static Soldier InitializeSoldier(Point i_PositionInMatrix, ePlayerOptions i_Team)
            {
                Soldier returnedSoldier = new Soldier();

                returnedSoldier.Position = i_PositionInMatrix;
                returnedSoldier.regularPossibleMovements = CalculateInitPossibleMovements(i_PositionInMatrix, i_Team);
                returnedSoldier.eatPossibleMovements     = new List <CheckersGameStep>();
                returnedSoldier.Team = i_Team;
                returnedSoldier.Rank = eSoldierRanks.Regular;
                return(returnedSoldier);
            }
コード例 #3
0
        public static void InitializePlayers(InitialGameSetting i_NameSettings)
        {
            s_Player1.InitializePlayer(i_NameSettings.GetPlayerName(ePlayerOptions.Player1), Checkers_LogicAndDataSection.ePlayerOptions.Player1);
            switch (Checkers_LogicAndDataSection.SessionData.s_GameType)
            {
            case Checkers_LogicAndDataSection.eTypeOfGame.singlePlayer:
                s_Player2.InitializePlayer("PC", Checkers_LogicAndDataSection.ePlayerOptions.ComputerPlayer);
                m_TheOtherPlayer = ePlayerOptions.ComputerPlayer;

                break;

            case Checkers_LogicAndDataSection.eTypeOfGame.doublePlayer:
                s_Player2.InitializePlayer(i_NameSettings.GetPlayerName(ePlayerOptions.Player2), Checkers_LogicAndDataSection.ePlayerOptions.Player2);
                m_TheOtherPlayer = ePlayerOptions.Player2;
                break;
            }
        }
コード例 #4
0
        public static string GetPlayerName(ePlayerOptions i_PlayerNameToReturn)
        {
            string returnedName = string.Empty;

            switch (i_PlayerNameToReturn)
            {
            case ePlayerOptions.Player1:
                returnedName = s_Player1.PlayerName;
                break;

            case ePlayerOptions.Player2:
                returnedName = s_Player2.PlayerName;
                break;
            }

            return(returnedName);
        }
コード例 #5
0
ファイル: Player.cs プロジェクト: amirnad/Checkers_cSharp
        public void InitializePlayer(string i_PlayerName, ePlayerOptions i_PlayerId = ePlayerOptions.Player1) // input is already checked in Manager and UI projects
        {
            playerName = i_PlayerName;
            m_PlayerId = i_PlayerId;

            switch (SessionData.m_BoardSize)
            {
            case eBoardSizeOptions.SmallBoard:
                numberOfSoldiers = k_NumberOfSoldiersInSmallBoard;
                break;

            case eBoardSizeOptions.MediumBoard:
                numberOfSoldiers = k_NumberOfSoldiersInMediumBoard;
                break;

            case eBoardSizeOptions.LargeBoard:
                numberOfSoldiers = k_NumberOfSoldiersInLargeBoard;
                break;
            }
        }
コード例 #6
0
        public string GetPlayerName(ePlayerOptions i_PlayerIdentifier)
        {
            string nameToReturn = string.Empty;

            switch (i_PlayerIdentifier)
            {
            case ePlayerOptions.Player1:
                nameToReturn = m_Player1Name;
                break;

            case ePlayerOptions.Player2:
                nameToReturn = m_Player2Name;
                break;

            case ePlayerOptions.ComputerPlayer:
                nameToReturn = "PC";
                break;
            }

            return(nameToReturn);
        }
コード例 #7
0
ファイル: Player.cs プロジェクト: lermanori/lior_demo
        public void InitializePlayer(string i_PlayerName, ePlayerOptions i_PlayerId = ePlayerOptions.Player1) // input is already checked in  UI project
        {
            PlayerName = i_PlayerName;
            Team       = i_PlayerId;

            switch (SessionData.m_BoardSize)
            {
            case eBoardSizeOptions.SmallBoard:
                NumberOfSoldiers = k_NumberOfSoldiersInSmallBoard;
                break;

            case eBoardSizeOptions.MediumBoard:
                NumberOfSoldiers = k_NumberOfSoldiersInMediumBoard;

                break;

            case eBoardSizeOptions.LargeBoard:
                NumberOfSoldiers = k_NumberOfSoldiersInLargeBoard;
                break;
            }

            m_PlayerArmy = new List <GameBoard.Soldier>(NumberOfSoldiers);
        }
コード例 #8
0
ファイル: GameBoard.cs プロジェクト: lermanori/lior_demo
            private static List <CheckersGameStep> resetPossibleMovesArray(int i_indexOfTopRow, Point i_CurrentSoldierPosition, ePlayerOptions i_playerId)
            {
                List <CheckersGameStep> resultPossibleMovesArray = new List <CheckersGameStep>();
                CheckersGameStep        stepToTheLeft            = new CheckersGameStep();
                CheckersGameStep        stepToTheRight           = new CheckersGameStep();

                if (i_CurrentSoldierPosition.YCooord == i_indexOfTopRow)
                {
                    Point MoveToTheLeft  = new Point();
                    Point MoveToTheRight = new Point();

                    stepToTheLeft.CurrentPosition  = i_CurrentSoldierPosition;
                    stepToTheRight.CurrentPosition = i_CurrentSoldierPosition;
                    if (i_playerId == ePlayerOptions.Player1)
                    {
                        MoveToTheLeft.XCoord   = i_CurrentSoldierPosition.XCoord - 1;
                        MoveToTheLeft.YCooord  = i_CurrentSoldierPosition.YCooord - 1;
                        MoveToTheRight.XCoord  = i_CurrentSoldierPosition.XCoord + 1;
                        MoveToTheRight.YCooord = i_CurrentSoldierPosition.YCooord - 1;
                    }
                    else
                    {
                        MoveToTheLeft.XCoord   = i_CurrentSoldierPosition.XCoord - 1;
                        MoveToTheLeft.YCooord  = i_CurrentSoldierPosition.YCooord + 1;
                        MoveToTheRight.XCoord  = i_CurrentSoldierPosition.XCoord + 1;
                        MoveToTheRight.YCooord = i_CurrentSoldierPosition.YCooord + 1;
                    }

                    stepToTheLeft.RequestedPosition  = MoveToTheLeft;
                    stepToTheRight.RequestedPosition = MoveToTheRight;

                    if (stepToTheLeft.RequestedPosition.XCoord >= 0 && stepToTheLeft.RequestedPosition.XCoord < (int)SessionData.m_BoardSize)
                    {
                        resultPossibleMovesArray.Add(stepToTheLeft);
                    }

                    if (stepToTheRight.RequestedPosition.XCoord >= 0 && stepToTheRight.RequestedPosition.XCoord < (int)SessionData.m_BoardSize)
                    {
                        resultPossibleMovesArray.Add(stepToTheRight);
                    }
                }

                return(resultPossibleMovesArray);
            }
コード例 #9
0
ファイル: GameBoard.cs プロジェクト: lermanori/lior_demo
            public static List <CheckersGameStep> CalculateInitPossibleMovements(Point i_CurrentSoldierPosition, ePlayerOptions playerId)
            {
                List <CheckersGameStep> resultPossibleMovesArray = null;

                int indexForTopRow = 0;

                if (playerId == ePlayerOptions.Player1)
                {
                    switch (SessionData.m_BoardSize)
                    {
                    case eBoardSizeOptions.SmallBoard:
                        indexForTopRow = 4;
                        break;

                    case eBoardSizeOptions.MediumBoard:
                        indexForTopRow = 5;
                        break;

                    case eBoardSizeOptions.LargeBoard:
                        indexForTopRow = 6;
                        break;
                    }
                }
                else
                {
                    switch (SessionData.m_BoardSize)
                    {
                    case eBoardSizeOptions.SmallBoard:
                        indexForTopRow = 1;
                        break;

                    case eBoardSizeOptions.MediumBoard:
                        indexForTopRow = 2;
                        break;

                    case eBoardSizeOptions.LargeBoard:
                        indexForTopRow = 3;
                        break;
                    }
                }

                resultPossibleMovesArray = resetPossibleMovesArray(indexForTopRow, i_CurrentSoldierPosition, playerId);
                return(resultPossibleMovesArray);
            }