我使用多種語(yǔ)言,并且在擴(kuò)展JS(而非jquery)方面的經(jīng)驗(yàn)。盡管這適用于我使用的許多工具,但我認(rèn)為這將是一個(gè)簡(jiǎn)單的程序,但讓我為數(shù)組/對(duì)象問(wèn)題感到困惑。而且我可能會(huì)從錯(cuò)誤的方向進(jìn)行攻擊。簡(jiǎn)而言之,這是一個(gè)簡(jiǎn)單的游戲(我正在學(xué)習(xí)JS中的對(duì)象和數(shù)組,并認(rèn)為這將是一個(gè)很好的挑戰(zhàn))。由15個(gè)小怪組成,每個(gè)小怪攻擊波數(shù)為10倍,每個(gè)波有多達(dá)5個(gè)不同的準(zhǔn)則來(lái)贏得該波。波浪結(jié)束后,它將移至下一個(gè)生物,然后重復(fù)。使用其他語(yǔ)言甚至PHP,您可以執(zhí)行類似于以下偽代碼的操作:aMob = record { id: integer, name: string hp: integer etc....}mob[15]: aMob 現(xiàn)在我有15個(gè)aMob的陣列因此您可以使用mobCnt = 0并獲取mob [mobCnt] .name我可以在JS中做到這一點(diǎn)。非常簡(jiǎn)單的數(shù)組,但這就是復(fù)雜的地方(對(duì)我而言)我觀看并閱讀了一些教程,并了解了對(duì)象。這似乎是正確的方法,但是我可以創(chuàng)建對(duì)象(樣板?),但是然后我無(wú)法創(chuàng)建多維數(shù)組,每個(gè)生物都將與10個(gè)波關(guān)聯(lián),并且這些波中的每一個(gè)都有5個(gè)要滿足的項(xiàng)。3D陣列?這低于sorta的作品。但是非常笨拙的編碼。而且,當(dāng)我單擊“攻擊”按鈕時(shí)出現(xiàn)了問(wèn)題,mobhp不會(huì)減少,因此我將該var設(shè)置為global。但是更改代碼后,它只會(huì)變得越來(lái)越大。因此,這必須是垃圾。這是我得到的唯一代碼,至少可以執(zhí)行某些操作,但是我覺得對(duì)象/數(shù)組方法會(huì)更好。function setBattleRoundNFO(currMobCnt, currWaveCnt ) { switch(currMobCnt) { case 0: mobName = "Rodents"; // mob = 100; switch(currWaveCnt){ case 0: weaponId = 1; armorId = 0; powerMoveId = 3; break; // weapon, armor and powermove skill case 1: weaponId = 4; armorId = 5; powerMoveId = 6; break; } break; case 1: mobName = "Wolf Pack"; mobHp *= 1.15; switch(currWaveCnt){ case 0: weaponId = 7; armorId = 8; powerMoveId = 9; break; // weapon, armor and powermove skill case 1: weaponId = 10; armorId = 11; powerMoveId = 12; break; } break; }}理想情況下,我想發(fā)生的事情是顯示(通過(guò)跟蹤變量)顯示mob[1].wave[1].hp,armor,weapon,level... etc..贏得這場(chǎng)戰(zhàn)斗之后,再移至下一波mob[1].wave[2].hp,armor,weapon,level .. etc..我在pascal,qb64和php上試過(guò)了,效果很好,但是我想要在JS中使用,而數(shù)組部分讓我很沮喪。
Game Dev JS將對(duì)象存儲(chǔ)到數(shù)組
白衣非少年
2021-05-03 14:10:24