Я практически не знаю Java, но я пытаюсь выучить некоторые для этого проекта. Я пытаюсь изменить программу под названием GyaPickupBot, которая по сути является ботом «забрать игру» на IRC, где игроки могут напечатать:! Add, чтобы добавить в список игроков, которые хотят играть в игру, и достаточно игроков! Add бот объявляет IP-адрес игрового сервера (то есть сервера Quake), на котором будет проходить игра. прямо сейчас, когда указанное количество игроков! add и игра запускается, бот перечисляет только тех игроков, которые добавили! до того, как было достигнуто максимальное количество игроков. Я бы хотел разделить всех игроков, которые добавили!, На 2 случайные команды одинакового размера. Я уже сделал случайную часть, используя Collections.shuffle, но я не знаю, как разделить игроков на 2 команды одинакового размера. Я написал автору по электронной почте несколько недель назад, и он, наконец, ответил сегодня утром с очень смутными намеками на то, как это сделать:
Ну ... в настоящее время у меня нет особой мотивации поддерживать этот код.
Я могу только предложить вам несколько советов.
private boolean handleReady(String channel, String sender, String login, String hostname, String message) {
boolean isUpdate = false;
String readyGameID = mgr.getReadyGameID();
if (null != readyGameID) {
// *** add some code here to choose teams and store that result to string variable. something like: "team1: ,,,, team2: ,,,,,"
// *** you can get players list by mgr.getPlayers(readyGameID) in order to divide players to 2 teams randomly
for (String ch : getChannels()) {
sendMessage(ch, mgr.getPickupReadyString(readyGameID));
// sendNotice(ch, mgr.getPickupReadyString(readyGameID));
// *** then, send that string to channel
}
mgr.setLastGame(Calendar.getInstance().getTimeInMillis(), mgr.getPickupReadyString(readyGameID));
ArrayList<String> players = mgr.getPlayers(readyGameID);
for (String nick : players) {
sendNotice(nick, mgr.getPickupReadyPMString(readyGameID));
// *** and send that string to players too
}
isUpdate = mgr.clearPlayers(players);
}
return isUpdate;
Я знаю, что это, вероятно, больше, чем то, о чем здесь говорится, но я действительно пытаюсь выучить это, но я не могу понять это, и любая помощь будет оценена