public void SetColor(ePlayers player, eColors color) { if (players.ContainsKey(player)) { players [player].Color = color; } }
public string GetLastStepPlayerName() { string playerName = string.Empty; ePlayers StepOf = ePlayers.UndefinedPlayer; foreach (Player player in r_Players) { player.IsPieceAvailable(m_LastStep.GetDestination, out StepOf); if (StepOf != ePlayers.UndefinedPlayer) { break; } } if (StepOf == ePlayers.Player1) { playerName = r_Players[(int)ePlayers.Player1].GetPlayerName; } else { playerName = r_Players[(int)ePlayers.Player2].GetPlayerName; } return(playerName); }
public Color GetSysColor(ePlayers player) { switch (players [player].Color) { case eColors.blue: return(new Color(93 / 255f, 93 / 255f, 244 / 255f, 255 / 255f)); break; case eColors.red: return(new Color(255 / 255f, 68 / 255f, 68 / 255f, 255 / 255f)); break; case eColors.yellow: return(new Color(246 / 255f, 229 / 255f, 38 / 255f, 255 / 255f)); break; case eColors.green: return(new Color(111 / 255f, 255 / 255f, 11 / 255f, 255 / 255f)); break; default: throw new System.Exception("Player get color error"); } }
public Player(ePlayers i_PlayerIdentifier, bool i_isAI, string i_Name) { m_Name = i_Name; m_AI = i_isAI; m_PlayerIdentifier = i_PlayerIdentifier; decidePlayerSign(i_PlayerIdentifier); }
public void AddMedal(ePlayers player, eMedals medal) { if (players.ContainsKey(player) && medal.GetHashCode() != 3) { players [player].AddMedal(medal); } }
public void InsertPieceInBoardSlot(ePlayers i_PlayerIdentifier, Piece i_PieceToInsert) { if (m_Piece == null) { m_Piece = i_PieceToInsert; this.syncPieceCoordinates(); } }
public CCGameSettingsBase(ePlayers players) { Players = players; Player1 = new CSKPlayerClass(); //Player2 = new PlayerClass(); //Player3 = new PlayerClass(); //Player4 = new PlayerClass(); }
private void switchTurn() { if (m_CurrentPlayer == ePlayers.Player1) { m_CurrentPlayer = ePlayers.Player2; } else { m_CurrentPlayer = ePlayers.Player1; } }
public bool IsPlaying(ePlayers player) { if (players.ContainsKey(player)) { return(true); } else { return(false); } }
public int GetPoints(ePlayers player) { if (players.ContainsKey(player)) { return(players [player].Points); } else { return(0); } }
private void decidePlayerSign(ePlayers i_PlayerIdentifier) { if (i_PlayerIdentifier == ePlayers.Player1) { m_PlayerSign = "O"; } else { m_PlayerSign = "X"; } }
public void IsPieceAvailable(Point i_PieceLocation, out ePlayers o_StepOf) { o_StepOf = ePlayers.UndefinedPlayer; foreach (Piece piece in r_PlayerPieces) { if (i_PieceLocation == piece.Coordinates) { o_StepOf = m_PlayerIdentifier; } } }
public int GetMedal(ePlayers player, eMedals medal) { if (players.ContainsKey(player)) { return(players [player].GetMedals(medal)); } else { return(0); } }
public GameManager() { m_Player1 = new Player(ePlayers.Player1); m_Player2 = new Player(ePlayers.Player2); m_CheckersBoard = new Board(); this.m_CurrentPlayer = ePlayers.Player1; this.m_PlayVScomputer = false; this.m_CheckerWasCaptured = false; m_PlayerHasQuit = false; m_CheckIfGameIsOver = false; m_MustUseSameChecker = false; m_LastCheckerSquare = new int[2]; m_GameIsATie = false; m_GameIsPlayedAgain = false; m_CheckCapturedForComputer = false; }
public void UpdateStepInBoard(Step i_StepToUpdate, ePlayers i_PlayerIdentifierForMovedPiece, Player i_OpponentRefForJumpedOverPiece) { string destination, source; BoardSlot boardSlotToRemovePiece; BoardSlot boardSlotToInsertPiece; source = i_StepToUpdate.GetSource.ToString(); destination = i_StepToUpdate.GetDestination.ToString(); if (i_StepToUpdate.isJump) { boardSlotToRemovePiece = GetBoardSlotFromIdentifierString(GetJumpedOverPieceBoardSlotIdentifier(i_StepToUpdate)); i_OpponentRefForJumpedOverPiece.RemovePiece(boardSlotToRemovePiece); boardSlotToRemovePiece.RemovePieceFromBoardSlot(); } boardSlotToRemovePiece = GetBoardSlotFromIdentifierString(source); boardSlotToInsertPiece = GetBoardSlotFromIdentifierString(destination); boardSlotToInsertPiece.InsertPieceInBoardSlot(i_PlayerIdentifierForMovedPiece, boardSlotToRemovePiece.GetPieceRef()); boardSlotToRemovePiece.RemovePieceFromBoardSlot(); }
public Point NextTurn(ePlayers[,] i_Board, ePlayers i_PlayerTurn, bool i_IsLastTurnLegal, int i_Player1Score, int i_Player2Score) { string userSelectedMoveStr; Point playersMove = new Point(-1, -1); Screen.PrintBoard((int)m_MatrixSize.MatrixSize, i_Board, Player1Name, Player2Name, i_PlayerTurn, i_Player1Score, i_Player2Score); if (!i_IsLastTurnLegal) { Screen.PrintWrongSquereMsg(); } userSelectedMoveStr = System.Console.ReadLine(); checkSyntactMoveInput(ref userSelectedMoveStr, m_MatrixSize); if (userSelectedMoveStr[0] == 'Q') { System.Environment.Exit(1); } boardCordParse(userSelectedMoveStr, playersMove); return(playersMove); }
/* CLASSIC RANK: WHO HAS MORE GOLDS WINS * public List<ePlayers> getWinners() { * List<Player> playersToCtrl = new List<Player>(); * List<ePlayers> winners = new List<ePlayers> (); * * //populate list to control * for (int i=0; i<players.Count; i++) * playersToCtrl.Add (players [(ePlayers)i]); * * * while (playersToCtrl.Count > 0) { * ePlayers winner = WhoHasMoreMedals(playersToCtrl, eMedals.Gold).Number; * winners.Add(winner); * playersToCtrl.Remove(players[winner]); * } * * return winners; * } * * Player WhoHasMoreMedals(List<Player> playersToCtrl, eMedals medal) { * //find max golds value * int max_medals = 0; * foreach (Player p in playersToCtrl) { * int medals = p.getMedals (medal); * if (medals > max_medals) { * max_medals = medals; * } * } * * //store players with max golds value * List<Player> results = new List<Player>(); * foreach (Player p in playersToCtrl) { * if (p.getMedals (medal) == max_medals) { * results.Add(p); * } * } * * if(results.Count > 1 && medal.GetHashCode()!=2) { * //if more then one, repeat * return WhoHasMoreMedals(results, (eMedals)(medal.GetHashCode()+1)); * }else{ * return results[0]; * } * } */ /*CUSTOM RANK: EACH MEDALS HAS A VALUE*/ /** * Get ePlayers in order of scores * * \param drawAllowed if draw is allowed * \throw DrawException if draw is reached * \return List of ePlayers in order of scores */ public List <ePlayers> GetWinners(bool drawAllowed) { List <Player> playersToCtrl = new List <Player> (); List <ePlayers> winners = new List <ePlayers> (); //populate list to control for (int i = 0; i < players.Count; i++) { playersToCtrl.Add(players [(ePlayers)i]); } while (playersToCtrl.Count > 0) { int max = -1; ePlayers winner = ePlayers.none; foreach (Player p in playersToCtrl) { if (p.Points == max && !drawAllowed) { throw new DrawException("More than one player with same points"); } if (p.Points > max) { winner = p.Number; max = p.Points; } } winners.Add(winner); playersToCtrl.Remove(players [winner]); } return(winners); }
private void determinePlayerAndSignAttachmentForPotentialPiece(int i_BoardRow, out ePlayers o_CurrentPlayerToAttachPiece, out string o_PieceSign) { if (i_BoardRow < (m_BoardSize / 2) - 1) { o_PieceSign = "O"; o_CurrentPlayerToAttachPiece = ePlayers.Player1; } else if (i_BoardRow > m_BoardSize / 2) { o_PieceSign = "X"; o_CurrentPlayerToAttachPiece = ePlayers.Player2; } else { o_PieceSign = string.Empty; o_CurrentPlayerToAttachPiece = ePlayers.UndefinedPlayer; } }
public void AttachPieceToBoardSlotAndPlayer(Player[] i_Players, string i_PieceSign, ePlayers i_PlayerIdentifier) { m_Piece = new Piece(m_SlotCoordinates, i_PlayerIdentifier); i_Players[(int)i_PlayerIdentifier].AddPiece(m_Piece); }
public Player(ePlayers i_Player) { m_Player = i_Player; m_TotalGamesScore = 0; m_CurrentPoints = 0; }
public void ChangeToOnePlayer() { m_PlayerCount = ePlayers.One; }
public void ChangeToTwoPlayers() { m_PlayerCount = ePlayers.Two; }
public eColors GetColor(ePlayers player) { return(players [player].Color); }
public bool IsActivePlayerHuman(ePlayers i_ActivePlayerIndex) { return(!r_Players[(int)i_ActivePlayerIndex].isAI); }
public Piece(Point i_PieceCoordinates, ePlayers i_PlayerAssociation) { m_Coordinates = i_PieceCoordinates; m_PlayerAssociation = i_PlayerAssociation; m_Orientation = (Step.eLookOrientation)i_PlayerAssociation; }