본문 바로가기
프로그래밍 문제/c# 문제

c# 문제 51. 가위 바위 보

by 지나팩 2023. 12. 1.

사용자로부터 가위 바위 보 중 하나를 입력받아 컴퓨터와 대결을 통한 결과를 출력하는 코드를 작성하세요.

 

출력 예)

코드는 아래에~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

댓글