Представление и наименование координат в n-мерном пространстве

В настоящее время я делаю игру Breakout, и я подумал о представлении координат, а также об именовании для них. В этом конкретном примере у вас есть только две координаты x и y в двухмерном пространстве.

Является ли лучшее представление для (даже 2-мерных) систем координат: массивов? Почему это все еще полезно использовать int в таких ситуациях? Когда имеет смысл переключаться на массив? Кажется плохой практикой, когда вы используете переменные просто как способ описать порядок, в котором они появляются, как вы делаете с x и y в системе координат.

Что будет более эффективным? Будет ли работать с двумерным массивом быстрее, чем с двумя основными целыми числами? Будет ли обновление значения быстрее как целое число или массив? Я предполагаю, что работать с массивами с большим количеством измерений будет намного проще для манипулирования.

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};

Чтобы покончить с этим безумием: каковы были бы лучшие имена переменных, если бы вы выбрали ints? Это моя борьба:

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

1 ответ

Н -тусклый. Массивы как структура низкого уровня достаточно хороши и являются оптимальным выбором для вашего случая:

  • Эти координаты являются статическими по размеру.
  • Вы легко получаете доступ к элементам по их индексу.
  • Итерация намного быстрее и удобнее для чтения.
  • Нет необходимости искать или сортировать алгоритмы.

Просто убедитесь, что вы изначально определили точный размер, чтобы избежать кастингов.

Надеюсь, поможет.

Другие вопросы по тегам