문제

Allegro/C ++를 사용하여 게임을 만들고 있습니다. 게임은 거의 완료되었고 이제는 맵 편집기를 만들고 싶습니다. 게임에는 수많은 클래스가 포함되어 있으며 그 숫자는 맵이 요구하는 객체 수에 따라 다릅니다. 나는 레벨 데이터를 유지하고지도로 저장하기 위해 별도의 구조를 만들려는 생각을하고있었습니다. 문제는 크기가 맵에 따라 다르고 숫자에 따라 객체를 수용하기 위해 포인터를 사용해야한다는 것입니다. 그러한 데이터를 저장하고 검색하는 가장 좋은 방법은 무엇입니까?

내가 생각했던 구조의 예-

struct Level
{    
    int soldierCount;

    Soldier **soldier;

    int taskCount;

    int *taskPercentage;

    int *taskBitmapX;

    int *taskBitmapY;

};
도움이 되었습니까?

해결책

따라서, 당신이하고 싶은 것은 직렬화입니다.

이미 기존 라이브러리를 사용하는 것이 좋습니다. 이 스레드를 살펴보십시오. C ++에서 직렬화하는 방법은 무엇입니까?

다른 팁

각각의 다른 데이터 구조에 대한 클래스를 생성 한 다음 읽기/쓰기 기능을 구현하십시오. 레코드 사이의 일부 플래그를 사용하여 레코드의 유형을 나타냅니다. 동적 배열의 경우 먼저 항목 수를 저장 한 다음 항목을 저장하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top