Этот вопрос и ответ очень похож на ваш, посмотрите:
Ссылка
Дайте мне знать, если что-то там неясно.Суть в том, что вы не вставляете файлы кода - они все равно не существуют после компиляции вашей программы.Вы вызываете функции в ответ на каждое условие - эти отдельные функции, в свою очередь, выполняют соответствующую логику.Вам нужно организовать свою игру в набор функций, где каждая функция выполняет одну конкретную работу в игре (и, вероятно, вызывает все более специализированные функции, которые обрабатывают различные места в вашей игре и т. Д.)
Вотпример:
// In GameFunctions.h:
bool StartGame ();
bool ShowCredits ();
bool ExitGame ();
// Add all function definitions here or create multiple header files to hold
// groups of function definitions. Include these headers files in your CPP files.
// In GameFunctions.cpp:
#include <iostream>
#include "GameFunctions.h"
using namespace std;
int main ( int argc, const char* argv[] )
{
int nKeyPress; // this holds the key pressed by the user
bool bContinue = true;
while ( bContinue )
{
... // read a key here into nKeyPress
switch ( nKeyPress )
{
case 1:
bContinue = StartGame ();
break;
case 2:
bContinue = ShowCredits ();
break;
case 3:
bContinue = ExitGame ();
break;
}
}
}
...
bool StartGame ()
{
// initialize your game here
InitGame ();
// Show the first room of your game and start waiting for
// user input (the user making various selections in the game).
// You'll invoke other rooms from this function as you respond to
// user selections.
ShowRoom ( 1 );
return ( true );
}
bool ShowCredits ()
{
... // show credits here
return ( true );
}
bool ExitGame ()
{
// do cleanup (if you have any to do) here
return ( false );
}
Вы также можете разбить код игры на несколько файлов .cpp
и .h
, чтобы сгруппировать ваши функции в логические группы.Даже если вы не используете классы, весь ваш код в одном файле .cpp обычно является плохой идеей, если ваша игра не очень, очень коротка.Таким образом, вы можете создать несколько файлов .cpp, например, по одному для каждой комнаты: каждый файл .cpp будет содержать код для обработки определенной комнаты в вашей игре.Вам понадобятся определения функций в заголовочном файле, и вам нужно включить все заголовочные файлы в определенный файл .cpp, который вы намереваетесь использовать.(Однако вам не нужно включать каждый .h в каждый .cpp - вам нужны только те заголовки, которые содержат определения, которые вы намереваетесь использовать в одном .cpp.)
В конце ваша играбудет состоять из нескольких файлов .cpp и .h и будет иметь ряд функций: некоторые будут читать пользовательский ввод, некоторые будут отображать сообщения на экране, некоторые могут отслеживать счет пользователя, некоторые инициализируют комнату доигрок сначала входит в него и т. д.
Скорее всего, вам понадобятся другие заголовочные файлы из стандартной библиотеки C или C ++, в зависимости от того, какие стандартные функции вы попытаетесь использовать.