Antwort mit KI erzeugt
Um die Aufgabe zu lösen, müssen wir zunächst zwei Klassen erstellen: eine
Inventory
-Klasse und ein
Items
-Enum. Hier ist eine mögliche Implementierung in Java:
Items Enum
java
// Items.java
public enum Items {
SWORD,
SHIELD,
POTION,
ARMOR,
HELMET,
BOOTS,
GLOVES,
RING,
AMULET,
SCROLL
}
Dieses Enum repräsentiert verschiedene Gegenstände, die in das Inventar aufgenommen werden können.
Inventory Klasse
java
// Inventory.java
import java.util.Random;
public class Inventory {
private Items[] inventory;
private Random random;
public Inventory() {
this.inventory = new Items[10]; // Inventar mit 10 Plätzen
this.random = new Random();
}
// Methode um ein zufälliges Item hinzuzufügen
public void take() {
int position = -1;
// Finde die erste freie Position im Inventar
for (int i = 0; i < inventory.length; i++) {
if (inventory[i] == null) {
position = i;
break;
}
}
if (position != -1) {
Items item = Items.values()[random.nextInt(Items.values().length)];
inventory[position] = item;
System.out.println("Added: " + item + " at position " + position);
} else {
System.out.println("Inventory is full!");
}
}
// Methode um ein Item von einer bestimmten Position zu entfernen
public void give(int position) {
if (position >= 0 && position < inventory.length && inventory[position] != null) {
System.out.println("Removed: " + inventory[position] + " from position " + position);
inventory[position] = null;
} else {
System.out.println("No item at position " + position);
}
}
// Methode um das aktuelle Inventar auszugeben
public void printInventory() {
System.out.println("Current Inventory:");
for (int i = 0; i < inventory.length; i++) {
System.out.println("Position " + i + ": " + (inventory[i] != null ? inventory[i] : "empty"));
}
}
public static void main(String[] args) {
Inventory inv = new Inventory();
// Füge 10 Items hinzu
for (int i = 0; i < 10; i++) {
inv.take();
}
// Inventar ausgeben
inv.printInventory();
// Entferne Items an den Positionen 2, 4 und 7
inv.give(2);
inv.give(4);
inv.give(7);
// Inventar erneut ausgeben
inv.printInventory();
}
}
Erklärung der Implementierung:
1.
Items Enum:
- Definiert verschiedene Gegenstände, die in das Inventar aufgenommen werden können.
2.
Inventory Klasse:
- Das Inventar wird als Array mit 10 Plätzen (
Items[] inventory
) implementiert.
- Der
Random
-Generator wird verwendet, um zufällige Items auszuwählen.
- Die Methode
take()
fügt ein zufälliges Item in die erste freie Position im Array ein.
- Die Methode
give(int position)
entfernt ein Item von der angegebenen Position im Array.
- Die Methode
printInventory()
gibt das aktuelle Inventar auf der Konsole aus.
- In der
main
-Methode fügen wir 10 Items dem Inventar hinzu, geben das Inventar aus, entfernen Items an den Positionen 2, 4 und 7 und geben das Inventar erneut aus.
Durch diese Struktur greift die
Inventory
-Klasse auf das
Items
-Enum zu, indem sie die
values()
-Methode des Enums verwendet, um alle Enum-Werte zu erhalten und ein zufälliges Item auszuwählen.