Не срабатывает счетчик score. Т.е. золото собираю (тип золота и номинал случайно выпадают), а игра это не отслеживает. Есть вероятность что на уровне баг - поэтому оставляю ссылку на уровень (исходный код открыт).
https://codecombat.com/play/level/accounts-department?
// Подсчитывай ценность собранных предметов и веди счёт игры.
// Расставь персонажи.
var hero = game.spawnHeroXY("captain", 40, 34);
hero.maxSpeed = 20;
var generator1 = game.spawnXY("generator", 4, 34);
var generator2 = game.spawnXY("generator", 76, 34);
generator1.spawnDelay = 7;
generator2.spawnDelay = 7;
// Сундуки самоцветов - наиболее ценные предметы.
game.spawnXY("chest", 68, 56);
game.spawnXY("chest", 14, 14);
// Эта функция порождает случайный предмет в случайном месте.
function spawnRandomItem() {
var itemNumber = game.randomInteger(1, 3);
var x = game.randomInteger(12, 68);
var y = game.randomInteger(12, 56);
if (itemNumber == 1) {
game.spawnXY("bronze-coin", x, y);
}
else if (itemNumber == 2) {
game.spawnXY("gold-coin", x, y);
}
else if (itemNumber == 3) {
game.spawnXY("gem", x, y);
}
}
var itemInterval = 1;
var itemSpawnTime = 0;
function checkSpawnTimer() {
if (game.time >= itemSpawnTime) {
spawnRandomItem();
itemSpawnTime += itemInterval;
}
}
game.score = 0;
// Событие "collect" срабатывает при сборе чего-либо.
function onCollect(event) {
// `event.target` содержит сборщика.
var collector = event.target;
// `event.other` содержит собранный предмет.
var item = event.other;
if (item.value) {
// Увеличивай счёт игры на ценность предмета:
game.score += item.value;
}
}
// Назначь обработчик `onCollect` для "hero" и события "collect".
game.setActionFor("hero", "collectn", onCollect);
// Настрой цели и интерфейс.
var endTime = 30;
// Необходимый для выигрыша счёт.
var requiredScore = 250;
var goldGoal = game.addManualGoal('Собери не менее 250 золота за 30 секунд.');
ui.track(game, "score");
ui.track(game, "time");
function checkGoals() {
if (game.time >= endTime) {
// Если счёт игры равен или больше `requiredScore`.
if (game.score >= requiredScore)
// Установи свойство успешности `goldGoal` true
goldGoal = true;
// Иначе `goldGoal` не достигнуто:
goldGoal = false;
}
}
while(true) {
checkSpawnTimer();
checkGoals();
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
ECMAScript определяет 2 типа работ как обязательные: Promise Jobs и Script JobsСитуация с Promise Jobs понятна: создал себе Promise или асинхронную функцию - и все,...
Я не знаю как правильно сказать, но как сделать свойство, которое было бы не видно внешне, но было бы видно методам установленных через прототип?...