координаты из двумерного массива - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 31.07.2015, 22:46   #1
Пользователь

Автор темы (Топик Стартер) координаты из двумерного массива

есть массив следующего вида:

Код:
int[][] locs = 
{
   {1234,334,110},
   {3536,112,343},
   {1111,333,666},
   // ...
};
пытаюсь выбрать из него координаты для телепорта таким путем:

Код:
int[] _loc = locs[Rnd.get(locs.length)];
Location loc = new Location(_loc[0], _loc[1], _loc[2]);
activeChar.teleToLocation(loc, true);
вроде бы все ок... но вот спустя какое-то время замечаю экзепшины ArrayIndexOutOfBoundsException.

что здесь не так? может есть способ проще/лучше?

спасибо!!
slayer48 вне форума Отправить сообщение для slayer48 с помощью Skype™ Ответить с цитированием
Непрочитано 31.07.2015, 22:49   #2
Изгнанные

По умолчанию Re: координаты из двумерного массива

Цитата:
Сообщение от slayer48 Посмотреть сообщение
есть массив следующего вида:

Код:
int[][] locs = 
{
   {1234,334,110},
   {3536,112,343},
   {1111,333,666},
   // ...
};
пытаюсь выбрать из него координаты для телепорта таким путем:

Код:
int[] _loc = locs[Rnd.get(locs.length)];
Location loc = new Location(_loc[0], _loc[1], _loc[2]);
activeChar.teleToLocation(loc, true);
вроде бы все ок... но вот спустя какое-то время замечаю экзепшины ArrayIndexOutOfBoundsException.

что здесь не так? может есть способ проще/лучше?

спасибо!!
А что непонятного то- массив попросту переполняется, вы же locs, Используйте не только в одном случае, и не как не освобождайте его после того как персонаж телепортировался, то есть те значения(что сохранились/Записались) там же и остаются.
DrHolmes вне форума Ответить с цитированием
Непрочитано 31.07.2015, 23:59   #3
Аватар для finfan
fin-ex.corp

По умолчанию Re: координаты из двумерного массива

Код:
int[] _loc = locs[Rnd.get(locs.length-1)];
Переполнение:
Rnd.get() - возвращает до N, а не до N - 1
finfan вне форума Отправить сообщение для finfan с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 01.08.2015, 06:50   #4
Аватар для Gaikotsu
Герой

По умолчанию Re: координаты из двумерного массива

эм, вобще-то синтаксис Rnd.get(x) как раз возвращает в диапазоне от 0 до x-1
это синтаксис Rnd.get(x, y) возвращает в заданном диапазоне, включая и граничные значения.

хотя конечно у автора темы возможно Rnd.get нестандартно работает, хотя с чего бы опять же.
Gaikotsu вне форума Ответить с цитированием
Непрочитано 01.08.2015, 17:58   #5
Аватар для KID
Пользователь

По умолчанию Re: координаты из двумерного массива

Мсье DrHolmes, вам стоит прекратить советы на текущем этапе вашего развития. более углубленное изучение языка java/русского крайне необходимо.

копирните пример от finfan и ошибка пропадет. и лучше почитайте как работают массивы, будет полезно.
KID вне форума Отправить сообщение для KID с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Координаты зон в клиенте Mifesto Игровой клиент 15 20.09.2014 00:09
Координаты ресурсов lMonstrl Aion 4 23.05.2013 16:20
Вычисление координаты движущегося объекта в момент времени. krisadr Lineage II 15 26.11.2012 01:18
Подскажите координаты всех локаций SoA Munhgauzen Lineage II 0 18.03.2011 12:19
Как узнать координаты в режиме разработчика в кленте krisadr Игровой клиент 1 04.12.2010 16:45


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 04:20. Часовой пояс GMT +3.

Вверх