所以我有一個代碼,我正在爲遊戲工作。這裏遊戲並不重要,但是這裏是我的代碼中產生問題的部分。實質上,我希望函數能夠接受士兵類型的輸入,然後用每個資源的數量代替構建任何給定數量的士兵。我將函數的後半部分編寫並工作得很好,但它是我遇到的變量賦值問題。如果其他語句和賦值變量
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"){
依此類推。我想知道幾件事情:首先,有沒有更有效的方法來做到這一點?我希望能夠輸入「cost(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
我做錯了什麼?
謝謝!
這是什麼編程語言? (另外,那些'+'在你的代碼或Markdown的行部分開頭出錯了嗎?) – jwodder
troop = c(「phalanx」,「druidrider」,「pathfinder」)是做什麼的? –
它是在R我認爲部隊= c(「方陣」,「druidrider」,「探路者」)將擺脫這個錯誤,因爲它會說「方陣未定義」+符號剛剛開始的代碼當我複製並粘貼 – user3084629