public override int GetHashCode() { unchecked { var hashCode = CardsFixedAtLevel?.GetHashCode() ?? 0; hashCode = (hashCode * 397) ^ (ComputerDifficulty != null ? ComputerDifficulty.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (DisplayInfo != null ? DisplayInfo.GetHashCode() : 0); hashCode = (hashCode * 397) ^ Hide.GetHashCode(); hashCode = (hashCode * 397) ^ (Id?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (Image != null ? Image.GetHashCode() : 0); hashCode = (hashCode * 397) ^ IsNew.GetHashCode(); hashCode = (hashCode * 397) ^ IsQuickmatchPlaylist.GetHashCode(); hashCode = (hashCode * 397) ^ IsTeamGamePlaylist.GetHashCode(); hashCode = (hashCode * 397) ^ LonelyPartyUsesWildcard.GetHashCode(); hashCode = (hashCode * 397) ^ MatchTicketTimeoutDurationSeconds; hashCode = (hashCode * 397) ^ MaxPartySize; hashCode = (hashCode * 397) ^ MaxPlayerCount; hashCode = (hashCode * 397) ^ MinPartySize; hashCode = (hashCode * 397) ^ MinPlayerCount; hashCode = (hashCode * 397) ^ (MpsdHopperName?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (MpsdHopperStatName?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (PlaylistEntries?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (StatsClassification?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (TargetPlatform?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (ThumbnailImage != null ? ThumbnailImage.GetHashCode() : 0); hashCode = (hashCode * 397) ^ UsesBanRules.GetHashCode(); hashCode = (hashCode * 397) ^ Voting.GetHashCode(); return(hashCode); } }
public ComputerLogicDriver(ComputerDifficulty difficulty) { _difficultyLevel = difficulty; _baseDepth = BaseDepthMap[difficulty]; _lastSuccessfulDepth = _baseDepth; NodesGenerated = 0; NumberOfMaxPrunes = 0; NumberOfMinPrunes = 0; AlphaBetaStartTime = new DateTime(); _depthCutoffHit = false; }
public override int GetHashCode() { unchecked { var hashCode = ComputerDifficulty.GetHashCode(); hashCode = (hashCode * 397) ^ ComputerPlayerId.GetHashCode(); hashCode = (hashCode * 397) ^ (HumanPlayerId != null ? HumanPlayerId.GetHashCode() : 0); hashCode = (hashCode * 397) ^ LeaderId; hashCode = (hashCode * 397) ^ PlayerIndex; hashCode = (hashCode * 397) ^ (int)PlayerType; hashCode = (hashCode * 397) ^ TeamId; return(hashCode); } }
// Use this for initialization void Start() { if (GameManagers.gameModel.computerDiffiulty == ComputerDifficulty.NONE) { this.enabled = false; return; } easyAIBreakTimer += Random.Range(0, 10); controller = GetComponent <PlayerInputController> (); rect = GetComponent <RectTransform> (); difficulty = GameManagers.gameModel.computerDiffiulty; setDifficulty(GameManagers.gameModel.computerDiffiulty); controller.computerState = ComputerState.NEUTRAL; int breakChance = Random.Range(0, normalAIBreakChance); if (breakChance == 0) { canNormalAIBreak = true; } }
public void setDifficulty(ComputerDifficulty difficulty) { switch (difficulty) { case ComputerDifficulty.EASY: moveSpeed = 150; break; case ComputerDifficulty.MEDIUM: moveSpeed = 350; break; case ComputerDifficulty.HARD: moveSpeed = 0; break; default: break; } }
public override int GetHashCode() { unchecked { var hashCode = CardStats?.GetHashCode() ?? 0; hashCode = (hashCode * 397) ^ ComputerDifficulty.GetHashCode(); hashCode = (hashCode * 397) ^ ComputerPlayerId.GetHashCode(); hashCode = (hashCode * 397) ^ (ExperienceProgress != null ? ExperienceProgress.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (HumanPlayerId != null ? HumanPlayerId.GetHashCode() : 0); hashCode = (hashCode * 397) ^ IsHuman.GetHashCode(); hashCode = (hashCode * 397) ^ LeaderId; hashCode = (hashCode * 397) ^ (LeaderPowerStats?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ PlayerCompletedMatch.GetHashCode(); hashCode = (hashCode * 397) ^ PlayerMatchOutcome.GetHashCode(); hashCode = (hashCode * 397) ^ (PointStats?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (RatingProgress != null ? RatingProgress.GetHashCode() : 0); hashCode = (hashCode * 397) ^ TeamId; hashCode = (hashCode * 397) ^ TeamPlayerIndex; hashCode = (hashCode * 397) ^ TimeInMatch.GetHashCode(); hashCode = (hashCode * 397) ^ (UnitStats?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (WaveStats?.GetHashCode() ?? 0); return(hashCode); } }
/// <summary> /// Sets the information of the Opponent. /// </summary> private void SetupOpponent() { string str = string.Empty; // Loop asking if opponont is human or computer do { Display.MenuSelectOpponent(_player1.Name, _player1.PlayerColor); str = Console.ReadLine().Trim().ToUpper(); if (str.Length == 0) { str = "X"; } } while (str[0] != 'H' && str[0] != 'C'); bool isHuman = str[0] == 'H' ? true : false; // If human, loop asking for a valid name (similar to player 1) if (isHuman) { do { Console.WriteLine("Enter Name of Player 2: "); str = Console.ReadLine().Trim(); if (str.ToUpper() == _player1.Name.ToUpper()) { Console.WriteLine("Sorry, but {0} is already taken!", str); } } while (str.Length == 0 || str.ToUpper() == _player1.Name.ToUpper()); _player2 = new PlayerHuman(str); } else { // Computer opponent, ask for difficulty do { Display.MenuSelectDifficulty(); str = Console.ReadLine().Trim(); if (str.Length == 0) { str = "x"; } } while (str[0] != '0' && str[0] != '1' && str[0] != '2' && str[0] != '3'); ComputerDifficulty level = ComputerDifficulty.Random; if (str[0] == '1') { level = ComputerDifficulty.Easy; } else if (str[0] == '2') { level = ComputerDifficulty.Normal; } else if (str[0] == '3') { level = ComputerDifficulty.Advanced; } _player2 = new PlayerComputer("Computer(" + level.ToString() + ")", level); } // Supply the rest of the information for all cases. _player2.PlayerColor = ConsoleColor.Yellow; _player2.Token = -1; }
/// <summary> /// The PlayerComputer class constructor. Set isHuman to false. /// </summary> /// <param name="name">Name of the player.</param> public PlayerComputer(string name, ComputerDifficulty level) : base(name) { _level = level; _isHuman = false; _rand = new Random(); }
/// <summary> /// Sets the information of the Opponent. /// </summary> private void SetupOpponent() { string str; // Ask if opponent is human or computer. Check if name is not whitespace. do { Display.MenuSelectOpponent(_player1.Name, _player1.PlayerColor); str = Console.ReadLine().Trim().ToUpper(); if (str.Length == 0) { str = "X"; } }while (str[0] != 'H' && str[0] != 'C'); Console.WriteLine(); bool isHuman = str[0] == 'H' ? true : false; if (isHuman) { // If human, ask opponent name and check if not whitespace. do { Console.Write("Enter name of Player 2: "); str = Console.ReadLine().Trim(); // To avoid confusion, player names must be different. if (str.ToUpper() == _player1.Name.ToUpper()) { Console.WriteLine("Sorry, but {0} is already taken!", str); } }while (str.Length == 0 || str.ToUpper() == _player1.Name.ToUpper()); _player2 = new PlayerHuman(str); } else { // If computer, ask difficulty of opponent. do { Display.MenuSelectDifficulty(); str = Console.ReadLine().Trim().ToUpper(); if (str.Length == 0) { str = "X"; } }while (str[0] != '0' && str[0] != '1' && str[0] != '2' && str[0] != '3'); ComputerDifficulty level = ComputerDifficulty.Random; if (str[0] == '1') { level = ComputerDifficulty.Easy; } else if (str[0] == '2') { level = ComputerDifficulty.Normal; } else if (str[0] == '3') { level = ComputerDifficulty.Advanced; } _player2 = new PlayerComputer("Computer(" + level.ToString() + ")", level); } _player2.PlayerColor = ConsoleColor.Yellow; _player2.Token = -1; }