我想在 C++ 中“模拟”流行的 Flash 游戏 Chrontron,需要一些帮助才能开始。(注:不是为了释放,只是为自己练习)
基本: 玩家有一台时光机。在使用时间机器的每次迭代中,一个并行状态 被创建,与先前的状态共存。其中一个州必须完成所有 阶段结束前的关卡目标。此外,所有阶段必须能够 正常结束阶段,而不会引起状态悖论(他们应该有 能够正常完成阶段,但由于另一个状态的相互作用, 不是)。
所以,这解释了游戏是如何运作的。你应该玩一点才能真正理解我的问题是什么。
我在想一个解决这个问题的好方法是使用链表来存储每个状态,这可能是基于时间的哈希映射,或者是基于时间迭代的链表。我仍然不确定。
实际问题:
现在我有了一些粗略的规范,我需要一些帮助来决定使用哪些数据结构,以及为什么。另外,我想知道我应该使用什么图形 API/图层来执行此操作:SDL、OpenGL 或 DirectX(我目前的选择是 SDL)。我将如何实现并行状态?使用并行线程?
编辑(澄清更多):
操作系统——Windows(因为这是一个爱好项目,以后可能会在 Linux 中这样做)
图形——2D 语言——C++(必须是 C++——这是下学期课程的练习)
Q-Answered: SDL : OpenGL : Direct X
Q-Answered: Avoid Parallel Processing
Q-Answered: 使用 STL 实现时间步操作。
到目前为止,人们所说的,我应该: 1. 使用 STL 存储动作。 2. 基于时间步长迭代动作。 3. 忘记并行处理——句号。(但我仍然想要一些关于它如何 可以使用,在什么情况下应该使用,因为这是为了练习)。
附加到这个问题,我以前主要使用过 C#、PHP 和 Java,所以我不会将自己描述为一个能手的程序员。哪些 C++ 特定知识可以帮助我更轻松地完成这个项目?(即向量?)