Ejemplo n.º 1
0
 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;
        }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
    // 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;
        }
    }
Ejemplo n.º 5
0
    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;
        }
    }
Ejemplo n.º 6
0
 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);
     }
 }
Ejemplo n.º 7
0
        /// <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;
        }
Ejemplo n.º 8
0
 /// <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();
 }
Ejemplo n.º 9
0
        /// <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;
        }