c语言 回合制小游戏,一个回合制小游戏的设计笔记
發(fā)在這的目的:
1.做個(gè)記錄
2.與人交流討論
場(chǎng)景:二維方格組成的場(chǎng)景,一個(gè)格子里只能有一個(gè)單位,每個(gè)單位都會(huì)占據(jù)自己的格子。
行為:每個(gè)回合里,每個(gè)單位都有一定的行為點(diǎn)數(shù),單位的任何行為都需要消耗點(diǎn)數(shù),行為點(diǎn)數(shù)僅在當(dāng)前回合有效、不能累積。行為包括戰(zhàn)斗、移動(dòng)等。
玩家操作:每個(gè)回合開(kāi)始前(回合準(zhǔn)備階段),每個(gè)玩家向自己的單位發(fā)出一系列命令,這些命令將在回合執(zhí)行時(shí)生效。每個(gè)玩家都確認(rèn)命令發(fā)布完畢或超時(shí)候,開(kāi)始執(zhí)行這一回合。
回合執(zhí)行:執(zhí)行回合準(zhǔn)備階段里所收到的所有命令。在邏輯上,所有行為會(huì)同時(shí)執(zhí)行。
行為說(shuō)明:
1.移動(dòng)。每個(gè)單位每個(gè)回合內(nèi)只能移動(dòng)一格。回合執(zhí)行時(shí),所有單位的移動(dòng)都是同時(shí)發(fā)生的。
假設(shè)單位A在位置a,單位B在位置b,位置a與b相鄰。移動(dòng)規(guī)則:
若單位A保持不動(dòng),單位B向位置a移動(dòng),則單位B移動(dòng)失敗、留在原位。
若單位A和單位B都向位置c移動(dòng),且位置c原來(lái)為空,則單位A和單位B進(jìn)行競(jìng)爭(zhēng),勝者移動(dòng)到位置c,敗者留在原位,且該回合中無(wú)法再次進(jìn)行移動(dòng)。
若單位A向位置b移動(dòng),單位B向位置c移動(dòng)且移動(dòng)成功,則單位A的移動(dòng)也成功。但若單位B的移動(dòng)失敗,則由于B留在原位,所以單位A的移動(dòng)也會(huì)失敗。
若單位A向位置b移動(dòng),單位B向位置a移動(dòng),且沒(méi)有其他單位參與競(jìng)爭(zhēng),則單位A和單位B都移動(dòng)成功。
2.近距物理攻擊:
物理攻擊的時(shí)間單位是回合。一個(gè)單位只能攻擊自己相鄰格子里的單位。同一回合內(nèi),移動(dòng)和攻擊可以各執(zhí)行一次。攻擊命令有兩種方式指定目標(biāo):指定一個(gè)目標(biāo)單位,或者指定一個(gè)目標(biāo)格子(相對(duì)坐標(biāo))。
指定目標(biāo)單位:當(dāng)前回合內(nèi),當(dāng)移動(dòng)全部結(jié)束后,如果目標(biāo)仍然還在自己的攻擊范圍內(nèi),則對(duì)其實(shí)施攻擊,否則不攻擊任何目標(biāo)。
指定目標(biāo)格子:指定一個(gè)相對(duì)于單位自身的格子,如單位左邊的格子,當(dāng)移動(dòng)全部結(jié)束后,如果左邊的格子里還有單位(不論敵我),則對(duì)其實(shí)施攻擊,否則不攻擊任何目標(biāo)。
把自己與目標(biāo)接近的速度稱(chēng)為相對(duì)速度:若兩者在接近,則相對(duì)速度為正數(shù);若相對(duì)位置不變,則相對(duì)速度為0;若相對(duì)位置在遠(yuǎn)離,則相對(duì)速度為負(fù)數(shù)。
攻擊傷害與相對(duì)速度成正比;命中率則與相對(duì)速度的絕對(duì)值成反比。
3.遠(yuǎn)距離物理攻擊:
與近距離物理攻擊類(lèi)似,不同點(diǎn)為:
攻擊范圍不是一格范圍,而是多格范圍,但范圍不能覆蓋整個(gè)場(chǎng)景。
遠(yuǎn)距離物理攻擊在進(jìn)行命中判定時(shí),首先判定是否成功實(shí)施了發(fā)射,如果不成功則沒(méi)有任何影響,如果成功,再判定攻擊打中了哪個(gè)格子,擊中位置以目標(biāo)格子為圓心向外散布,目標(biāo)格子被擊中的概率最高,相鄰的格子其次……距離目標(biāo)格子的距離與其被擊中的概率成正相關(guān)。擊中范圍是有限的,其直徑與自己與目標(biāo)的距離成正比。擊中范圍內(nèi)最多只有一個(gè)格子會(huì)被本次攻擊所擊中。一次攻擊最多只能擊中一個(gè)格子。
命中的準(zhǔn)確性仍然像近距離物理攻擊那樣,受到相對(duì)速度的影響。
擊中判定也是在所有移動(dòng)結(jié)束后進(jìn)行的。
4.魔法:
待定。
攻擊判定:
某個(gè)回合里,單位A和單位B互相攻擊,則此次攻擊產(chǎn)生的傷血全部使用該回合開(kāi)始時(shí)雙方的屬性,本次攻擊導(dǎo)致的屬性變化要在下一回合才會(huì)生效。所以可能出現(xiàn)攻擊雙方同歸于盡的情況。
場(chǎng)景類(lèi)別:
一種是有限場(chǎng)景,即場(chǎng)景四周是有邊界的;另一種是無(wú)限場(chǎng)景,當(dāng)一個(gè)單位在邊界向邊界外走時(shí),會(huì)移動(dòng)到對(duì)面邊界,比如在左邊沿向左移動(dòng)時(shí),會(huì)出現(xiàn)在右邊沿的同一行的位置(如果移動(dòng)判定通過(guò)的話(huà))。
勝負(fù)判定:
第一種:對(duì)方單位全部陣亡則為贏;
第二種:占領(lǐng)對(duì)方陣地則為贏;
第三種:開(kāi)始時(shí)一方包圍另一方,被包圍者突圍則被包圍者贏,被包圍者全部陣亡則圍攻者贏。
玩家數(shù)量:場(chǎng)景中至少有兩個(gè)玩家,但也可以有多個(gè)玩家。
總結(jié)
以上是生活随笔為你收集整理的c语言 回合制小游戏,一个回合制小游戏的设计笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java图片的导出,并压缩
- 下一篇: ReactiveCocoa入门