2

この質問は、情報の配列の処理に関するものです。これを行う方法はたくさんありますが、より多くの経験を持つプログラマーからの入力が必要です。情報を最適な方法で整理する方法ではなく、客観的にやりたいことを知っています-Cは本当に私にこれを考えさせています.100時間を仕事に費やしたくありません.おっと、これはこれを行うための獣の方法を無駄にしました. だからここに行きます:

私は競技場をシミュレートしているグリッドを持っています。グリッドの各部分をセルと呼びます。セルにはそれぞれ約 20 の異なる値があり、すべて整数であり、派手なものは何もありません。セルへの変更は、プレーヤーの入力によるか、発生するか、さまざまなアルゴリズムを介してセルを囲むことによって行われます。

セルへの変更は、ターンが完了すると発生するため、リアルタイムではありません。さて、MutableArrays、プレーンな配列、またはプレーンなマトリックスでこれを行うことについても確信が持てません。配列は 1 次元の情報を保持するのに適していますが、これらのセルの 10,000 個のバッチに対処する必要がある場合、非常に面倒になると思います。一方、単純なマトリックスはそれほどエレガントではないかもしれませんが、おそらく扱いやすいでしょう。

どんな洞察も大歓迎です。

4

1 に答える 1

0

ここには 2 つのオプションがあります。

1) 標準容器を使用する

競技場のサイズが一定であると仮定すると、x*y サイズの変更可能な配列を作成し、変更可能な辞書を入力できます。2 番目の変更可能なディクショナリ キーにすべてを指定することで、それらのプロパティをクエリして設定できます (もちろんすべてのオブジェクトなので、int を NSNumbers でラップするなど)。索引付けには、マクロ INDEX_FROM_ROW_COL(row, col) を使用し、適切なコードを適用して乗算/加算します。

2) NSObject からサブクラス化されたヘルパー オブジェクトを作成します。上記のように可変オブジェクトを管理しますが、アプリケーションに固有の機能をロードできます。「row:」と「col:」のパラメーターを持つメソッドを提供できます。いくつかの基準に基づいて各セルのプロパティを変更または設定するメソッド。個人的には、ロジックをここにカプセル化し、インターフェイスをより高レベルにすることができるため、これはより良いアイデアだと思います。何が起こっているのかを記録するのも簡単になります。

于 2012-08-22T01:52:04.647 に答える