Я все еще новичок в C ++, поэтому, пожалуйста, прости меня, если мой вопрос невыносимо очевиден. Я (пытаюсь) написать код в RPG. На данный момент все хорошо компилируется, однако теперь мне нужно подумать о том, как я собираюсь загрузить все свои объекты (для классов юнитов, предметов и т. Д.), Когда игра открывается.
Я видел потоки о библиотеках DLL и глобальных объектах, использующих extern в заголовочных файлах, но мне было интересно, какой метод был наиболее практичным / эффективным? (Так как сама игра будет только такой большой)
В моем нынешнем виде мой код очень неуклюжий и плохо реализован (я даже не подумал, прежде чем пытаться использовать функцию для объявления моих объектов в отдельной функции, и удивлялся, почему они не были доступны), должен ли я использовать extern, а не необходимость объявлять мои объекты в main (), чтобы создавать их экземпляры (см. ниже).
#include <iostream>
#include <string>
#include "Unit.h"#include "UClass.h"
using namespace std;
// Seperate function at program start to load class list.
void loadClass(UClass& obj)
{
obj.load("Peasant");
}
int main() {
//Load classes...
cout << "Creating peasant...\n";
UClass peasant;
loadClass(peasant);
cout << peasant.show() << endl;
cout << "\nCreating unit...\n";
Unit man;
man.SetLvl();
man.SetClass(peasant);
man.ShowInfo();
return 0;
}
Извините еще раз, это моя первая попытка многофайлового проекта и заранее благодарю!
Взгляните на библиотеку std, где вы определили такие структуры, как, например, список. Моя идея состоит в том, чтобы вы создали список объектов, которые вы загружаете в свою игру, и, пока вы решаете геометрию или другую логику, вы хотите, чтобы вы перебирали список. Я думаю, что это хорошо для начала. Если я правильно понял ваши проблемы.
Других решений пока нет …