Инструмент расходования баллов - Сложности

Я сделал этот небольшой инструмент, но я не уверен, как добиться того, что мне нужно.

  • Я хотел бы вычесть из "Осталось очков" при добавлении к другим.
    (Не опускаясь ниже нуля в минус, только 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() без изменения значения, если число превышает пороговое значение. Это должно быть довольно легко с тем, что у вас есть сейчас, так как вам не нужно менять объект персонажа, чтобы сделать это.

Другие вопросы по тегам