2013-05-14 96 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模式。 –