#javascript
#javascript
Вопрос:
Я пытался устроить небольшую игру с текстом. После запуска функции Code Game.start() я запаздывал, и ничего не происходило. Я думаю, что это цикл for. Пожалуйста, помогите мне, вот мой код:
class unit {
constructor(health, speed, x, y) {
this.health = health;
this.speed = speed;
this.x = x;
this.y = y;
}
moveTo(xval, yval) {
this.x = xval;
this.y = yval;
}
}
var player = new unit(100, 1, 10, 10);
var unit1 = new unit(50, 1, 1, 12);
var unit2 = new unit(50, 1, 2, 4);
var unit3 = new unit(50, 1, 3, 6);
var i = 0;
var units = 4;
var u = [player, unit1, unit2, unit3];
var k, l, t, r;
function draw(txt) { document.write(txt); };
var Game = {
width : 20, // Largeur
height : 20, // Hauteur
start : function() {
for(t = 0; t < this.height ; t ) {
for(k = 0; k < this.width ; k ) {
for(var x1 = 0; i < units; x1 ) {
if(u[k].x != k) {
draw('#');
} else {
draw('%');
}
}
}
}
}
}
Ответ №1:
Потому что в вашем третьем for
операторе в start
функции ваше условие выхода зависит от i
while вы обновляете x1
в каждом цикле, так что у вас есть бесконечный цикл.
Ответ №2:
Если вы тестируете IE и у вас есть пустая переменная ( var = ;
), это приведет к зависанию браузера, поэтому обязательно посмотрите на свои выходные данные JavaScript, особенно если вы используете серверный код для генерации значений.