Hallo, ich bin neu hier im Forum und auch was Java angeht. Ich habe eine kleine Klasse erstellt mit Unterklassen(Game -> SpaceShip(Spieler/Enemy)).
Ich möchte jetzt in der Klasse Game, alle existierenden Objekte der Klasse SpaceShip durchlaufen und gegebenenfalls dieses Objekt löschen.(Lebenspunkte <= 0)
Ich denke es ist relativ leicht zu lösen, leider weiß ich nicht wie. Hier mal mein Bisheriger Code:
Ich weiß nicht, ob das die eleganteste Lösung ist, wie ich das vorhabe.
Danke schonmal im Voraus. 🙂
Ich möchte jetzt in der Klasse Game, alle existierenden Objekte der Klasse SpaceShip durchlaufen und gegebenenfalls dieses Objekt löschen.(Lebenspunkte <= 0)
Ich denke es ist relativ leicht zu lösen, leider weiß ich nicht wie. Hier mal mein Bisheriger Code:
Java:
//Class Game.java
package game;
public class Game{
public static void main(String[] args) {
Player player = new Player();
Enemy enemy = new Enemy();
player.setName("Spieler");
player.setHp(1000);
enemy.setName("Gegner");
enemy.setHp(500);
player.showStats();
enemy.showStats();
while(true) {
deleteDeadPlayerAndEnemy();
}
}
static void deleteDeadPlayerAndEnemy() {
//Hier will ich alle Objekte überprüfen und anschließend ein Objekt löschen
//wenn die .getHp() Methode des bestimmten Objektes einen Wert von 0 oder kleiner zurückgibt
}
}
//Class SpaceShip.java
package game;
public class SpaceShip{
private int hp,x,y,speed,damage;
private String name;
public void showStats() {
System.out.println(this.name);
System.out.println("X: " + this.x);
System.out.println("Y: " + this.y);
System.out.println("Speed: " + this.speed);
System.out.println("Damage: " + this.damage);
System.out.println("-----------------------------");
}
public void setX(int x) {
this.x = x;
}
public int getX() {
return this.x;
}
public void setY(int y) {
this.y = y;
}
public int getY() {
return this.y;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public int getSpeed() {
return this.speed;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setHp(int hp) {
this.hp = hp;
}
public int getHp() {
return this.hp;
}
public void setDamage(int damage) {
this.damage = damage;
}
public int getDamage() {
return this.damage;
}
public void moveLeft() {
this.x = this.x - this.speed;
}
public void moveRight() {
this.x = this.x + this.speed;
}
public void moveUp() {
this.y = this.y + this.speed;
}
public void moveDown() {
this.y = this.y - this.speed;
}
public void fightEnemy(Enemy enemy) {
enemy.setHp(enemy.getHp() - this.damage);
System.out.println("Gegner wird Attackiert" + enemy.getHp());
}
public void fightPlayer(Player player) {
player.setHp(player.getHp() - this.damage);
System.out.println("Spieler wird Attackiert" + player.getHp());
}
}
//Class Player.java
package game;
class Player extends SpaceShip{
}
//Class Enemy.java
package game;
class Enemy extends SpaceShip{
}
Ich weiß nicht, ob das die eleganteste Lösung ist, wie ich das vorhabe.
Danke schonmal im Voraus. 🙂