Glut と Opengl game info(wiki)を使用して、C で独自の bejeweld を作成します。
短いゲーム情報 ゲームはグリッドで構成されており、たとえば 8x8 のさまざまな宝石が含まれています。隣接する 2 つの宝石を交換して、同じタイプの少なくとも 3 つの宝石の行/列を作成すると、宝石は消えます。競技場は上からいっぱいになります。
2 つの設計コンセプト リンクされたリストと配列
これを実装するにはいくつかの方法がありますが、最も保守が簡単で効率的な方法が必要です。私の考えは:
(2D 配列は競技場/グリッドを表します)。
1) gem オブジェクト (インスタンス) へのすべてのポインターを含むリンクされたリスト。また、リストにすばやくアクセスするために、リンクされたリスト要素へのすべてのポインターを含む 2D 配列。リンクされたリストは、ゲーム オブジェクトを簡単に印刷するために使用できます。すべてのリンクされたリスト オブジェクトには、場所 (宝石、スコア ボード、時間など) が付属しています。
2) 上記と同じ考え方ですが、すべての行または列の連結リストと他のゲーム要素の連結リスト
3) オブジェクト/インスタンス (宝石) へのポインターを持つ 2D 配列のみ。
必要な操作
-ポインターを交換して、要素 (宝石) を交換しますか?
- 新しい要素を「作成」(グリッドの上部)
-少なくとも3つの同じ種類のgemが隣り合っている行/列を確認します
私はそれをすべて明確にしたことを願っています。何が最善の解決策になると思いますか?