C#/수업내용

2020-04-09 [작성 및 활용 ]

NexTin 2020. 4. 9. 18:00
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Study_006
{
    class APP1
    {
        enum WeaponType
        {
            Sword, Bow, Axe
        }
        public APP1()
        {
            // 소지중인 아이템 : 장검 
            // "아이템명 착용", "아이템명 해제" // "아이템 버려". "아이템 집어")
 
            //명령어를 입력해주세요. 장검 해제
            // 장검은 해제 할 수 없습니다.
 
            //명령어를 입력해주세요. 장검 착용
            //장검을 착용했습니다.
 
            //명령어를 입력해주세요. 장검 착용
            // 이미 장검은 착용 되었습니다.
 
            //명령어를 입력해주세요. 장검 해제
            // 장검을 해제 했습니다.
 
            // 우선 문자열 값을 공백기준으로 나누어서 앞 뒤 구분 필요 
            // "ㅇ ㅁ" 으로 나누어서 명확한 커맨트 입력 시 작동 
            // 이미 하지않는 행위에 대해서 할 수 없다고 되어야함 
            // 근데 이미  착용했다면 한 행동은 다시 못하며 메세지
 
            // 그냥 APP에서 한거처럼 입력한 무기의 이름이 소지중의 아이템인지 어떻게 아는지 분별해보기 
 
            // 이넘으로 새로 인벤토리 작성 ? 
            // 어려우니까 앞에 장검은 동일하다는 가정 
            // 뒤에 커맨드에 따라 결과값을 달리 
 
            // 해제 할때 >> 아직 장비 안하고 있을떄, 장비 하고 있을때
            // 착용할때 >> 착용 했을때, 이미 착용했을때 
 
 
            WeaponType weponType0 = (WeaponType)Enum.Parse(typeof(WeaponType), "Sword");
            WeaponType weponType1 = (WeaponType)Enum.Parse(typeof(WeaponType), "Bow");
            WeaponType weponType2 = (WeaponType)Enum.Parse(typeof(WeaponType), "Axe");
 
            Console.WriteLine("소지중인 아이템 : 장검");
            Console.WriteLine("\"아이템명 착용\", \"아이템명 해제\"");
       
 
 
 
            while (true)
            {
 
                Console.Write("명령어를 입력해주세요. ");
                var input = Console.ReadLine();
                var arr = input.Split(' ');
                string item = arr[0];
                string cmd = arr[1];
 
                //int release = int.Parse(cmd);
 
 
                // 장비하지 않았을때 착용 / 해제 
                // 장비 했을때의 착용 / 해제 
                // 장검은 고정값이니까 신경쓰지 말고 뒤에 커맨드의 다름에 따라 분류됨 
 
                // 착용을 했는지 안했는지 어디다가 저장해둬야함 
                //  착용했어? 안했어? ( 진실 / 거짓 ) bool 식 사용 
 
                bool isEauiped = false//착용을 안한상태 ; true 차ㅏㄱ용상태 
 
                // 근데 이걸 판단하기 전의 값은 어떻게 
 
 
                //가지고 있을때
                //     ㄴ 착용 / 해제
 
                //가지고 있지 않을때
                //     ㄴ 착용 / 해제 
 
                //bool check = true;
                //Console.WriteLine(check ? "Checked" : "Not checked");  // output: Checked
 
                //Console.WriteLine(false ? "Checked" : "Not checked");  // output: Not checked
 
                // 부울식의 판단은 무엇을 기준으로?
 
                // 현재 장비를 착용하지 않았다는게 기본. 
                // 이 부울식 판단의 기준은?? 어떻게???
 
                switch (cmd)
                {
                    case "해제":
                        Console.WriteLine(isEauiped ? "장검은 해제 할 수 없습니다." : "장검을 해제 했습니다.");
 
 
                        //else if (isEauiped == true )
                        //{
                        //    Console.WriteLine("장검을 해제 했습니다.");
                        //}
                        break;
                        
 
                    case "착용":
                        {
                            if  ( isEauiped ==true )
                            {
                                Console.WriteLine("장검을 착용 할 수 없습니다.");
                            }
                  
                            else if ( isEauiped == false )
                            {
                                Console.WriteLine("장검을 착용 했습니다.");
                            }
                            break;
                        }
                    
                 
 
                        /// 메서드 / public / void / class 클래스 / 인스턴스, 인스턴스 생성자 /
                        /// new 연산자 / 생성자 사용 / 멤버변수 / 매게 변수 / 클래스 멤버 / .(dot, ~의)
/// this 도 중요
                }
 
            }
        }
    }
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs