(개인과제)
✅ 캐릭터 정보를 Console.WriteLine 으로 하나하나 작성하지 말고 다른 방법 써보기
→ 캐릭터 정보를 class 에 정리해서 문자열 보간을 통해 정보 작성 !
⬜ 장착 관리 (+상태 보기와 정보 연동시키기)
이건 아직 무리...ㅎ.ㅎ.. too hard..
해설영상 올라오면 체크하자 !
✅ 아이템 정보를 class / struct 로 활용해보기
↓ Item.cs 에 요렇게 아이템 class 를 만들어서
namespace DunDunDungeon
{
internal partial class Program
{
class Item
{
public string Name { get; }
public string Effect { get; }
public string Description { get; }
public Item(string newName, string newEffect, string newDescription)
{
Name = newName;
Effect = newEffect;
Description = newDescription;
}
}
}
}
↓ Program.cs 에서 아이템 목록 보여주는 표를 만들고 (w/ 패키지의 힘)
// 아이템 목록
static void ShowItem()
{
var table = new ConsoleTable("아이템 이름", "효과", "설명");
table.AddRow(muIronArmor.Name, muIronArmor.Effect, muIronArmor.Description);
table.AddRow(oldSword.Name, oldSword.Effect, oldSword.Description);
table.Write(Format.Alternative);
}
↓ 아이템 설명 적어주고
namespace DunDunDungeon
{
internal partial class Program
{
private static Character player1;
private static Item muIronArmor;
private static Item oldSword;
static void Main(string[] args)
{
GameDataSetting();
ShowGameStartScene();
ShowSpartaVill();
}
static void GameDataSetting()
{
// 캐릭터 설정
player1 = new Character("너의이름은", 01, "전사", 10, 5, 100, 1500);
// 아이템 설명
muIronArmor = new Item("무쇠갑옷", "방어력 +5", "무쇠로 만들어져 튼튼한 갑옷입니다.");
oldSword = new Item("낡은 검", "공격력 +2", "쉽게 볼 수 있는 낡은 검입니다.");
}
↓ console 창에서 잘 보여지나 출력해보니 good ~!
이 부분 성공해내려고
거의 하루종일 class 랑 프로퍼티 공부를 엄청나게 한 것 같다.
🔥🤟
⬜ 아이템 정보를 배열로 관리하기
나에겐 아직 어려운 그대여..
and 뇌 과부하 + 금요일 버프..? 디버프 라고 해야하나..?
로 인한 집중도 하락 ^_^
이라는 핑계인듯 핑계아닌 핑계같은 핑계를 적어본다.
해설영상 올라오면 체크하자 !
VS 단축키 꿀팁🍯
ctrl + m + o
= (class or 함수 etc) 접기
ctrl + m + l
= ( " ) 펼치기
기 억 하 자 !
Console.ReadKey();
누른 키 정보를 console 창에 표시.
Console.ReadKey(true/false);
true
: console 창에 키 입력 안 보임
false
: 키 입력 보임
구조체 struct vs. 클래스 class
class 의 메서드는 보통 public,
메서드 호출을 위해서는 class 의 인스턴스 생성해야 함 !
class 의 필드(fields)는 보통 private 접근 제한자를 사용하여 외부에서 직접적인 접근을 제한하고, 필요한 경우에는 프로퍼티를 통해 간접적으로 접근할 수 있도록 한다.
프로퍼티(property) 는
private 한 필드값을 외부에서 접근할 수 있게끔 중간 매개 역할.
간접 접근.
연결하고자 하는 변수와 동일한 데이터 타입 & 이름(대문자로 시작).
get 은 프로퍼티 값 반환(read).
set 은 프로퍼티 값 설정(write).
자동 프로퍼티는 필드의 역할도 같이 진행한다.
{ get ; } → 읽기 전용.
{ set ; } → 쓰기 전용.
getter 와 setter 이해하는 데 시간이 좀 걸렸는데
공식사이트에서 언제 get 과 set 이 invoke 되는지 설명을 보니
이전보다는 개념이 훨씬 더 와닿는 느낌 !
휴 감사합니다 공식사이트 최고bb (_ _)
+ 실무에서는 프로퍼티 중에서 자동 프로퍼티를 주로 쓰거나 그냥 필드값을 설정하거나 다른 대체제(e.g. delegate, event 강의였나 어디선가 이름은 들어본 것 같은데 아직 뭔진 모르겠다...헷 ) 를 주로 사용한대요 !
(꿀팁 감사합니다 튜터님🙏)
피할 수 없으면 즐겨야지 뭐 어쩌겠습니까 ~~!
다음 주도 열심히 달리기 위해
주말은 최선을 다해 쉽시다 ~~!
Happy Friday
&
Have a blessed weekend !
S2 🤎🥨