728x90
using System;
namespace CSharp
{
class Program
{
enum Choice
{
Rock = 1,
Paper = 2,
Scissors = 0
}
static void Main(string[] args)
{
// 0 -> 가위 1-> 바위 2-> 보
Random rand = new Random();
int aiChoice = rand.Next(0, 3); // 0~2 사이의 랜덤 값
int choice = Convert.ToInt32(Console.ReadLine());
switch(choice)
{
case (int)Choice.Scissors:
Console.WriteLine("당신의 선택은 가위입니다.");
break;
case (int)Choice.Rock:
Console.WriteLine("당신의 선택은 바위입니다.");
break ;
case (int)Choice.Paper:
Console.WriteLine("당신의 선택은 보입니다.");
break;
}
switch (aiChoice)
{
case (int)Choice.Scissors:
Console.WriteLine("컴퓨터의 선택은 가위입니다.");
break;
case (int)Choice.Rock:
Console.WriteLine("컴퓨터의 선택은 바위입니다.");
break;
case (int)Choice.Paper:
Console.WriteLine("컴퓨터의 선택은 보입니다.");
break;
}
// 승패 코멘트
if (choice == aiChoice)
{
Console.WriteLine("무승부입니다.");
}
else if(choice == (int)Choice.Scissors && aiChoice == (int)Choice.Paper)
{
Console.WriteLine("승리입니다.");
}
else if(choice == (int)Choice.Rock && aiChoice == (int)Choice.Scissors)
{
Console.WriteLine("승리입니다.");
}
else if(choice == (int)Choice.Paper && aiChoice == (int)Choice.Rock)
{
Console.WriteLine("승리입니다.");
}
else
{
Console.WriteLine("패배입니다.");
}
}
}
}
열거형을 사용하려면 class 밑에 enum의 이름을 지정해준다.
enum Choice
{
Rock = 1,
Paper = 2,
Scissors = 0
}
열거형은 기본 int 형으로 지정된다. 나처럼 따로 숫자를 지정해주지 않으면 기본으로 위에서 아래로 0부터 숫자가 지정된다.
switch문에는 변하지 않는 확실한 int를 넣어주어야 한다. (캐스트 연산자를 사용!) (int)Choice.Rock의 형식으로 사용해준다. 굳.
728x90
'언어 > C#' 카테고리의 다른 글
[C#] temp를 사용한 자리 바꿔치기 (0) | 2022.04.25 |
---|---|
[C#] CS0122 보호 수준 때문에 액세스할 수 없습니다 (0) | 2022.04.25 |
[C#] overloading과 overriding (0) | 2022.04.25 |
[C#] Shallow Copy와 Deep Copy (0) | 2022.04.25 |
[C#] ReadLine 문자열 입력 받기 (0) | 2022.04.25 |