Ejemplo n.º 1
0
        private void getSettingInfoFromXml(XmlDocument i_XmlStateOfGame)
        {
            XmlNode XmlNodeBoardSize = i_XmlStateOfGame.SelectSingleNode("LoadGame/GameSettings/BoardSize");

            m_BoardSize = byte.Parse(XmlNodeBoardSize.InnerText);

            XmlNode XmlNodeGameMode = i_XmlStateOfGame.SelectSingleNode("LoadGame/GameSettings/GameMode");

            m_GameMode = byte.Parse(XmlNodeGameMode.InnerText);
            if ((eGameMode)m_GameMode == eGameMode.AgainstComputer)
            {
                m_IsAgainstComputer = true;
            }

            XmlNode XmlNodeDifficulty = i_XmlStateOfGame.SelectSingleNode("LoadGame/GameSettings/Difficulty");

            m_Difficulty = byte.Parse(XmlNodeDifficulty.InnerText);

            XmlNode XmlNodePlayer1Name = i_XmlStateOfGame.SelectSingleNode("LoadGame/GameSettings/Player1Name");

            m_Player1Name = XmlNodePlayer1Name.InnerText;

            XmlNode XmlNodePlayer2Name = i_XmlStateOfGame.SelectSingleNode("LoadGame/GameSettings/Player2Name");

            m_Player2Name = XmlNodePlayer2Name.InnerText;

            XmlNode XmlNodeTurn = i_XmlStateOfGame.SelectSingleNode("LoadGame/GameSettings/Turn");

            m_Turn = XmlNodeTurn.InnerText == "Black" ? Player.eTeam.Black : Player.eTeam.White;
        }
Ejemplo n.º 2
0
        //--------------------------------------------------------------------------------------//
        //                              Initialize Function                                     //
        //--------------------------------------------------------------------------------------//
        public void RunLogicGame(bool i_LoadedGame, List <Piece> i_ListOfPlayer1Pieces, List <Piece> i_ListOfPlayer2Pieces)
        {
            if (i_LoadedGame == false)
            {
                m_Player1.Pieces.Clear();
                m_Player2.Pieces.Clear();
                m_Winner = null;
                m_Turn   = Player.eTeam.Black;
                initializeStartPositionOfPiecesOnBoard();
            }
            else
            {
                foreach (Piece currentPiece in i_ListOfPlayer1Pieces)
                {
                    m_Player1.AddPiece(currentPiece);
                    m_GamePanel[currentPiece.CoordinatesOnBoard] = currentPiece;
                    m_Player1.Score++;
                }

                foreach (Piece currentPiece in i_ListOfPlayer2Pieces)
                {
                    m_Player2.AddPiece(currentPiece);
                    m_GamePanel[currentPiece.CoordinatesOnBoard] = currentPiece;
                    m_Player2.Score++;
                }
            }

            makeAListOfCurrectMoves();
            OnValidMovesChanges();
        }
Ejemplo n.º 3
0
 //--------------------------------------------------------------------------------------//
 //                              Initialize Function                                     //
 //--------------------------------------------------------------------------------------//
 public void InitializeGame()
 {
     m_Player1.Pieces.Clear();
     m_Player2.Pieces.Clear();
     initializeStartPositionOfPiecesOnBoard();
     m_Winner = null;
     s_Turn   = Player.eTeam.Black;
     makeAListOfCurrectMoves();
 }
Ejemplo n.º 4
0
 public void ShowUpdatePlayerScore(Player.eTeam i_PlayerTeam, int i_Score)
 {
     if (i_PlayerTeam == Player.eTeam.Black)
     {
         m_Player1LabelScore.Text = i_Score.ToString();
     }
     else
     {
         m_Player2LabelScore.Text = i_Score.ToString();
     }
 }
Ejemplo n.º 5
0
        //--------------------------------------------------------------------------------------//
        //                              Run Game - Constractur                                  //
        //--------------------------------------------------------------------------------------//
        public OtheloGameLogic(byte i_BoardSize, string i_Player1Name, string i_Player2Name, bool i_IsPlayer2IsComputer, Player.eTeam i_Turn = Player.eTeam.Black, eDifficulty i_Difficulty = eDifficulty.Empty_AgainstHuman)
        {
            const bool v_Player1IsAlwaysNotComputer = false;

            m_Difficulty = i_Difficulty;
            m_Turn       = i_Turn;
            m_GamePanel  = new GamePanel(i_BoardSize);
            m_Player1    = new Player(i_Player1Name, v_Player1IsAlwaysNotComputer, Player.eTeam.Black);
            m_Player2    = new Player(i_Player2Name, i_IsPlayer2IsComputer, Player.eTeam.White);
            initializeChangeTeamPiecesMember();
        }
Ejemplo n.º 6
0
 //--------------------------------------------------------------------------------------//
 //                              Initialize Function                                     //
 //--------------------------------------------------------------------------------------//
 public void InitializeGame()
 {
     s_Turn = Player.eTeam.Red;
     m_Player1.Pieces.Clear();
     m_Player1.Score = 0;
     m_Player2.Pieces.Clear();
     m_Player2.Score = 0;
     s_GamePanel.ClearBoard();
     initializeStartPositionOfPiecesOnBoard();
     makeCurrentPlayerListOfMoves();
     makeOppositPlayerListOfMoves();
 }
Ejemplo n.º 7
0
        private List <Piece> getListOfPiecesFromXml(XmlDocument i_XmlStateOfGame, string i_Player)
        {
            string Path = string.Format("LoadGame/GamePanel/{0}", i_Player);

            Player.eTeam team = i_Player == "Player1Pieces" ? Player.eTeam.Black : Player.eTeam.White;

            XmlNode      XmlNodesPlayerPiece = i_XmlStateOfGame.SelectSingleNode(Path);
            List <Piece> listOfPlayerPieces  = new List <Piece>();

            for (int index = 0; index < XmlNodesPlayerPiece.ChildNodes.Count; index += 2)
            {
                byte XLocation = byte.Parse(XmlNodesPlayerPiece.ChildNodes[index].InnerText);
                byte YLocation = byte.Parse(XmlNodesPlayerPiece.ChildNodes[index + 1].InnerText);

                Coordinates currentCoordinateOfPiece = new Coordinates(XLocation, YLocation);
                Piece       currentPiece             = new Piece(team, currentCoordinateOfPiece);
                listOfPlayerPieces.Add(currentPiece);
            }

            return(listOfPlayerPieces);
        }
Ejemplo n.º 8
0
 void EndGame(Player.eTeam iWinningTeam)
 {
     AudioSource.PlayClipAtPoint(Fanfare, camera.transform.position, 1);
     GameOverTime = MaxGameOverTime;
     WinningTeam = iWinningTeam;
     GameState = eGameState.GameOver;
     PlayersReadyCount = 0;
     networkView.RPC("GameOver", RPCMode.All, (int)iWinningTeam);
     //RemoveAllPlayers();
 }
Ejemplo n.º 9
0
 public void ChangeTurn()
 {
     s_Turn = s_Turn == Player.eTeam.Black ? Player.eTeam.White : Player.eTeam.Black;
     clearListOfCurrectMoves();
     makeAListOfCurrectMoves();
 }
Ejemplo n.º 10
0
 public void ChangeTurn()
 {
     s_Turn = s_Turn == Player.eTeam.Red ? Player.eTeam.Yellow : Player.eTeam.Red;
 }
Ejemplo n.º 11
0
 // Piece Constructor
 public Piece(Player.eTeam i_Team, Coordinates i_Coordinates)
 {
     r_Team = i_Team;
     m_CoordinatesOnBoard = i_Coordinates;
 }
Ejemplo n.º 12
0
 //-------------------------------------------------------------------------------//
 //                                 Other functions                               //
 //-------------------------------------------------------------------------------//
 public void ChangePieceTeam()
 {
     r_Team = r_Team == Player.eTeam.Black ? Player.eTeam.White : Player.eTeam.Black;
 }
Ejemplo n.º 13
0
 //-------------------------------------------------------------------------------//
 //                                 Other functions                               //
 //-------------------------------------------------------------------------------//
 public void ChangePieceTeam()
 {
     r_Team = r_Team == Player.eTeam.Red ? Player.eTeam.Yellow : Player.eTeam.Red;
 }
Ejemplo n.º 14
0
 public void ChangeTurn(bool i_FlagToKnowIfPlayerHaveValidMoveOnNextTurn = false)
 {
     m_Turn = m_Turn == Player.eTeam.Black ? Player.eTeam.White : Player.eTeam.Black;
     updatePlayerScore();
     resertListOfCurrectMoves(i_FlagToKnowIfPlayerHaveValidMoveOnNextTurn);
 }