Я работаю над окончательным ООП-проектом, который представляет собой текстовую игру на выживание. В настоящее время я пытаюсь закончить это, предлагая игроку ввести количество врагов, с которыми он хотел бы сразиться, а затем он проходит через него, пока не будет достигнута сумма. Какой маршрут будет лучшим? Я хочу, чтобы врагов можно было выбирать дважды, но мой партнер хочет перетасовать массив, потому что меньше работы.
В основном я зацикливаюсь на том, где и какой цикл мне следует делать. 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
Лучший способ создать и разместить петлю для вражеских волн в игре. ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1728675433
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] = 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[i]));
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();
}
Подробнее здесь: [url]https://stackoverflow.com/questions/65173681/best-way-to-make-and-place-a-loop-for-enemy-waves-in-a-game[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия