2014-11-15 3 views
-1

В настоящее время я собираю базовую программу для просмотра мира. С каждой точки зрения у меня есть 4 фотографии, каждая на 90 градусов друг к другу. Я создал массив фотографий для каждой точки обзора и String currentPoint, который будет содержать имя точки обзора. Я думаю, что есть способ взять имя текущего массива и вызвать его содержимое, поэтому мне нужно написать только один набор кодов для поворота влево, чтобы повернуть направо функции ниже, но я не могу представить, что это будет. Как это делается?Вызов массива в программе (java)

+0

Я действительно не знаю, если я полностью понимаю, но вы могли бы поставить массивы в карте со строкой в ​​качестве ключей? – gla3dr

ответ

0

Предположим, что ваш массив array расположен в заказе [на северной стороне, на восток, на южную сторону, с западной стороны], и что у вас есть индекс i с указанием индекса текущего вида (0 для северного , 1 для востока, 2 для юга, 3 для запада). Затем «повернуть налево», чтобы уменьшать i по модулю 4 и «повернуть направо», чтобы увеличивать i по модулю 4.

При таком подходе, поворот направо прост: i = (i + 1) % 4.

поворота налево немного Tricker, потому что % фактически определяется как оператор остатка в Java, а не в качестве оператора модуля, так что i = (i - 1) % 4 не будет работать (он оставит i == -1, когда он должен быть i == 3). Вместо этого вы можете написать: i = (i + 3) % 4.

(Имея это в виду, мы можем определить полный набор абсолютных направленных констант — NORTH как 0, EAST, как 1, SOUTH, как 2, WEST в 3 — и относительные направления константы — FRONT, как 0, RIGHT как 1, BACK как 2, LEFT в 3. Тогда, например, WEST == (NORTH + LEFT) % 4 и NORTH == (WEST + RIGHT) % 4.)

Смежные вопросы