У меня есть код, над которым я работаю для игры. Игра здесь неактуальна, но вот часть моего кода, которая создает проблему. В сущности, я хочу, чтобы функция вводила информацию о типе солдата, затем подставляла в сумме каждый ресурс, который потребуется для создания какой-либо заданной суммы этого солдата. У меня есть последняя часть функции, написанная и работающая нормально, но это назначение переменной, с которой у меня возникают проблемы.Если инструкции else и присвоение переменных
cost=function(troop,from,to){
troop=c("phalanx","druidrider","pathfinder")
if(troop=="phalanx"){
w=100
cl=130
i=55
cr=30
} else if(troop=="druidrider"){
w=360
cl=330
i=280
cr=120
} else if(troop=="pathfinder"){
И так далее. Мне интересно несколько вещей: во-первых, есть ли более эффективный способ сделать это? Я хочу, чтобы иметь возможность вводить «стоимость (phalanx, 30,50)», и он будет автоматически использовать значения, которые я пытался назначить фаланге для ресурсов w, cl, i, cr, и заменить их на остальные уравнение. Это дает мне ошибку, говоря, что
Warning message:
In if (troop == "phalanx") { :
the condition has length > 1 and only the first element will be used
Что я делаю неправильно?
Спасибо!
Какой язык программирования? (Кроме того, являются ли эти '+' s в начале строки частью кода или Markdown пошло не так?) – jwodder
Что делает troop = c ("phalanx", "druidrider", "pathfinder")? –
Это в Р. Я думал, что отряд = c («фаланга», «друидер», «следопыт») избавится от ошибки, потому что он скажет, что «фаланга не определена» Знаки «+» только в начале моего кода при копировании и вставке – user3084629