Инструмент расходования баллов - Сложности
Я сделал этот небольшой инструмент, но я не уверен, как добиться того, что мне нужно.
Я хотел бы вычесть из "Осталось очков" при добавлении к другим.
(Не опускаясь ниже нуля в минус, только 30 баллов).Я также хотел бы предотвратить переход НИЖЕ начальных чисел в "Сила оружия" и "Магическая сила". (Я хотел бы иметь возможность потратить максимум 25 очков на одну "силу")
Я думаю, это как-то само собой объясняется, так что, может быть, я просто запутываю вас больше.
Есть идеи?
1 ответ
Вам нужно дать вашим элементам ввода номера отличные идентификаторы, потому что, когда вы делаете document.getElementById
, он вернет вам только первый элемент с указанными идентификаторами.
Затем вам нужно присвоить другой отдельный идентификатор в поле "точки слева" для каждого символа и обновить его. Для этого вам нужно пройти, чтобы добавить и вычесть правильное значение (add(warrior, 'weapon'), add(wizard, 'magic')
).
Вы должны быть в состоянии получить свои идентификаторы от вашего воина или объекта волшебника, чтобы вы могли попробовать сделать это:
var wizard = {
weapon:"idOfWeaponField", magic:"idOfMagicField", points:"idOfPointsField"
};
где строковые значения - это идентификаторы ваших элементов. Затем, в вашей функции добавления, вы можете получить доступ к своему идентификатору, как это
function add(character, statName){
var myID = character[statName];
}
и обновите правильное значение ввода.
РЕДАКТИРОВАТЬ: код здесь.
Я также хотел бы предотвратить переход НИЖЕ начальных чисел в "Сила оружия" и "Магическая сила". >(Я хотел бы иметь возможность потратить не более 25 баллов на одну "власть")
По сути, вы видели, что я сделал с оставшимися точками, когда я сказал if(pointsVal.value == 0) return;
? Вы должны быть в состоянии реализовать любые ограничения, которые вам нравятся, используя это. Я изменил мой, чтобы дать пример, где пределы находятся на своих начальных значениях.
Если вы хотите потратить определенное количество баллов на одну из степеней, вам придется вычесть ограничение из текущего числа и вернуться из add() без изменения значения, если число превышает пороговое значение. Это должно быть довольно легко с тем, что у вас есть сейчас, так как вам не нужно менять объект персонажа, чтобы сделать это.