Wie Spieler in Arraylist hinzufügen,abrufen und löschen (Uuids)?

2 Antworten

Hi ALpha220066,

schreib dir zuerst einen Command-Handler, bzw. packe ihn in deine Main-Methode, je nachdem wie du arbeitest. Beispiel dafür findest du haufenweise auf anderen Seiten.

Dann würde ich mir eine Klasse anlegen, mit der ich die ArrayList handle. Zum Beispiel PlayerManager oder so.

public class PlayerManager {

  public ArrayList<Player> players;

  public boolean putPlayer(Player p) {
    // Prüft, ob Spieler noch nicht in der ArrayList ist
    if(!players.contains(p)) {
      // Ist er es nicht, wird er hinzugefügt
      players.add(p);
      return true;
    }
    return false;
  }

  public boolean removePlayer(Player p) {
    // Prüft, ob Spieler bereits in der ArrayList ist
    if(players.contains(p)) {
      // Ist er es, wird er gelöscht
      players.remove(p);
      return true;
    }
    return false;
  }

  public boolean putOrRemove(Player p) {
    // Spieler automatisch hinzufügen oder entfernen
    return true;
  }

}

Anhand der beiden Methoden solltest du auch herausfinden können, wie der Spieler beim Eingeben eines Commands automatisch hinzugefügt oder entfernt wird, abhängig davon, ob er in der ArrayList ist oder nicht.

Liebe Grüße

Woher ich das weiß:Berufserfahrung – Software Engineer
ALpha220066 
Fragesteller
 15.04.2020, 12:48

ich habe es so weit das im ersten command greift der(wenn ich das richtig gemacht habe) den spieler beim command raus(siehe text)

eclipse gibt bei dem code den sie reingeschrieben haben bei  if(!players.contains(p)

das dickgemachte rot an

String command = "";


            for(int i = 0; i < args.length; ++i) {
                command = command + args[i];
            }
0
ALpha220066 
Fragesteller
 15.04.2020, 12:58
@Niklas

allgemein, habe ich erstmal das soweit gemacht was sie sagten mit der neuen classe und ein Command-Handler gefunden. Dann habe ich erstmal den ersten command in einer Classe gepackt und der code den ich geschickt habe, ist die abgreifung von den command das der Spieler raus gezogen wird um den in die Liste zu packen(wenn ich das richtig gemacht habe). Und das mit dem code Problem das was rot gekennzeichnet wird ist nach dem p die klammer wird von Eclipse gekennzeichnet.

0
Bojack28  15.04.2020, 13:16
@ALpha220066

Da fehlt eine klammer, mach anstelle der einen Klammer ")" zwei draus: "))"

2
Niklas  15.04.2020, 13:34
@ALpha220066

Ups, stimmt, in den if-Abfragen haben sie gefehlt. Danke dir!

1
ALpha220066 
Fragesteller
 15.04.2020, 13:50
@Niklas

Mal so eine frage am Rande Wie binde ich die ArrayList mit in einer anderen Klasse ein?

0
ALpha220066 
Fragesteller
 15.04.2020, 13:52
@ALpha220066

ich glaube ich habs, habs mit public ArrayList<Player> players; gemacht

0

Bist du auf eine ArrayList festgelegt?

ALpha220066 
Fragesteller
 15.04.2020, 11:36

ich habe bisher nur eine Arraylist erstellt mit ArrayList<UUID> bauspieler= new ArrayList<UUID>();

0
ALpha220066 
Fragesteller
 15.04.2020, 11:53

und info, falls man die braucht, ich wollte die drei befehle in drei unterschiedlichen klassen machen

0