class Weapon {
constructor(name="палка", damage=1){
this.name = name;
this.damage = damage;
}
}
class Player {
constructor(name="безымянный", strong=1){
this.name = name;
this.strong = strong;
this.slots = {
hand: {},
head: {},
// и так далее. в идеале вообще сделать отдельным классом со своими методами
};
}
setItem(slot,item){
if(!this.slots[slot]) return console.log("не существует слота:", slot);
this.slots[slot] = item;
}
calcDamage(){
return this.slots.hand.damage*this.strong;
}
}
// создаем паоку с уроном 0.5
const stick = new Weapon("кривая палка", 0.5);
// создаем супер меч с уроном 2.4
const sword = new Weapon("супер меч", 2.4);
// создаем игрока Васю с силой 3
const player = new Player("Вася", 3);
// вкладываем Васе в руку палку и считаем урон с учетом силы Васи и характеристик палки
player.setItem("hand", stick);
var damage = player.calcDamage();
console.log("Вася может с помощью", stick.name, "нанести", damage, "едениц урона");
// выведет: Вася может с помощью кривая палка нанести 1.5 едениц урона
// вкладываем Васе в руку меч и считаем урон с учетом силы Васи и характеристик меча
player.setItem("hand", sword);
var damage = player.calcDamage();
console.log("Вася может с помощью", sword.name, "нанести", damage, "едениц урона");
// выведет: Вася может с помощью супер меч нанести 7.199999999999999 едениц урона
// Create global object class
let Obj = function ( name, power ) {
this.name = name;
this.power = power;
};
// Create character class
let Char = function ( name, power, weapon ) {
Obj.apply(this, arguments);
this.weapon = weapon;
this.x_power = power + weapon.power;
}
Char.prototype.setPower = function(power){
this.power = power;
this.x_power = power + this.weapon.power;
}
// Create weapon
let Club = new Obj("Дубина", 2 ); //
// Create character
//
let Player = new Char("Char", 1, Club);
console.log(Player.power); // Ожидаю получить 1 - Получаю!
console.log(Player.x_power); // Ожидаю получить 3 - Получаю!
Player.setPower(5); // Изменяю power
console.log(Player.power); // Ожидаю получить 5 - Получаю!
console.log(Player.x_power); // Ожидаю получить 7 (как power + weapon.power), но мои ожидания не оправдываются: Получаю 3.
заменил
на
И если вы понимаете хот чуть в js то вам будет очевидно, что данные действия не могли испортить плеер
далее я добавил в конец скрипта
и тут очевидно, что данный код никак не мог испортить плеер.
таким образом, если плеер где то глючит, то очевидно что это не моя вина.
Теперь можно поговорить предметно. В оригинальной версии плеера (той ссылку на которую вы кинули в своем вопросе) присутствует этаже проблема. если запустить музыку, затем нажать следующий или предыдущий трэк, то все работает пока мы не домотаем до трека "LA Chill Tour". При этом данная проблема наблюдается только с треком "LA Chill Tour", не знаю почему так происходит. Для решения этой проблемы предлагаю задать отдельный вопрос, может кто и сможет что подсказать.