danik.js,
Уже полностью разобрался в коде, также разобрался с конструкторами и прототипами, но вот смущает 3 строка в этом коде:
Bug.prototype.moveTo = function(direction) {
this.direction = direction;
var angle = {top: 0, left: 270, right: 90, bottom: 180}[direction];
var diff = angle - (this.rotation % 360);
//console.log(this.rotation, diff, (diff - 360));
if (diff > 180 )
diff = diff - 360;
else if (diff < -180 )
diff = diff + 360;
this.rotation += diff;
if (diff == 0) {
// продвигаемся
this.advance();
}
this.update();
};
Не могу понять что здесь происходит - вернее что происходит ясно если к примеру direction == 'left' то angle будет 270 и т.д, но вот не пойму что это за запись, вроде про объекты читал, и про массивы тоже, но это мне напоминает смесь бульдога с носорогом. Проясните пожалуйста куда копать, не обязательно в подробностях. Видимо я что то пропустил.