2013-05-14 150 views
1

我在gamedev.stackexchange上發佈了這個,但還沒有收到任何答案。希望這裏有人能幫助我。需要關於設計/遊戲結構的建議

我正在使用c#編寫我的第一個遊戲。它是使用Windows Forms的基於文本的遊戲。我正在集思廣益以管理所有數據,並考慮在一個類中包含所有與遊戲實例有關的信息(Game.cs),並讓該類負責跟蹤任何重要的事情。 (注意:我不是在說有一個類或類似的項目)我認爲這將使保存和加載更容易(只需保存和加載該類的實例),以及讓開始一個新遊戲更容易(目前我正在初始化初始化類中的所有變量)。

那麼,這種方法是否會有很好的實踐(讓遊戲需要在單個課堂中掌握所有的東西)?如果不是,您是否還有其他建議處理和放置數據的方法?

+0

這不是一個壞主意,但最終取決於數據是否保持在本地。也看看序列化 – fnostro

+0

我已經有一個保存/加載系統設置使用序列化。數據留在本地的意思是什麼? –

+0

哪裏存儲的數據?在用戶本地設備(PC,智能手機,平板電腦,筆記本電腦等)或通過以太網連接的一些非現場存儲。這個數據類越大,寫入的時間就越長,如果它的本地數據不是一件可怕的事情,但是通過以太網連接,你必須確保數據完好無損。 – fnostro

回答

5

你靠近自己到達MVC pattern

所以你要做的就是將這個Game.cs稱爲你的「模型」,它將包含所有與遊戲狀態相關的信息。那麼你的表單的工作就是在遊戲狀態被修改時顯示遊戲的當前狀態。 (可能是事件驅動的表單更新?)它還會將您的播放器通過用戶界面執行的任何操作連接到控制器。控制器的工作將是提供方法來採取行動並根據這些行動操縱遊戲狀態。例如。 MoveRight()將更新Game.Position.X。

然後你可以把整個遊戲狀態和保存/加載,這是你的意圖。所以我沒有看到你想要做什麼的問題。

+0

感謝您的諮詢!我現在來看看MVC模式。 –