GlutとOpenglで私自身のbejeweldを作成するつもりですgame info(wiki)。C++ bejeweldリンクリストvs arraylist
短いゲーム情報 ゲームはグリッドで構成され、異なる宝石で8x8と言うことができます。 2つの隣接する宝石を交換することによって、同じタイプの少なくとも3つの宝石の行/列を作成すると、宝石は消滅します。競技場は上から塗りつぶされます。配列
対
2つの設計consepts リンクされたリストがあり、これを実装する方法はいくつかありますが、私は最も保守が容易かつ効率的な方法をしたいと思います。私のアイデア:
(2D配列はプレーフィールド/グリッドを表します)
1)宝石オブジェクト(インスタンス)へのすべてのポインタを含むリンクリスト。また、リストの高速アクセスのためにリンクされたリスト要素へのポインタをすべて含む2D配列。リンクされたリストは、ゲームオブジェクトを簡単に印刷するために使用できます。すべてのリンクされたリストオブジェクトは、位置(宝石、スコアボード、時間ETS)
2)上記と同様の考え方が、各行又は列と他のゲーム要素のリンクリストのためにリンクされたリストが付属して
3)オブジェクト/インスタンス(宝石)へのポインタを持つ2D配列のみ。
必要な操作
-swap要素(宝石)、ポインタを交換することによって?
- 私は私が作った願っています相互
隣の宝石の同じ種類の少なくとも3と行/ colomnsのために(グリッドの上部にある)新しい要素
-check「を作成します」それはすべて明らかです。何が最良の解決策になると思いますか?
これは本当に非質問です。あなたが一番うまくいくと思うものを試してくださいもしそうでなければ、やり直してください。 – Anthales
2次元配列だけを使うのが一番良いと思いますが、2次元配列をリンクリスト(アイデア1)と組み合わせて使うヒントがあります。だから私は他の人の考えを知りたいです – user1345112