게임 개발
-
#include using namespace std; #include const int MAX = 1000; int board[MAX][MAX] = {0, }; int N; void PrintBoard() { int digit = 0; int temp = N*N; while (temp > 0) { temp /= 10; digit++; } for (int i = 0; i < N; i++) { cout
[언리얼 MMORPG pt1] 달팽이 문제#include using namespace std; #include const int MAX = 1000; int board[MAX][MAX] = {0, }; int N; void PrintBoard() { int digit = 0; int temp = N*N; while (temp > 0) { temp /= 10; digit++; } for (int i = 0; i < N; i++) { cout
2023.10.27 -
#include using namespace std; void ReverseStr(char* str) { int len = strlen(str); for (int i = 0; i < len/2; i++) { swap(str[i], str[len - i - 1]); } } void StrCat(char* dst, char* src) { int len = strlen(src); int lenDst = strlen(dst); for (int i = 0; i < len; i++) { *(dst + len + i) = src[i]; } } int StrCmp(char* str1, char* str2) { while (*str1 != '\0' || *str2 != '\0') { if (*str1 < *str2) {..
[언리얼 MMORPG pt1] 문자열 함수 구현#include using namespace std; void ReverseStr(char* str) { int len = strlen(str); for (int i = 0; i < len/2; i++) { swap(str[i], str[len - i - 1]); } } void StrCat(char* dst, char* src) { int len = strlen(src); int lenDst = strlen(dst); for (int i = 0; i < len; i++) { *(dst + len + i) = src[i]; } } int StrCmp(char* str1, char* str2) { while (*str1 != '\0' || *str2 != '\0') { if (*str1 < *str2) {..
2023.10.27 -
#include using namespace std; // 오늘의 주제: 다차원 배열 int main() { int a[10] = { 1, 2, 3 }; int first[5] = { 4, 2, 3, 4, 1 }; int second[5] = { 1, 1, 5, 2, 2 }; int apartment2D[2][5] = { { 4, 2, 3, 4, 1 }, { 1, 1, 5, 2, 2 } }; // 인덱스 이용 for (int floor = 0; floor < 2; floor++) { for (int room = 0; room < 5; room++) { cout
[언리얼 MMORPG pt1] 다차원 배열#include using namespace std; // 오늘의 주제: 다차원 배열 int main() { int a[10] = { 1, 2, 3 }; int first[5] = { 4, 2, 3, 4, 1 }; int second[5] = { 1, 1, 5, 2, 2 }; int apartment2D[2][5] = { { 4, 2, 3, 4, 1 }, { 1, 1, 5, 2, 2 } }; // 인덱스 이용 for (int floor = 0; floor < 2; floor++) { for (int room = 0; room < 5; room++) { cout
2023.10.27 -
#include using namespace std; // 오늘의 주제: 다중 포인터 void SetNumber(int* a) { *a = 1; } /* * 에서 const가 별표 전에 오느냐 뒤에 오느냐에 따라 의미가 다른데 별표 전에 오면 msg 자체는 다른 주소로 교체 가능하되 (msg는 주소를 담는 바구니죠), 실제 그 주소를 타고 가서 있는 데이터 (char)를 바꿀 수 없다는 의미입니다. 반면 const가 별표 뒤에 오면, 포인터 값 자체를 바꿀 수 없게 됩니다. */ void SetMessage(const char* msg) { // msg 매개변수는 스택에 추가로 생성된다. // 즉 main 함수의 msg와는 다른 메모리 공간에 저장된다. // 즉, 값복사가 이루어진것. msg = "Bye..
[언리얼 MMORPG pt1] 다중 포인터#include using namespace std; // 오늘의 주제: 다중 포인터 void SetNumber(int* a) { *a = 1; } /* * 에서 const가 별표 전에 오느냐 뒤에 오느냐에 따라 의미가 다른데 별표 전에 오면 msg 자체는 다른 주소로 교체 가능하되 (msg는 주소를 담는 바구니죠), 실제 그 주소를 타고 가서 있는 데이터 (char)를 바꿀 수 없다는 의미입니다. 반면 const가 별표 뒤에 오면, 포인터 값 자체를 바꿀 수 없게 됩니다. */ void SetMessage(const char* msg) { // msg 매개변수는 스택에 추가로 생성된다. // 즉 main 함수의 msg와는 다른 메모리 공간에 저장된다. // 즉, 값복사가 이루어진것. msg = "Bye..
2023.10.26 -
#include using namespace std; // 오늘의 주제: 포인터 vs 배열 void TestFunc(char param[]) // 배열을 함수인자로 넘기면 알아서 포인터로 치환한다. { // 어셈블리를 까 보면 결국 포인터로 전달 param[0] = 'A'; } int main() { // 문자열 == 문자의 배열 cout
[언리얼 MMORPG pt1] 포인터 vs 배열#include using namespace std; // 오늘의 주제: 포인터 vs 배열 void TestFunc(char param[]) // 배열을 함수인자로 넘기면 알아서 포인터로 치환한다. { // 어셈블리를 까 보면 결국 포인터로 전달 param[0] = 'A'; } int main() { // 문자열 == 문자의 배열 cout
2023.10.26 -
#include using namespace std; struct StatInfo { int hp = 0xAAAAAAAA; int attack = 0xBBBBBBBB; int defence = 0xDDDDDDDD; }; int main() { // TYPE 이름[개수]; // 배열의 크기는 상수여야 함 (VC 컴파일러 기준, gcc는 통과함) const int MONSTER_COUNT = 10; StatInfo monsters[MONSTER_COUNT]; // 여태껏 변수들의 [이름]은 바구니의 이름이었음 // 배열은 [이름] 조금 다르게 동작한다. StatInfo players[10]; // players = monsters; // error // 그럼 배열의 이름은 뭐지? // 포인터다. 즉, 배열의..
[언리얼 MMORPG pt1] 배열 기초#include using namespace std; struct StatInfo { int hp = 0xAAAAAAAA; int attack = 0xBBBBBBBB; int defence = 0xDDDDDDDD; }; int main() { // TYPE 이름[개수]; // 배열의 크기는 상수여야 함 (VC 컴파일러 기준, gcc는 통과함) const int MONSTER_COUNT = 10; StatInfo monsters[MONSTER_COUNT]; // 여태껏 변수들의 [이름]은 바구니의 이름이었음 // 배열은 [이름] 조금 다르게 동작한다. StatInfo players[10]; // players = monsters; // error // 그럼 배열의 이름은 뭐지? // 포인터다. 즉, 배열의..
2023.10.26