2012-04-20 7 views
3

大丈夫、これは初心者の質問です、ごめんなさい。BattleShipゲームIOSコンセプトデザイン

戦闘機のゲームでは、位置(x、y)と状態(空、無限)で各セル(10X10 = 100)のオブジェクトのセットを構築することは、ヒット、ミス)のプロパティ?

それが唯一のオブジェクトのグリッドを作成して(タッチでセル選択を処理するか、例えば、描画するときに)必要に応じてセルの位置を算出する方法を使用する方がよい場合、私は思っていた

..

+0

を挿入します。 –

答えて

2

前者は問題がありますあなたが並んで座っている船を持っているかもしれないし、終わりから終わりまでの船を持っているかもしれないし、あなたが記述したデータ構造から完全に破壊されたときを知るのは難しくなるからです。 2つのヒットは同じ船に2ヒット、2つの異なる船に2ヒット、または最も小さい船に沈むことさえあり得る。

正当な理由で後者に進む。

+0

thxそんなことを始めよう! – user1347271

1

私がこれをやっていたら、私はそれを単純なままにしておきます.2次元の配列を持っていれば、10×10グリッドになります。

誰かがターンしたとき、位置を計算します。

それはミスだ場合、そのアレイ・セル に0を挿入し、それはヒットだ場合、あなたは後者を行う場合には、管理することが容易になりますそのアレイ・セルにおける1

+0

ああ、私は船全体の識別を忘れてしまった! – Chris

+0

10×10アレイを使用する別の方法があります。あなたが5つの船を持っている場合、あなたは船を配置するときに、各船に異なる数字を1から5と言う。あなたが船2で命中した場合、その数を-2に変更します。次に、隣接するすべてのセルを検索します。もし船がまだ見つかっていなければ、船は沈んでいません。 –

関連する問題