ребята, помогтие пожалуйста исправить конструктор для танков Tank, если это вообще возможно
песочница с полным неработающим скриптом здесь:
проблема появилась после того как я внёс изменения в этот конструктор:
Tank = function(id){
var self = this,
DIRECTION = ['up', 'right', 'bottom', 'left'];
this.x_coord = helper.randomIntFromZero(481);
this.y_coord = helper.randomIntFromZero(481);
this.id = id;
this.arrow;
this.direction;
}
Tank.prototype.Create = function(){
self.direction = DIRECTION[helper.randomIntFromZero(4)];
var tank = $('<div class="tank" id="' + self.id + '"></div>').css({
left: self.x_coord + 'px',
top: self.y_coord + 'px'
});
$('#board').append(tank);
}
Tank.prototype.checkArrowDirection = function(){
switch (self.direction) {
case 'up':
self.arrow = '▲';
break
case 'right':
self.arrow = '►';
break
case 'bottom':
self.arrow = '▼';
break
case 'left':
self.arrow = '◄';
break
default:
console.log('error arrow direction');
break
}
}
Tank.prototype.checkBorderCollision = function(){
switch (self.direction) {
case 'up':
self.y_coord -= 10;
if(self.y_coord <= 0) self.y_coord = 0;
break
case 'right':
self.x_coord += 10;
if(self.x_coord >= 480) self.x_coord = 480;
break
case 'bottom':
self.y_coord += 10;
if(self.y_coord >= 480) self.y_coord = 480;
break
case 'left':
self.x_coord -= 10;
if(self.x_coord <= 0) self.x_coord = 0;
break
default:
console.log('error direction definition');
break
}
}
Tank.prototype.checkChangeDirection = function(){
if(helper.randomIntFromZero(100) > 75){
self.direction = DIRECTION[helper.randomIntFromZero(4)];
}
}
Tank.prototype.Offset = function(){
$('#' + self.id).css({
left: self.x_coord + 'px',
top: self.y_coord + 'px'
}).html(self.arrow);
}
Tank.prototype.Move = function(){
this.checkChangeDirection();
this.checkBorderCollision();
this.checkArrowDirection();
this.Offset();
}
ps:
как этот скрипт в результате должен работать можно посмотреть здесь:
но здесь не используются прототипы и поэтому код неудобно читать
yeaaNj
...
codepen.io
ZQpzXQ
...
codepen.io