๐Ÿš€ NamGyumo's GitHub Repository Portal

System Developer | Algorithm Enthusiast | Low-level Programmer

๐ŸŽฎ RPG Project 25.08

C++ ํด๋ž˜์Šค์™€ ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ๋กœ ์„ค๊ณ„ํ•œ ์ „ํˆฌํ˜• RPG ์‹œ์Šคํ…œ

// ์ „ํˆฌ ๋ฃจํ”„ ์˜ˆ์‹œ
class Battle {
public:
    void battle_line(Character* character, Map::Map_node* map, bool char_first) {
        Monster* monster = map->monster;
        if (!monster || !monster->get_live()) {
            std::cout << "์ด ์นธ์—๋Š” ๋ชฌ์Šคํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.\n";
            return;
        }
        int char_def_p = ((character->get_defence_init() / (character->get_defence_init() + 43333.0) * 65 + 5)
            + (65 * (1 + pow(-2.71828182846, (-character->get_defence_init() / 93800.0))) + 5)) * 5000;
        bool turn = char_first;
        while (character->get_live() && monster->get_live()) {
            if (turn) {
                if (random(0, 10000) > mon_def_p)
                    monster->set_hp(monster->get_hp() - character->get_damage_init());
                if (monster->get_hp() <= 0) {
                    monster->set_live(false);
                    std::cout << monster->get_name() << " ๊ฒฉํŒŒ!\n";
                    Level_Manager lm;
                    lm.add_exp(character, monster->get_exp_pd());
                    return;
                }
            } else {
                if (random(0, 10000) > char_def_p)
                    character->set_hp(character->get_hp() - monster->get_damage_init());
                if (character->get_hp() <= 0) {
                    character->set_live(false);
                    std::cout << character->get_name() << " ์“ฐ๋Ÿฌ์ง...\n";
                    return;
                }
            }
            turn = !turn;
        }
    }
};

Tags: C++, GameDev, OOP, SmartPointer, RPG, LinkedList, Graph

๐Ÿงฎ Baekjoon Algorithm Solutions

C์–ธ์–ด๋กœ ์‹ค๋ฒ„ ๋“ฑ๊ธ‰ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉฐ ๋…ผ๋ฆฌ์  ์‚ฌ๊ณ ๋ ฅ๊ณผ ์ตœ์ ํ™” ๋Šฅ๋ ฅ ํ–ฅ์ƒ

// ํž™์ •๋ ฌ ๊ธฐ๋ฐ˜ ์ •๋ ฌ ์˜ˆ์‹œ
void heapify(Books arr[], int arr_size, int i, int islast) {
    int largest = i;
    int left  = i * 2 + 1;
    int right = i * 2 + 2;
    if (islast) {
        if (left  < arr_size && isBestseller(arr[largest], arr[left]))  largest = left;
        if (right < arr_size && isBestseller(arr[largest], arr[right])) largest = right;
    } else {
        if (left  < arr_size && isnamesort(arr[largest], arr[left]))  largest = left;
        if (right < arr_size && isnamesort(arr[largest], arr[right])) largest = right;
    }
    if (largest != i) {
        Books temp   = arr[largest];
        arr[largest] = arr[i];
        arr[i]       = temp;
        heapify(arr, arr_size, largest, islast);
    }
}

Tags: C, Algorithm, Baekjoon, Sorting, DFS, BFS, ProblemSolving

๐Ÿงฑ Data Structure Practice

C์–ธ์–ด๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ (LinkedList, BST, Heap, Merge Sort, Graph)

// ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ ๊ธฐ๋ฐ˜ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ
typedef struct BST {
    long long data;
    long long count;
    struct BST* left;
    struct BST* right;
} BST;

BST* make_BST(long long data) {
    BST* node   = (BST*)malloc(sizeof(BST));
    node->data  = data;
    node->count = 1;
    node->left  = NULL;
    node->right = NULL;
    return node;
}

void insert_node(long long data, BST** head) {
    if ((*head) == NULL) { *head = make_BST(data); return; }
    BST* temp = *head;
    BST* last = NULL;
    while (temp) {
        last = temp;
        if      (temp->data > data) temp = temp->left;
        else if (temp->data < data) temp = temp->right;
        else { temp->count++; return; }
    }
    BST* insert = make_BST(data);
    if (last->data > data) last->left  = insert;
    else                   last->right = insert;
}

Tags: C, DataStructure, LinkedList, BST, HeapSort, MergeSort

๐Ÿ“˜ Summary

RepositoryDescriptionMain Language
RPG-project-25.08 ์ „ํˆฌํ˜• RPG ์‹œ์Šคํ…œ (C++ ํด๋ž˜์Šค, ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ, ๊ทธ๋ž˜ํ”„ ๊ธฐ๋ฐ˜ ๋งต) C++
Backjoon ๋ฐฑ์ค€ ์‹ค๋ฒ„ ๋ฌธ์ œํ’€์ด (C์–ธ์–ด, DFS/BFS, ์ •๋ ฌ) C
Data-structure-practice C์–ธ์–ด ์ž๋ฃŒ๊ตฌ์กฐ ์ง์ ‘ ๊ตฌํ˜„ (LinkedList, BST, Heap, Merge Sort) C

Each repository demonstrates logical design, algorithmic clarity, and memory-level control โ€” key traits of a future Game Engine Developer.

๐Ÿš€ Created by Nam-Gyumo (๋‚จ๊ทœ๋ชจ) | System Developer in Progress