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; } }