Example #1
0
        public MakeUserID(int mode, List <UserData> list, ArrayList array)
        {
            switch (mode)
            {
            case 1:
                Console.Write("\n\n\t\t첫번째 사용자의 이름을 입력하세요 : ");
                strPlayerOne = Console.ReadLine();
                Console.Write("\n\n\t\t두번째 사용자의 이름을 입력하세요 : ");
                strPlayerTwo = Console.ReadLine();
                Console.Clear();
                vsUserMode = new VsUserMode(strPlayerOne, strPlayerTwo, list);
                break;

            case 2:
                Console.Write("\n\n\t\t컴퓨터와 대결할 사용자의 이름을 입력하세요 : ");
                strPlayerOne   = Console.ReadLine();
                vsComputerMode = new VsComputerMode(strPlayerOne, array);
                break;

            default:

                break;
            }
        }
        public VsComputerMode(string playName, ArrayList array)
        {
            gameBoard = new int[9] {
                0, 0, 0, 0, 0, 0, 0, 0, 0
            };

            Console.Write("\n\n\t\t선공하시겠습니까? 후공하시겠습니까? (선공 1, 후공 2) : ");
            strTurn = Console.ReadLine();

            if (!Int32.TryParse(strTurn, out int x))
            {
                Console.WriteLine("\n\n\t\t잘못된 입력입니다.");
                System.Threading.Thread.Sleep(2000);
                Console.Clear();
                vsComputer = new VsComputerMode(playName, array);
            }
            else
            {
                intTurn = Convert.ToInt32(strTurn);
            }

            draw(gameBoard);
            switch (intTurn)
            {
            case 1:
            case 2:
                while (win(gameBoard) == 0)
                {
                    if (gameBoard[0] != 0 && gameBoard[1] != 0 && gameBoard[2] != 0 &&
                        gameBoard[3] != 0 && gameBoard[4] != 0 && gameBoard[5] != 0 &&
                        gameBoard[6] != 0 && gameBoard[7] != 0 && gameBoard[8] != 0
                        )
                    {
                        break;
                    }

                    if ((intCount + intTurn) % 2 == 0)
                    {
                        computerPlay(gameBoard);
                        System.Threading.Thread.Sleep(500);
                        draw(gameBoard);
                    }
                    else if ((intCount + intTurn) % 2 == 1)
                    {
                        userPlay(gameBoard);
                        draw(gameBoard);
                    }
                    intCount++;
                }



                break;

            default:
                Console.WriteLine("\n\n\t\t잘못된 입력입니다.");
                System.Threading.Thread.Sleep(1000);
                Console.Clear();
                vsComputer = new VsComputerMode(playName, array);
                break;
            }
            switch (win(gameBoard))
            {
            case 0:
                Console.WriteLine("\n\n\t\t 무 승 부 입 니 다 ! !");
                System.Threading.Thread.Sleep(1000);
                break;

            case 1:
                Console.WriteLine("\n\n\t\t{0} 님 의 패 배 입 니 다 ! !\n\n\n\n\n\n", playName);
                System.Threading.Thread.Sleep(1000);
                break;

            case -1:
                Console.WriteLine("\n\n\t\t{0} 님 의 승 리 입 니 다 ! !\n\n\n\n\n\n", playName);
                array.Add(playName);
                System.Threading.Thread.Sleep(1000);
                break;
            }
        }