1

現在、Breakout ゲームを作成しており、座標の表現とその命名規則について考えました。この特定の例では、2 次元空間に x と y の 2 つの座標しかありません。

ここに画像の説明を入力

(2 次元であっても) 座標系の最適な表現は次のとおりです: 配列? intこのような状況で使用すると、なぜまだ役立つのでしょうか? いつ配列に切り替えるのが理にかなっていますか? 座標系で x と y を使用する場合のように、変数が表示される順序を記述する方法として変数を使用するのは悪い習慣のようです。

どちらがより効率的になりますか? 2 次元配列を操作する方が、2 つの基本整数を操作するよりも高速ですか? 値の更新は、整数または配列として高速になりますか? より多くの次元を持つ配列を操作する方が操作がはるかに簡単だと思います。

int[] coordinates = {1,2}; //initializing, which way is faster? 
int xPosition = 1;
int yPosition = 2;

xPosition = 2; //updating the coordinates, which way is faster?
yPosition = 3;
coordinates = {2, 3};

この狂気を終わらせるために: s を選ぶとしたら、どのような変数名が最適でしょうintか? これらは私の闘争です:

int xPosition, yPosition //a bit long
int xPos, yPos //looks short and clear to me, but maybe there is an 
//'normal' way to do it?
int xpos, ypos //short and looks less clear but represents better imo
// that it's one entity
int positionX, positionY //auto-complete takes twice as long
int posY, posX //harder to see what's meant here for me
4

1 に答える 1

2

n次元。低レベルの構造としての配列で十分であり、あなたのケースに最適な選択です:

  • これらの座標のサイズは静的です。
  • インデックスによって要素に簡単にアクセスできます。
  • 反復ははるかに高速で読みやすいです。
  • 検索や並べ替えのアルゴリズムは必要ありません。

キャストを避けるために、最初に正確なサイズを定義してください。

それが役に立てば幸い。

于 2014-11-10T10:25:10.863 に答える