Каркас игры
Итак, мы с вами уже давно созрели для того, чтобы создать игру. Но не будем сразу углублятся в сложнейшие алгоритмы (у нас для этого еще будет время), а для начала создадим проект - основу нашей игры в Visual C++:
и назовем его просто - Game. Это будет основной исполняемый файл. Но этого явно недостаточно, нужен еще tEngine или "движок" - одна из главных частей проекта, которая будет отвечает за графические, звуковые и сетевые возможности игры. Создадим подпроект:
Движок будет хранится в отдельном dll-файле, что будет удобно при программировании игры. Однако для правильной компиляции полученного "бутерброда", полезно установить зависимость одного проекта от другого:
Но даже после этого в проекте tEngine необходимо указать каталоги для выходных файлов, чтобы все скомпилированные файлы нашей игры находились в одном месте:
Итак, мы сознательно разделили нашу игру на два отдельных проекта: Game - игра и tEngine - движок игры. Если кого-то пугает использование dll-файла в нашем проекте, то тут ничего страшного нет, на самом деле все очень просто. Допустим, в файле tEngine.h и tEngine.cpp мы описали некоторую функцию, которая возвращает некоторое числовое значение.
// Файл tEngine.h
...
TENGINE_API int fnTEngine(void);
...
// Файл tEngine.cpp
...
TENGINE_API int fnTEngine(void)
{
return 42;
}
...
Теперь лишь достаточно включить в основной файл Game.cpp следующую строку:
#include "tEngine\tEngine.h"
И можно использовать функцию из dll-файла:
int APIENTRY WinMain(HINSTANCE
hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
int a = fnTEngine();
return 0;
}
На этом пожалуй и все, жду ваших вопросов и предложений.