프로그래밍 문제/c# 문제
c# 문제 51. 가위 바위 보
지나팩
2023. 12. 1. 15:46
사용자로부터 가위 바위 보 중 하나를 입력받아 컴퓨터와 대결을 통한 결과를 출력하는 코드를 작성하세요.
출력 예)
코드는 아래에~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
class Program
{
static void Main()
{
Console.WriteLine("가위 바위 보 게임을 시작합니다!");
int num = 0;
// 사용자 입력 받기
while(true)
{
Console.WriteLine("가위, 바위, 보 중 하나를 입력하세요: 1.가위 2.바위 3.보");
num = int.Parse(Console.ReadLine()); // 소문자로 변환하여 비교
if (num == 0 || num > 3)
{
Console.WriteLine("다시 입력하세요!!");
continue;
}
else break;
}
// 컴퓨터 선택 (랜덤으로)
int[] options = {1,2,3};
Random random = new Random();
int computerIndex = random.Next(options.Length);
// 승패 결정
Check(num, computerIndex);
}
static void Check(int user, int com)
{
Console.WriteLine($"유저:{ChangeString(user)} 컴퓨터:{ChangeString(com)}");
if (user == com)
{
Console.WriteLine("비겼습니다!");
}
else if ((user == 1 && com == 3) ||
(user == 2 && com == 1) ||
(user == 3 && com == 2))
{
Console.WriteLine("당신이 이겼습니다!");
}
else
{
Console.WriteLine("당신이 졌습니다!");
}
}
private static string ChangeString(int id)
{
string temp = null;
switch(id)
{
case 1: {
temp = "가위";
break;
}
case 2:
{
temp = "바위";
break;
}
case 3:
{
temp = "보";
break;
}
}
return temp;
}
}
|
cs |