Лучший способ создать и разместить петлю для вражеских волн в игре.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Лучший способ создать и разместить петлю для вражеских волн в игре.

Сообщение Anonymous »

Я работаю над окончательным ООП-проектом, который представляет собой текстовую игру на выживание. В настоящее время я пытаюсь закончить это, предлагая игроку ввести количество врагов, с которыми он хотел бы сразиться, а затем он проходит через него, пока не будет достигнута сумма. Какой маршрут будет лучшим? Я хочу, чтобы врагов можно было выбирать дважды, но мой партнер хочет перетасовать массив, потому что меньше работы.
В основном я зацикливаюсь на том, где и какой цикл мне следует делать. make и где мне его разместить.
Это код в основном классе.
Entity entity = new Entity();
ArrayList enemies = new ArrayList();
EnemyList enemyList = new EnemyList();

Entity troll = new Troll();
troll.setName("Troll");
enemyList.characters.add(troll);

Entity imp = new Imp();
imp.setName("Imp");
enemyList.characters.add(imp);

Entity knight = new Knight();
knight.setName("knight");
enemyList.characters.add(knight);

Entity skeleton = new Skeleton();
skeleton.setName("Skeleton");
enemyList.characters.add(skeleton);

Integer[] array = new Integer[enemyList.characters.size()];
for (int i = 0; i < array.length; i++) {
array = i;
}

Collections.shuffle(Arrays.asList(array));

for (int i = 0; i < enemyCount; i++) {

for (Entity someEnemy : enemyList.characters) {

System.out.println(enemyList.characters.get(array));

System.out.println(someEnemy.getName(entity) + "\n");
System.out.println("A " + someEnemy.getName(entity) + " Appears! It has " + someEnemy.getHealth() + "HP");

while (someEnemy.getHealth() > 0) {

int attack = character.getAttack();
System.out.println("You hit the " + someEnemy.getName(entity) + " for " + character.getAttack());
int monsterTotalHealth = someEnemy.setHealth(someEnemy.getHealth() - attack);
System.out.println(someEnemy.getName(entity) + " has " + monsterTotalHealth + "HP Left");
System.out.println("");

if (someEnemy.getHealth() > 0) {

System.out.println("The monster attacks back for " + someEnemy.getStrength());
int remainingHP = character.damageDelt(someEnemy.getStrength());
System.out.println("Your remaining health is " + remainingHP);
System.out.println("");
character.setHealth(character.getHealth());
}

if (character.isDead()) {

System.out.println("You have been defeated!");
System.exit(0);

} else if (someEnemy.getHealth() < 0) {
System.out.println("Fighting Next monster");

}

}
}

}


Класс сущности
public class Entity {

private String name;
private int health;
private int level;
private int vitality;
private int strength;
private int resistance;
private int dexterity;
private int endurance;
private int intelligence;
private int attack;

public String getName(Entity someenemy) {
return name;
}

public int getHealth() {
return health;
}

public int getLevel() {
return level;
}

public int getVitality() {
return vitality;
}

public int getStrength() {
return strength;
}

public int getResistance() {
return resistance;
}

public int getDexterity() {
return dexterity;
}

public int getEndurance() {
return endurance;
}

public int getIntelligence() {
return intelligence;
}

public int getAttack() { return attack; }

public void setName(String name) {
this.name = name;
}

public int setHealth(int health) {
this.health = health;
return health;
}

public void setLevel(int level) {
this.level = level;
}

public int setVitality(int vitality) {
this.vitality = vitality;
return vitality;
}

public void setStrength(int strength) {
this.strength = strength;
}

public void setResistance(int resistance) {
this.resistance = resistance;
}

public void setDexterity(int dexterity) {
this.dexterity = dexterity;
}

public void setEndurance(int endurance) {
this.endurance = endurance;
}

public void setIntelligence(int intelligence) {
this.intelligence = intelligence;
}

public void setAttack(int attack) {
this.attack = attack;
}

@Override
public String toString() {
return "This enemy is appearing: " + name +
", health is " + health +
", strength is " + strength;
}
}

Класс EnemyList
import java.util.ArrayList;
import java.util.List;

public class EnemyList {

List characters = new ArrayList();

public void print()
{
for (Entity entity : characters)
{
System.out.println(entity.toString());

}
}

}


Механический интерфейс

interface Mechanics {

boolean isDead();

int damageDelt (int damage);

//int levelup();

}



Подробнее здесь: https://stackoverflow.com/questions/651 ... -in-a-game
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»