-
[TIL] 2주차 5일 개인 프로젝트 수정과 반성 ( 클래스 활용, enum 열거형 )개발일지/스파르타 코딩클럽 부트캠프 2024. 4. 26. 20:56
오늘 일정
- 개인프로젝트 튜터님 해설영상 보며 따라 코딩해보기
- 내 프로젝트에 어떤 식으로 적용 시킬 수 있는지 보기
- 튜터님 학습법 특강듣기
- C#문법 3주차 과제
오늘 배운 내용
Class를 어떻게 활용하는지
아 이번 해설영상을 보면서 확실히 나는 클래스를 활용하지 못했구나
객체지향을 못했구나라는 걸 제대로 느끼면서
배운 점이 많았다.
일단 클래스를 활용하는 것에 앞서서 객체지향을 제대로 하려면
어느정도 설계를 하고 시작하는게 매우 중요한 거 같은데
설계를 어느정도 하고 들어가면 뭔가 코드를 짜기전에
먼저 클래스를 몇개 만들 지 라던가 어느정도 미리 짜놓고 시작하는게
정말 그 프로젝트를 작업하는데에 있어서 정말 도움이 많이 되는 거 같다.
일단 이번 텍스트 RPG를 기준으로 말해보자면
클래스 사용이 중요한 점은
일단 개별 변수로 저장을 하는 것 보다 Item, Player 등을 클래스로 저장하면
후에 전체적인 게임을 만드는데 있어서 훨씬 편리하고 실수가 적으며 유지보수도 쉽다.
콘솔 글자색 변경 및 리셋
아 이건 좀 궁금한 부분이긴했는데 기능 구현도 다 못해가지고
아직 따로 찾아보진 않고 있었는데
콘솔도 나름대로 이쁘게(?) 꾸밀 수 있다는 걸 알았다.
public static void PrintTextHighlight(string s1, string s2, string s3 = "") { Console.Write(s1); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine(s2); Console.ResetColor (); Console.WriteLine(s3); }
여기 Console.ForegroungColor 라는 함수는 말 그대로 글자의 색을 바꿔주는 함수다.
내가 이 코드를 가져온 이유는 생각지도 못한 코드라서 그렇다.
대충 해설을 해보자면 이제 여긴 Consoleutility 클래스인데
다른 클래스에서 PrintTextHighlight 를 가져다가 쓰면
string s1은 그냥 써지고 s2만 노란 색으로, 그 후 리셋시키고 s3도 그냥 써지는 메서드를 만든거다.
예를 들어
ConsoleUtility.PrintTextHighlight("Gold :", player.Gold.ToString());
위 코드의 경우
이런 식으로 숫자에만 노란 색이 들어간 모습을 볼 수 있다.
enum 열거형에 대해서
어 원래 이건 이제 곧 배우는데 내가 아직 3주차 과제를 못 끝내서.. 못배우고 있었다.
근데 이번 튜터님의 해설영상에서 나오게 되었는데
enum 열거형은 쉽게 말해서
숫자에 이름을 붙여서 가독성을 높이는 문법이라고 하셨다.
예를 들어서, 32를 글자 A라고 읽는다고 하면
if(key == 32)보다 if(key == Key.A) 처럼 작성하면 더 편하겠죠? 라고 하셨는데
확실히 수가 많아질수록 편해질 거 같다.
이번에는 enum은
public enum ItemType { WEAPON, ARMOR }
아이템 클래스 밖에 써주었는데
아이템타입에 대해 쉽게말해 WEAPON은 0, ARMOR는 1이다.
숫자에 이름을 붙여준 느낌
이 밖에 배운점이 많은데
아직 프로젝트도 정리중에 있어서
계속 이어서 써야할 것 같다..
'개발일지 > 스파르타 코딩클럽 부트캠프' 카테고리의 다른 글
[TIL] 3주차 2일 팀 프로젝트 2일차 + 값 형식과 참조 형식 (2) 2024.04.30 [TIL] 3주차 1일 C# 콘솔 게임 팀 프로젝트 (0) 2024.04.29 [TIL] 2주차 4일 개인 프로젝트 (2) 2024.04.25 [TIL] 2주차 3일 개인 프로젝트 시작 (0) 2024.04.25 [TIL] 2주차 2일 C# 문법 입문 ( 조건문, 반복문, 배열과 컬렉션 ) (0) 2024.04.23