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.
1. как ты переключаешь трэк чтобы он автопроигрывался?
2. как выглядит твое "ничего не происходит"?
Не задавал бы этих вопросов, но у меня все переключается и происходит, потому и спрашиваю.