전체 코드
namespace CSharp
{
internal class Program
{
static void Main(string[] args)
{
Random rand = new Random();
int aiChoice = rand.Next(0, 3);
int choice = Convert.ToInt32(Console.ReadLine());
switch (choice)
{
case 0:
Console.WriteLine("당신의 선택은 가위 입니다.");
break;
case 1:
Console.WriteLine("당신의 선택은 바위 입니다.");
break;
case 2:
Console.WriteLine("당신의 선택은 보 입니다.");
break;
}
switch (aiChoice)
{
case 0:
Console.WriteLine("컴퓨터의 선택은 가위 입니다.");
break;
case 1:
Console.WriteLine("컴퓨터의 선택은 바위 입니다.");
break;
case 2:
Console.WriteLine("컴퓨터의 선택은 보 입니다.");
break;
}
if (choice == 0)
{
if (aiChoice == 0)
{
Console.WriteLine("무승부 입니다.");
}
else if (aiChoice == 1)
{
Console.WriteLine("패배 입니다.");
}
else
{
Console.WriteLine("승리 입니다.");
}
}
if (choice == 1)
{
if (aiChoice == 0)
{
Console.WriteLine("승리 입니다.");
}
else if (aiChoice == 1)
{
Console.WriteLine("무승부 입니다.");
}
else
{
Console.WriteLine("패배 입니다.");
}
}
else
{
if (aiChoice == 0)
{
Console.WriteLine("패배 입니다.");
}
else if (aiChoice == 1)
{
Console.WriteLine("승리 입니다.");
}
else
{
Console.WriteLine("무승부 입니다.");
}
}
if (choice == aiChoice)
{
Console.WriteLine("무승부 입니다.");
}
else if (choice == 0 && aiChoice == 2)
{
Console.WriteLine("승리 입니다");
}
else if (choice == 1 && aiChoice == 0)
{
Console.WriteLine("승리 입니다");
}
else if (choice == 2 && aiChoice == 1)
{
Console.WriteLine("승리 입니다");
}
else
{
Console.WriteLine("패배 입니다.");
}
}
}
}
1. 변수 선언
Random rand = new Random();
int aiChoice = rand.Next(0, 3);
int choice = Convert.ToInt32(Console.ReadLine());
✅ 설명
Random rand = new Random(); → 랜덤 숫자를 생성하는 Random 객체를 생성.
int aiChoice = rand.Next(0, 3); → 0~2 사이의 랜덤한 정수(가위, 바위, 보 중 하나)를 선택.
int choice = Convert.ToInt32(Console.ReadLine()); → 사용자의 입력을 정수로 변환하여 저장.
2. switch 문을 이용한 출력
switch (choice)
{
case 0:
Console.WriteLine("당신의 선택은 가위입니다.");
break;
case 1:
Console.WriteLine("당신의 선택은 바위입니다.");
break;
case 2:
Console.WriteLine("당신의 선택은 보입니다.");
break;
}
switch (aiChoice)
{
case 0:
Console.WriteLine("컴퓨터의 선택은 가위입니다.");
break;
case 1:
Console.WriteLine("컴퓨터의 선택은 바위입니다.");
break;
case 2:
Console.WriteLine("컴퓨터의 선택은 보입니다.");
break;
}
✅ 설명
- 사용자가 입력한 값과 컴퓨터가 랜덤으로 선택한 값을 각각
switch 문을 이용해 출력.
case 0, case 1, case 2를 사용하여 선택된 값에 따라 메시지를 출력.
3. if-else 문을 이용한 승패 판별
if ((choice == 0 && aiChoice == 2) || (choice == 1 && aiChoice == 0) || (choice == 2 && aiChoice == 1))
{
Console.WriteLine("승리입니다.");
}
else if ((choice == 0 && aiChoice == 1) || (choice == 1 && aiChoice == 2) || (choice == 2 && aiChoice == 0))
{
Console.WriteLine("패배입니다.");
}
else
{
Console.WriteLine("무승부입니다.");
}
✅ 설명
- 승리 조건:
- 가위(0) > 보(2)
- 바위(1) > 가위(0)
- 보(2) > 바위(1)
- 패배 조건:
- 가위(0) < 바위(1)
- 바위(1) < 보(2)
- 보(2) < 가위(0)
- 무승부: