가위바위보 게임
지금까지 공부한 것을 응용하여 가위바위보 게임 프로그램을 만들어보자.
Random random = new Random();
bool playAgain = true;
String player;
String computer;
String answer;
while (playAgain)
{
player = "";
computer = "";
answer = "";
while (player != "ROCK" && player != "PAPER" && player != "SCISSORS" && player != "주먹" && player != "보" && player != "바위")
{
Console.Write("ROCK(바위), PAPER(보), SCISSORS(가위) 중 하나를 입력하세요.: ");
player = Console.ReadLine();
player = player.ToUpper();
}
switch (random.Next(1, 4))
{
case 1:
computer = "ROCK(바위)";
break;
case 2:
computer = "PAPER(보)";
break;
case 3:
computer = "SCISSORS(가위)";
break;
}
Console.WriteLine("당신: " + player);
Console.WriteLine("컴퓨터: " + computer);
switch (player)
{
case "ROCK":
if (computer == "ROCK(바위)")
{
Console.WriteLine("- 무승부 -");
}
else if (computer == "PAPER(보)")
{
Console.WriteLine("- 패배 -");
}
else
{
Console.WriteLine("- 승리 -");
}
break;
case "주먹":
if (computer == "ROCK(바위)")
{
Console.WriteLine("- 무승부 -");
}
else if (computer == "PAPER(보)")
{
Console.WriteLine("- 패배 -");
}
else
{
Console.WriteLine("- 승리 -");
}
break;
case "PAPER":
if (computer == "ROCK(바위)")
{
Console.WriteLine("- 승리 -");
}
else if (computer == "PAPER(보)")
{
Console.WriteLine("- 무승부 -");
}
else
{
Console.WriteLine("- 패배 -");
}
break;
case "보":
if (computer == "ROCK(바위)")
{
Console.WriteLine("- 승리 -");
}
else if (computer == "PAPER(보)")
{
Console.WriteLine("- 무승부 -");
}
else
{
Console.WriteLine("- 패배 -");
}
break;
case "SCISSORS":
if (computer == "ROCK(바위)")
{
Console.WriteLine("- 패배 -");
}
else if (computer == "PAPER(보)")
{
Console.WriteLine("- 승리 -");
}
else
{
Console.WriteLine("- 무승부 -");
}
break;
case "가위":
if (computer == "ROCK(바위)")
{
Console.WriteLine("- 패배 -");
}
else if (computer == "PAPER(보)")
{
Console.WriteLine("- 승리 -");
}
else
{
Console.WriteLine("- 무승부 -");
}
break;
}
Console.WriteLine("다시하기 (Y/N)");
answer = Console.ReadLine();
answer = answer.ToUpper();
if (answer == "Y")
{
playAgain = true;
}
else
{
playAgain = false;
}
}
Console.WriteLine("플레이 해주셔서 감사합니다.");
Console.ReadKey();
}
while문을 중첩하여 다시하기를 선택했을 때와 가위(SCISSORS), 바위(ROCK), 보(PAPER) 외의 것을 입력했을 경우를 처리한다. switch문으로 컴퓨터가 랜덤으로 가위바위보 중 하나를 내보내도록 하고, if문을 통해 승패를 가른다.
'C# > C#' 카테고리의 다른 글
20. 배열(Arrays) (0) | 2023.09.14 |
---|---|
19. 계산기 프로그램(Calculator Program) (0) | 2023.09.13 |
17. 숫자 맞추기 게임(Number Guessing Game) (0) | 2023.09.05 |
16. 중첩 반복문(Nested Loops) (0) | 2023.09.04 |
15. For문(For Loops) (0) | 2023.08.31 |