Итак, я создаю текстовую RPG и имею объект, содержащий функции для атак игрока. Я хочу разрешить игроку вводить индекс функции для ее вызова. Я попытался использовать цикл for для этого, но насколько я знаю, вы не можете вызвать функцию, используя переменную. Есть идеи? Вот код, я застрял на - я выложу полный код ниже:Получение индексов от объекта
function playHit(skill)
{
moveIndex = prompt("Your turn! Enter the number of the move you want to use.")
moveChosen = abilitiesObject[moveIndex]
for (move in moveList)
{
if (move === moveChosen)
{
moveList.move
}
}
}
Полный код:
abilities = ["0. Slash", " 1. Push"]
abilitiesObject = ["Slash", "Push"]
function getMoves()
{
document.getElementById("moves").innerHTML = abilities
}
var moveList = new Object()
moveList.Slash = function(damage)
{
if (damage < 5)
{
Poutcome = 0
}
else if (damage >= 5)
{
Poutcome = 1
}
Psmackdown = (Poutcome + att) - eDef
alert("You swing wildly! The monster takes " + Psmackdown + " points of damage.")
eHp = eHp - Psmackdown
}
moveList.Push = function(damage)
{
if (damage < 5)
{
Poutcome = -1
}
else if (damage > 9)
{
Poutcome = 2
alert("You shove the monster into a spike pit!")
}
else
{
Poutcome = 0
}
Psmackdown = (Poutcome + att) - eDef
alert("You shove the monster with all your might! The monster takes " + Psmackdown + " points of damage")
}
function playHit(skill)
{
moveIndex = prompt("Your turn! Enter the number of the move you want to use.")
moveChosen = abilitiesObject[moveIndex]
for (move in moveList)
{
if (move === moveChosen)
{
moveList.move
}
}
}
ли вы решить вашу проблему? Мое решение помогло вам? –