人気のフラッシュ ゲーム Chrontron を C++ で "エミュレート" したいと考えていたので、始めるにあたって助けが必要でした。(注: リリース用ではなく、自分用に練習しているだけです)
基本: プレイヤーはタイムマシンを持っています。タイムマシンを使用する反復ごとに、並列状態 以前の状態と共存して作成されます。状態の 1 つがすべてを完了する必要があります。 ステージ終了前のレベルの目標。さらに、すべてのステージが可能でなければなりません 状態のパラドックスを引き起こすことなく、ステージを正常に終了する 普通にステージをクリアできたが、別の状態の影響で、 そうではなかった)。
そういうわけで、ゲームがどのように機能するかを説明します。私の問題が何であるかを本当に理解するには、少しプレイする必要があります。
これを解決する良い方法は、リンクされたリストを使用して各状態を保存することであると考えています。これは、おそらく時間に基づくハッシュ マップ、または時間に基づいて反復するリンクされたリストのいずれかになります。私はまだ確信が持てません。
実際の質問:
大まかな仕様ができたので、これに使用するデータ構造とその理由を決定するための助けが必要です。また、これを行うためにどのグラフィックス API/レイヤーを使用する必要があるかを知りたい: SDL、OpenGL、または DirectX (現在の選択は SDL)。そして、パラレルステートを実装するにはどうすればよいでしょうか? 並列スレッドで?
編集 (より明確にするために):
OS -- Windows (これは趣味のプロジェクトなので、後で Linux でこれを行う可能性があります)
グラフィックス -- 2D 言語 -- C++ (C++ でなければなりません -- これは次の学期のコースの練習です)
Q-未回答: SDL : OpenGL : Direct X
Q-回答済み: 並列処理を避ける
Q-回答済み: STL を使用して時間ステップ アクションを実装します。
人々が言ったこととはかけ離れていますが、私は次のことをすべきです。 1. STL を使用してアクションを保存します。 2. 時間ステップに基づいてアクションを繰り返します。 3. 並列処理を忘れる -- ピリオド。(しかし、それがどのように行われるかについてのいくつかの指針が欲しい これは練習用であるため、どのような場合に使用する必要があるかを示します)。
質問に加えて、私は以前に C#、PHP、および Java を主に使用したことがあるので、自分自身をホットショット プログラマーとは言いません。このプロジェクトを容易にするのに役立つ C++ 固有の知識は何ですか? (つまり、ベクトル?)