ребята, помогите пожалуйста обзором кода
начал писать игру про танки, но уже сейчас чувствую, что нахреновертил. скрипт довольно большой, поэтому залил его на
codepen
тут слабых мест очень много, поэтому меня прежде всего интересует насколько правильно я реализовал объект Tank. привожу его здесь полностью:
Tank = function(id){
var self = this,
DIRECTION = ['up', 'right', 'bottom', 'left'];
this.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);
}
this.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
}
}
this.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
}
}
this.checkChangeDirection = function(){
if(helper.randomIntFromZero(100) > 75){
self.direction = DIRECTION[helper.randomIntFromZero(4)];
}
}
this.Offset = function(){
$('#' + self.id).css({
left: self.x_coord + 'px',
top: self.y_coord + 'px'
}).html(self.arrow);
}
this.Move = function(){
self.checkChangeDirection();
self.checkBorderCollision();
self.checkArrowDirection();
self.Offset();
};
this.x_coord = helper.randomIntFromZero(481);
this.y_coord = helper.randomIntFromZero(481);
this.id = id;
this.arrow;
this.direction;
this.Create();
}
но буду рад и критике по остальному коду