好吧,基本上我需要使用Allegro 5和C++創建一個簡單的遊戲。我想將它分成單獨的模塊,因此管理起來更容易。我的問題是:管理不同文件之間「移動」的正確方法是什麼?具體來說,我想有一個名爲Menu.cpp的文件,它將成爲主文件,然後根據用戶選擇的內容,它執行其他文件中指定的內容,如Singleplayer.cpp或Options.cpp(這是甚至是一個好的方法?)。我的想法是做這樣的:C++ - 需要關於如何正確設計多文件程序的建議
//Menu.cpp
#include "Singleplayer.h"
int main()
{
int parameter;
if(user_selects_singleplayer) singleplayer(parameter);
return 0;
}
//Singleplayer.cpp
void singleplayer(int parameter)
{
...
handle_singleplayer
...
}
//Singleplayer.h
#ifndef SINGLEPLAYER_H
#define SINGLEPLAYER_H //or maybe #pragma once ?
void singleplayer(int parameter);
#endif
我想知道,如果它做一個適當的方式,如果是這樣,我是否應該有一個Singleplayer.cpp main()函數(和如何更改文件以使其工作)以及是否需要在Singleplayer.cpp中包含Singleplayer.h。
在我的例子中,我省略了一些東西,如包括allegro庫,初始化更多變量等,以使總體思路更清晰。另外我想說明的是,我不能使用類和流(我知道它很愚蠢,但這是一個需求,因爲這個項目是編程類的作業分配)。
編輯:由@Leiaz鏈接的問題是相關的,它的答案當然有助於理解標題如何工作,但我的問題是更多關於正確的設計方法。無論如何,感謝你的答案,我一定會讀到這個問題。
也許你應該下載一些開源項目並從中獲取想法。 – ern0
閱讀關於設計模式的書籍,構建它的軟件是一個非常廣泛的問題。 – cerkiewny
你應該只有一個'main'函數(你的程序進入這裏)。把你的項目設計爲模塊化是好的,但是看看使用'classes'而不僅僅是函數('OOP'背後的關鍵思想)。 – Kvothe