게임 개발 공부/게임 제작

텍스트 게임의 제목과 엔딩 크레딧 만들기

Vetenir 2025. 1. 14. 20:25

텍스트 입력하는 모양으로 텍스트 출력

문자열을 출력할 때 여러줄로 나눠서 출력한다면 반복문으로 줄바꿈을 할 수도 있지만

반복문으로 반복 되는 내용이 아니거나 규칙성을 만들기 어려운 경우가 있습니다.

 

그럴때 raw string literal을 사용하면 됩니다.

std::cout << R"(문자열)" << std::endl;

 

예시코드

#include <iostream>

int main() {

    std::cout << R"(
■□□□□□■□■■□■■■■□□■■■■■□■■□■■■■■■■□■■■■■■□□□□□□■■■□■■■■□■■■■□■□■
■□□□□□■□■■□■■□□□□□□■■■□■■□■■■■■■■□■■■■■■■■■■■□■■■□■■□□□□□■■□■□■
■□■■■■■□■■□■■□□■■□□■■■□■■□■■■■■■■□■■■■■■■■■■□□■■■□■■□□■□□■■□■□■
■□■■■■■□■■□■■□■■■■□■■■□■■□■■■■■■■□□□■■■■■■■■□□■■■□■■□■■■□■■□■□■
■□□□□□■□□□□■■□■■■■□□□□□■■□■■■■■□■□■■■■■■■■□□□■■■■□■■□■■■□□□□■□■
■□□□□□■□□□□■■□■■■■□■■■□■■□□□□□□□■□■■■■■■□□□□■■■■■□■■□■■■□□□□■□■
■□■■■■■□■■□■■□■■■■□■■■□■■■■■■■■■■□■■■■■■□□■■■■■■■□■■□■■■□■■□■□■
■□■■■■■□■■□■■□□■■□□■■■□■■■□□■■■■■□■■■■■■■■□□□□□□□□■■□□■□□■■□■□■
■□□□□□□□■■□■■□□□□□□■■■□■■■□□■■■■■□■■■■■■■■□■■■■■■□■■□□□□□■■□■□■
■■■■■■■□■■□■■■■■■■■■■■□■■■□□■■■■■■■■■■■■■■□■■■■■■□■■■■■■■■■□■□■
■■■■■■■□■■□■■■■■■■■■■■□■■■□□■■■■■■■■■■■■■■□■■■■■■□■■■■■■■■■□■□■
■■■■■■■□■■□■■■■■■■■■■■□■■■□□□□□□□□□■■■■■■■□□□□□□□□■■■■■■■■■□■□■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■□□■■■■■□□■■■■■■■□■■■■■■■■■■■■■■□■■■■■■■■■■■■□■■■■■■■■
■■■■■■■■■■□□■■■■■□□■■■■■■■□■■■■■□□□□□□□■■□■■■□□□□□□□■■□■■■■■■■■
■■■■■■■■■■□□■■■■■□□■■■■■■■□■■■■■■■■□■■□■■□■■■■■■□□■■■■□■■■■■■■■
■■■■■■■■■■□□□□□□□□□■■■■■■□□□■■■■■■■□■■□■■□■■■■■■□□■■■■□■■■■■■■■
■■■■■■■■■■□□■■■■■□□■■■■■□□□□□■■■■■□□■■□■■□□□■■■■□□■■■■□■■■■■■■■
■■■■■■■■■■□□■■■■■□□■■■□□□■■■□□□■■■□□■■□■■□□□■■■□□□■■■■□■■■■■■■■
■■■■■■■■■■□□□□□□□□□■■□□□■■■■■□□□■□□■■□□■■□■■■■■□□□□■■■□■■■■■■■■
■■■■■■■■■■■■■■□■■■■■■■■■■■■■■■■■□□□■□□□■■□■■■■□□■■□□■■□■■■■■■■■
■■■■■■■■■■■■■■□■■■■■■■■■■■■■■■■■□□■■□□■■■□■■■□□■■■■□□■□■■■■■■■■
■■■■■■■■□□□□□□□□□□□□□□□□□□□□□□□□■■■□□■■■■□■■■■■■■■■■■■□■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■□■■■■■■■■■■■■□■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■□■■■■■■■■■■■■□■■■■■■■■                                                                                                                      
)" << std::endl;

    return 0;
}

 

한글 아스키아트 생성 방법

해당 사이트에서 한글을 입력하고 복사하여 사용하면 됩니다.

https://maple.gazua.in/ascii

 

한글 아스키아트 생성기

한글 문자 아스키아트, 텍스트 아스키아트, ASCII ART, 글자 아스키아트

maple.gazua.in

 

 

 

엔딩 크레딧 만들기

#include <iostream>
#include <thread> // sleep_for 사용
#include <chrono> // 시간 관련 기능
#include <vector>

int main() {
    std::vector<std::string> v = {
        "Poject Manager : 000", 
        "Game Manager : 000", 
        "Shop 제작 : 000", 
        "Character 제작 : 000", 
        "Item 제작 : 000", 
        "Monster 제작 : 000"};

        for (const std::string& Members : v) {  // 벡터의 각 요소 순회
            for (char c : Members) {            // 문자열의 각 문자 순회
                std::cout << c;                 // 한 글자씩 출력
                std::cout.flush();              // 버퍼를 강제로 비우기
                std::this_thread::sleep_for(std::chrono::milliseconds(150));    // 150ms 대기
            }
            std::this_thread::sleep_for(std::chrono::milliseconds(200));    // 줄 간격 대기
			std::cout << std::endl; // 줄 바꿈
        }
        std::cout << std::endl;
    return 0;
}

 

실행

글자가 한글자씩 출력되며 줄바꿈을 하는 모습.

 

 

 

감사합니다.