Сообщений: 97
Тем: 32
Зарегистрирован: Sep 2012
Репутация:
2
Код: final int[][] Coords =
{
{59018,-42682,-3005},
{58665,-44202,-3008},
{59458,-41726,-3005},
{60762,-42373,-3005},
{59754,-42291,-3005},
{61237,-42698,-3005},
{57623,-41647,-3159}
};
У меня есть координаты следующего вида.
Нужно вернуть методом рандомную строку координат ({...}), как видим выше.
Пробовал делать так:
Код: private int getRndCoord()
{
return Rnd.get(Coords);
}
Потом так:
Код: private int getRndCoord()
{
return Coords[Rnd.get(Coords)];
}
После этого, мне нужно задействовать координаты тут:
Код: player.teleToLocation(getRndCoord());
Начал копать в интернете.. Не могу ничего толкового найти, помогите плз.
Сообщений: 197
Тем: 4
Зарегистрирован: Aug 2011
Репутация:
948
Код: private int[] getCoords(){
return Coords[Rnd.get(Coords.length)];
}
поидее так.
в player.teleToLocation() поидее надо будет использовать объект Location.
Сообщений: 5,670
Тем: 145
Зарегистрирован: Nov 2008
Репутация:
33,771
Соберите координаты в List и выдирайте list.get(Rnd.get(0, list.size()))
Сообщений: 2,102
Тем: 40
Зарегистрирован: Apr 2008
Репутация:
12,296
Разве телеТоЛокатион не использует объект Локатион? О_о
[SRC="java"] final Location[] Coords = new Location[] {
new Location(59018,-42682,-3005),
new Location(58665,-44202,-3008),
new Location(59458,-41726,-3005),
new Location(60762,-42373,-3005),
new Location(59754,-42291,-3005),
new Location(61237,-42698,-3005),
new Location(57623,-41647,-3159)};
private Location getRndCoord()
{
return Coords[Rnd.get(Coords.length)];
}
player.teleToLocation(getRndCoord());[/SRC]
---
Припоздал
Сообщений: 247
Тем: 3
Зарегистрирован: Feb 2012
Репутация:
1,300
coldy Вам правильно подсказал пример.
Если делать, как сказал Stigmated, то Вам придется вызвать несколько раз метод add(). Ну это не очень удобно, к сожалению, но Вы приобретете массу полезностей от класса List и его потомков. Хотя такой метод удобен для небольших объемов данных, особенно хорошо смотрится в связке со static-блоками.
Судя по Вашим попыткам я бы посоветовал подсесть за учебник для начала
// aka Deft
Сообщений: 1,485
Тем: 12
Зарегистрирован: Mar 2010
Репутация:
2,994
для примера ТС возвратит одну точку int[] которую потом используйте для телепорта.
Цитата:private int[] getRndCoord()
{
return Coords[Rnd.get(Coords.length)];
}
Сообщений: 97
Тем: 32
Зарегистрирован: Sep 2012
Репутация:
2
09-14-2012, 05:25 PM
(Сообщение последний раз редактировалось: 09-14-2012, 05:33 PM halaymoon.)
Спасибо всем огромное!!!
Ой, немного не так написал..
Мне нужно получить точки из одинаковых локаций, но рандомно
Например:
Код: [CODE]final Location[] Coords001 = new Location[] {
new Location(59018,-42682,-3005), //Gludio
new Location(59018,-42682,-3355), //Dion
new Location(59018,-55345,-3355), //Dion
...
final Location[] Coords002 = new Location[] {
new Location(59018,-33333-3005), //Gludio
new Location(59018,-55555,-3355), //Dion
new Location(59018,-55455,-3355), //Giran
...[/CODE]
Что бы выборка была случайная, но точки выбирались не из разных городов, а одиннаковых (мне нужно как бы для дву рас разделить точки появления), в одних и тех же городах. Как это реализовать?
Извиняюсь за свою тупость.
|