Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Распределение команд в Walls (Java Help)

Тема в разделе "Разработка плагинов для новичков", создана пользователем proficus, 16 авг 2013.

  1. Автор темы
    proficus

    proficus Старожил Пользователь

    Баллы:
    103
    Добрый вечер народ связался с такой небольшой проблемой в плане распределения команд в игре валлс.Как он распределяет [​IMG]
    Как мне нужно чтобы он распределял[​IMG]
    (Рисовал в паинте)
    Суть заключается в том что каждый игрок,нажавший кнопку кидался в следующую по цвету команду,а мне надо чтобы допустим сначала красные,потом синие,потом зеленые и желтые
    http://yadi.sk/d/Vx1soY228-8v0 - Ссылка на файл
    Название файла SignWall.java
    В общем вот что было
    Код:
    while (itr2.hasNext()){
                Player player = itr2.next();
                if (this.progress.equalsIgnoreCase("started")){
                    if (players.get(player) == "red"){
                        Sign sign  = (Sign) this.signLocations.get(red + 3).getBlock().getState();
                        sign.setLine(0, ChatColor.DARK_RED + player.getName());
                        sign.update();
                        red++;
                    }
                    else if (players.get(player) == "blue"){
                        Sign sign  = (Sign) this.signLocations.get(blue + 3).getBlock().getState();
                        sign.setLine(1, ChatColor.DARK_BLUE + player.getName());
                        sign.update();
                        blue++;
                    }
                    else if (players.get(player) == "green"){
                        Sign sign  = (Sign) this.signLocations.get(green + 3).getBlock().getState();
                        sign.setLine(2, ChatColor.DARK_GREEN + player.getName());
                        sign.update();
                        green++;
                    }
                    else if (players.get(player) == "yellow"){
                        Sign sign  = (Sign) this.signLocations.get(yellow + 3).getBlock().getState();
                        sign.setLine(3, ChatColor.YELLOW + player.getName());
                        sign.update();
                        yellow++;
                    }
                }
                else {
                    Sign sign = (Sign) this.signLocations.get(red + 3).getBlock().getState();
                    sign.setLine(blue, player.getName() + "");
                    if (blue == 3){
                        blue = 0;
                        red++;
                    }
                    else {
                        blue++;
                    }
                    sign.update();
                }
            }
    212 строка

    Код:
    while (itr2.hasNext()){
                Player player = itr2.next();
                if (this.progress.equalsIgnoreCase("started")){
                if (red<3){
                        Sign sign  = (Sign) this.signLocations.get(red + 3).getBlock().getState();
                        sign.setLine(0, ChatColor.DARK_RED + player.getName());
                        sign.update();
                        red++;
                    }
                        else if (blue<3){
                        Sign sign  = (Sign) this.signLocations.get(blue + 3).getBlock().getState();
                        sign.setLine(1, ChatColor.DARK_BLUE + player.getName());
                        sign.update();
                        blue++;
                    }
                    else if (green<3){
                        Sign sign  = (Sign) this.signLocations.get(green + 3).getBlock().getState();
                        sign.setLine(2, ChatColor.DARK_GREEN + player.getName());
                        sign.update();
                        green++;
                    }
                    else if (yellow<3){
                        Sign sign  = (Sign) this.signLocations.get(yellow + 3).getBlock().getState();
                        sign.setLine(3, ChatColor.YELLOW + player.getName());
                        sign.update();
                        yellow++;
                    }
                }
                else {
                    Sign sign = (Sign) this.signLocations.get(red + 3).getBlock().getState();
                    sign.setLine(blue, player.getName() + "");
                    if (blue == 3){
                        blue = 0;
                        red++;
                    }
                    else {
                        blue++;
                    }
                    sign.update();
                }
            }
    Вот что я сделал,но ничего к сожалению не вышло и просто статус игры был "Restarting"
    Много конечно описал,но думаю чтобы было понятно
    Буду благодарен тому человеку,кто сможет помочь решить мою проблему
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    proficus

    proficus Старожил Пользователь

    Баллы:
    103
    Ап ребят[DOUBLEPOST=1376737544,1376724880][/DOUBLEPOST]Ап
     
  4. ptnk

    ptnk Старожил Пользователь

    Баллы:
    173
    Обычный алгоритм для поиска минимального значения - ищешь команду, в которой меньше человек и закидываешь туда человечка.
    Это самое элементарное, а не то убожество с условиями, что написано выше.
     
  5. Автор темы
    proficus

    proficus Старожил Пользователь

    Баллы:
    103
    Это предположения были.Ну напиши если можешь,как правильно,ибо я не допираю чё то,несколько вариантов попробовал а оно не алё
     
  6. ptnk

    ptnk Старожил Пользователь

    Баллы:
    173
    Банальный алгоритм нахождения наименьшего элемента из нескольких, если ты такое не можешь сделать сам, то это очень плохо. Это самые элементарные основы.
     
    zuma2 нравится это.
  7. Jampire

    Jampire Старожил Пользователь

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    Вот это гк.... А ведь определение минимального значения это 3 строки, в некоторых случаях чуть больше...
     
  8. Автор темы
    proficus

    proficus Старожил Пользователь

    Баллы:
    103
    Согласен с тобой
     

Поделиться этой страницей