Unreal 강의(33)
-
9일차 과제
TextRPG를 객체지향으로 바꾸고 bool을 사용해서 누군가 죽으면 종료시키기 #include #include class Player { public: Player() { } void StatusRender() { int NameLength = printf_s("%s", Name); for (int i = 0; i < 50 - NameLength; i++) { printf_s("-"); } printf_s("\n"); printf_s("체 력 : %d\n", Hp); printf_s("공격력 : %d\n", Atk); for (int i = 0; i < 50; i++) { printf_s("="); } printf_s("\n\n"); } void DamageLogic(int _Atk) { Hp -= _..
2023.12.21 -
9일차 (12/21)
class 클래스는 내가 만든 나의 자료형이다. 그래서 사용자 정의 자료형(user definition type)이라 한다. 클래스는 실체가 아니고 설계나 개념이다. 클래스 문법을 설명함에 있어서 강사님은 언제나 int와 비교할 것이다. int == class int int가 할 수 있는데 내 클래스는 못한다. => 내가 안만든 것 int가 할 수 없는데 내 클래스는 한다. => 내가 만들어 준 것 만약 원한다면 int와 동일한 클래스를 만들 수도 있다. 기본자료형과 클래스는 근본적으로 그다지 차이가 없다. 차이는 내부에 무언가 구현되어 있는 것이 있는가 없는가의 차이이다. 클래스 생성 시 명심해야할 것이 있다. class Monster { }; 아무 내용도 안에 없기 때문에 이 클래스는 할 수 없어야 ..
2023.12.21 -
8일차 (12/20)
콘솔창(CMD) 과거 아무 운영체제도 없었던 시절에 Dos라는 시스템이 있었다. Dos는 명령 줄 기반의 프로그램이다. 우리가 F5를 누르면 내 콘솔창을 실행하는 것이 아니다. 내 프로그램이 따로 실행되고 내 프로그램에서 콘솔창에 출력을 요청하는 것이다. 콘솔창은 특수문자를 통해 특수한 출력기호를 사용할 수 있는데 전부 \를 사용해서 표현핟. \n 등을 콘솔창은 한글자로 본다. Text RPG 게임을 만드때 중요한 점. 랜더링과 로직은 분리하는게 좋다. 한 함수가 두가지 목적을 가지면 안된다. 만약 그런 함수가 있다면 1가지 목적을 가진 함수 2개를 모아서 만드는게 유리하다. 쪼개서 사용해보면 처음에는 불편하다. 이 메인 루프에서 모든 일이 벌어진다. 이때 한번의 루프가 도는 것을 프레임이라고 합니다. ..
2023.12.20 -
7일차 과제
바뀐 문자수를 리턴 #include int CharConvert(char* _Stting, char _PrevCh, char _NextCh) { int Count = 0; int ChangeCount = 0; while(_Stting[Count]) { if (_Stting[Count] != _PrevCh) { } else { _Stting[Count] = _NextCh; ++ChangeCount; } ++Count; } return ChangeCount; } int main() { char Arr[10] = "abcabcabc"; int Result = CharConvert(Arr, 'b', 'd'); } 입력한 문자를 옆 데이터로 옮기기, 입력한 문자가 있다면 삭제하기 #include int Strin..
2023.12.19 -
7일차 (12/19)
printf 함수 만들기 과제 이어서 설명 #include int StringCount(const char* _CPtr) { int Count = 0; while (_CPtr[Count]) { ++Count; } return Count; } void NumberToString(int _Number, char* _Ptr) { int DivNumber = _Number; int SubNumber = _Number; int DigitCount = 1; while (DivNumber / 10) { DivNumber /= 10; ++DigitCount; } int SubDigit = DigitCount; for (int i = 0; i < DigitCount; i++) { int MulTen = 1; for (i..
2023.12.19 -
6일차 과제
문자 표현 방식 abcde ㄱㄴㄷㄹㅁ 등은 인간이 보기 편하게 만든 디스플레이 적인 내용일 뿐이다. 글자에 대한 모든 권한은 OS가 가지고 있다. 그리고 우리가 char을 사용한다고 하면 C++운영체제에게 이거 글자야 글자로 보여줘야해라고 명령하여 어떠한 메모리 영역을 글자로 바꾸어주는 것이다. 즉 글자 => 숫자이다.(정수) 1. char 숫자를 입력받아 int형으로 변환 2. int 숫자를 입력받아 char[]형으로 변 #include int StringCount(const char* _CPtr) { int Count = 0; while (_CPtr[Count]) { ++Count; } return Count; } int StringToNumber(const char* _NumberString) { ..
2023.12.18