Я очень новичок в Javascript, и то, что я собираюсь спросить, возможно, очень рудиментарно, но я застрял в проекте, и мне нужна помощь.Создание объектов и их хранение в массиве
В принципе, я делаю небольшой проект Javascript, где я хочу, чтобы там были некоторые враги. В начале будет 0 врагов, а с течением времени может быть создано больше врагов. Я думал, что всякий раз, когда создается враг, я должен создать его как объект, а затем хранить его в массиве, содержащем всех активных противников в игре. Затем, позже, я мог удалить врагов из массива, которые нужно было удалить.
Это функция, которая создает свои вражеские объекты:
function enemy(name, strength, rarity, estTime, success, remTime, Id){
\t this.name = name;
\t this.strength = strength;
\t this.rarity = rarity;
\t this.estTime = estTime;
\t this.success = success;
\t this.remTime = remTime;
\t this.Id = Id;
}
Таким образом, я мог бы создать несколько врагов, как это:
var enemy1 = new enemy("Bob", 1, "Common", 100, 1, 30, 1)
var enemy2 = new enemy("Cow", 22, "Rare", 50, 10, 40, 2)
var enemy3 = new enemy("Pig", 333, "Epic", 25, 10, 50, 3)
Тогда я мог бы создать массив врагов, и кладу 3 врагов в этом массиве:
var enemies = [];
enemies = [enemy1, enemy2, enemy3];
Все хорошо и денди, когда я делаю это вручную, но проблема возникает, когда я хотите попытаться получить код для автоматического создания еще нескольких врагов. Скажите, что я хотел создать противника каждый раз, когда пользователь нажал кнопку. Имя врага получит какое-то имя, силу, редкость, а следующий Id в строке (в этом случае используются 1, 2 и 3, так что следующим будет 4). я думал, что я мог сделать это что-то вроде этого, но это не работает:
enemy[enemies.length + 1] = new enemy("Dog", 444, "Epic", 13, 100, 60, 4);
enemies.push(enemy + [enemies.length + 1]);
Я надеялся, что это будет создавать объект под названием «enemy4» с с именем, идентификатором и все, что я только что напечатал, а затем добавить этот объект в массив врагов.
Но это, очевидно, не работает. Я надеюсь, вы, ребята, понимаете проблему, и любая помощь очень ценится. Я понимаю, что я, вероятно, просто подхожу к этому все неправильно, и, вероятно, существует гораздо более простой способ сделать это.
Спасибо!
EDIT: Да, ответ был очень прост, получил его сейчас. Благодаря!
'противника [enemies.length + 1] = новый враг ("Собака", 444, "Эпос", 13, 100, 60, 4);' это означает, что у вас есть массив под названием враг ... который вы не – Michelangelo