
基礎(chǔ)知識(shí)
本章節(jié)設(shè)計(jì) 主要涉及游戲機(jī)制 和一些傷害計(jì)算的邏輯
先認(rèn)識(shí)creep部件
*文檔:https://screeps-cn.github.io/creeps.htm
打架能用到的有:
請(qǐng)牢記一下部件和作用,能做到不用看就知道
機(jī)制1:工作機(jī)制:
默認(rèn)打架都用t3打架,要不你連塔都摸不到
因?yàn)閿橙舜蚰愕臅r(shí)候,你沒(méi)辦法預(yù)判對(duì)面打你哪個(gè)
所以如果你放前面,傷害被打掉了接下來(lái)就是真?zhèn)?br> 你要避免這種情況,只有將白球在第2tick被打的時(shí)候才能生效,所以不能放前面
機(jī)制2:同步操作:
這張圖:想說(shuō)明的是近戰(zhàn)和遠(yuǎn)程對(duì)于同一個(gè)creep只能使用一次
比如說(shuō) heal 和 attack不能同時(shí)使用,rangeHeal 不能和 rangeAttack同時(shí)用
所以針對(duì)以上前提有以下結(jié)論:
1.attack/work和 heal不能同時(shí)用,所以紅黃球身上最好不要有綠球
2.range 和 heal 同時(shí)可以用,但是,所以一半四人小隊(duì)會(huì)以藍(lán)綠形式出現(xiàn) ,但是傷害往往不夠,需要抱團(tuán)打人
3.claim 和 heal是沖突的,偷家的時(shí)候切記,之前吃過(guò)虧嗷,沒(méi)能禁止safemode??!
機(jī)制3:傷害計(jì)算
代碼執(zhí)行順序
當(dāng)兩個(gè)爬爬互相打架的時(shí)候,程序是有順序的,打多少傷害,奶多少,這個(gè)是確定的
現(xiàn)在有諾干個(gè)爬爬,在地圖上,同一tick究竟發(fā)生什么了?
從下面這張圖來(lái)說(shuō)明:結(jié)合代碼
首先看源碼:
也就是說(shuō):我們?cè)谟?jì)算傷害之前會(huì)對(duì)全局object進(jìn)行傷害統(tǒng)計(jì)
比如說(shuō),有4個(gè)爬RA藍(lán)色框框的,紅球,和2個(gè)紅球a那個(gè)紅球
那么紅球會(huì)先標(biāo)記 6個(gè)爬的傷害和
其次是 綠球和塔進(jìn)行奶,標(biāo)記2個(gè)奶上去的和
最后進(jìn)行加減計(jì)算,根據(jù)源碼所示,直到數(shù)值為負(fù)數(shù),進(jìn)行死亡操作





