using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
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();
string item = arr[0];
string cmd = arr[1];
// 장비하지 않았을때 착용 / 해제
// 장비 했을때의 착용 / 해제
// 장검은 고정값이니까 신경쓰지 말고 뒤에 커맨드의 다름에 따라 분류됨
// 착용을 했는지 안했는지 어디다가 저장해둬야함
// 착용했어? 안했어? ( 진실 / 거짓 ) 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 도 중요
}
}
}
}
}