예제 #1
0
 private void friendOrComputerButton_Click(object sender, EventArgs e)
 {
     secondPlayerNameTextBox.Enabled = !secondPlayerNameTextBox.Enabled;
     friendOrComputerButton.Text     = secondPlayerNameTextBox.Enabled ? "Against Computer" : "Against a Friend";
     m_AiMode = secondPlayerNameTextBox.Enabled ? eAiModes.Off : eAiModes.Random;
     secondPlayerNameTextBox.Text = secondPlayerNameTextBox.Enabled ? string.Empty : "-Computer-";
     m_Player2Name = secondPlayerNameTextBox.Enabled ? string.Empty : "Computer";
 }
 private void friendOrComputerButton_Click(object sender, EventArgs e)
 {
     m_SecondPlayerNameTextBox.Enabled = !m_SecondPlayerNameTextBox.Enabled;
     m_FriendOrComputerButton.Text     = m_SecondPlayerNameTextBox.Enabled ? "Against Computer" : "Against a Friend";
     m_AiMode = m_SecondPlayerNameTextBox.Enabled ? eAiModes.Off : eAiModes.Random;
     m_SecondPlayerNameTextBox.Text = m_SecondPlayerNameTextBox.Enabled ? "" : "-Computer-";
     m_Player2Name = m_SecondPlayerNameTextBox.Enabled ? "" : "Computer";
 }
예제 #3
0
        private static Game createGame()
        {
            eAiModes multiplayerMode = mofo.GetAndCheckMultiPlayerMode();

            int[]  heightAndlenOfOfBoard = mofo.GetHeightAndLength();
            string player1Name           = mofo.GetNameOfPlayer(1);
            string player2Name           = "Computer";

            if (multiplayerMode == eAiModes.Off)
            {
                player2Name = mofo.GetNameOfPlayer(2);
            }

            return(new Game(heightAndlenOfOfBoard[0], heightAndlenOfOfBoard[1], multiplayerMode, player1Name, player2Name));
        }
예제 #4
0
        //// private readonly int r_MemoryDepth;
        //// public const int k_MediumMemory = 4;
        //// private readonly List<BoardCoordinates> r_Memory;
        ////private readonly eAiModes r_AiMode;

        public AiForComputerPlay(eAiModes i_AiMode)
        {
            ////this.r_AiMode = i_AiMode;
            ////this.r_Memory = new List<BoardCoordinates>();
            ////switch (this.r_AiMode)
            ////{
            ////    //case eAiModes.Easy:
            ////    //    this.r_MemoryDepth = k_MediumMemory;
            ////    //    break;
            ////    //case eAiModes.Normal:
            ////    //    this.r_MemoryDepth = int.MaxValue;
            ////    //    break;
            ////    default:
            ////        this.r_MemoryDepth = 0;
            ////        break;
            ////}
        }
예제 #5
0
        public Game(
            int i_NumberOfRows,
            int i_NumberOfColumns,
            eAiModes i_AiMode,
            string i_NameOfPlayer1,
            string i_NameOfPlayer2 = "Computer")
        {
            this.r_GameBoard  = new GameBoard(i_NumberOfRows, i_NumberOfColumns);
            this.m_Player1    = new Player(i_NameOfPlayer1, false, true);
            this.m_Player2    = new Player(i_NameOfPlayer2, i_AiMode != eAiModes.Off, false);
            this.r_AiMode     = i_AiMode;
            this.r_ComputerAi = null;

            if (i_AiMode != eAiModes.Off)
            {
                this.r_ComputerAi = new AiForComputerPlay(i_AiMode);
            }
        }
        public static eAiModes GetAndCheckMultiPlayerMode()
        {
            Console.WriteLine("Hi, welcome to the Matching game!\npress 1 if you would like to play against the Computer and 2 if you would like to play two players");
            eAiModes mode          = eAiModes.Off;
            string   inputFromUser = Console.ReadLine();

            while (inputFromUser != "1" && inputFromUser != "2")
            {
                Console.WriteLine("please enter either 1 or 2");
                inputFromUser = Console.ReadLine();
            }

            if (inputFromUser == "1")
            {
                Console.WriteLine("Choose Difficulty Level: Computer Chooses Randomly - r, Easy - e, normal - n ,Genius - g");
                inputFromUser = Console.ReadLine();
                while (inputFromUser != "e" && inputFromUser != "n" && inputFromUser != "r" && inputFromUser != "g")
                {
                    Console.WriteLine("Choose Difficulty Level: r, e , n or g, Please use EXACTLY the same letters as written");
                    inputFromUser = Console.ReadLine();
                }
            }

            switch (inputFromUser)
            {
            case "r":
                mode = eAiModes.Random;
                break;

            case "e":
                mode = eAiModes.Easy;
                break;

            case "n":
                mode = eAiModes.Easy;
                break;

            case "g":
                mode = eAiModes.Genius;
                break;
            }

            return(mode);
        }
예제 #7
0
        public AiForComputerPlay(eAiModes i_AiMode)
        {
            this.r_AiMode = i_AiMode;
            this.r_Memory = new List <BoardCoordinates>();

            switch (this.r_AiMode)
            {
            case eAiModes.Easy:
                this.r_MemoryDepth = k_MediumMemory;
                break;

            case eAiModes.Normal:
                this.r_MemoryDepth = int.MaxValue;
                break;

            default:
                this.r_MemoryDepth = 0;
                break;
            }
        }