Каркас игры

Итак, мы с вами уже давно созрели для того, чтобы создать игру. Но не будем сразу углублятся в сложнейшие алгоритмы (у нас для этого еще будет время), а для начала создадим проект - основу нашей игры в 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;
}

На этом пожалуй и все, жду ваших вопросов и предложений.

Сайт создан в системе uCoz