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; }
//--------------------------------------------------------------------------------------// // 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(); }
//--------------------------------------------------------------------------------------// // Initialize Function // //--------------------------------------------------------------------------------------// public void InitializeGame() { m_Player1.Pieces.Clear(); m_Player2.Pieces.Clear(); initializeStartPositionOfPiecesOnBoard(); m_Winner = null; s_Turn = Player.eTeam.Black; makeAListOfCurrectMoves(); }
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(); } }
//--------------------------------------------------------------------------------------// // 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(); }
//--------------------------------------------------------------------------------------// // 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(); }
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); }
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(); }
public void ChangeTurn() { s_Turn = s_Turn == Player.eTeam.Black ? Player.eTeam.White : Player.eTeam.Black; clearListOfCurrectMoves(); makeAListOfCurrectMoves(); }
public void ChangeTurn() { s_Turn = s_Turn == Player.eTeam.Red ? Player.eTeam.Yellow : Player.eTeam.Red; }
// Piece Constructor public Piece(Player.eTeam i_Team, Coordinates i_Coordinates) { r_Team = i_Team; m_CoordinatesOnBoard = i_Coordinates; }
//-------------------------------------------------------------------------------// // Other functions // //-------------------------------------------------------------------------------// public void ChangePieceTeam() { r_Team = r_Team == Player.eTeam.Black ? Player.eTeam.White : Player.eTeam.Black; }
//-------------------------------------------------------------------------------// // Other functions // //-------------------------------------------------------------------------------// public void ChangePieceTeam() { r_Team = r_Team == Player.eTeam.Red ? Player.eTeam.Yellow : Player.eTeam.Red; }
public void ChangeTurn(bool i_FlagToKnowIfPlayerHaveValidMoveOnNextTurn = false) { m_Turn = m_Turn == Player.eTeam.Black ? Player.eTeam.White : Player.eTeam.Black; updatePlayerScore(); resertListOfCurrectMoves(i_FlagToKnowIfPlayerHaveValidMoveOnNextTurn); }