最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

觸發(fā)結(jié)構(gòu)——5.4應(yīng)用:在任務(wù)里寫一個計數(shù)器

2022-02-28 20:29 作者:葉墨冷泉  | 我要投稿

由于局部變量只有0和1兩個取值,所以計數(shù)器只能夠用二進(jìn)制來表示,即N個局部變量能夠表示的數(shù)的范圍為0~(2^N)-1。為了舉例,我們使用A、B、C、D、E五個局部變量來表示這個數(shù)ABCDE,其中A為最低位,E為最高位,計數(shù)范圍是0~31。

?

作為一個計數(shù)器,我們需要能對其進(jìn)行+1操作,這需要一系列的觸發(fā)來實(shí)現(xiàn)。我們需要如下幾個觸發(fā):

判斷某一個局部變量狀態(tài)的觸發(fā),首先是A,觸發(fā)A0:條件為任何條件,結(jié)果為允許觸發(fā)A1和A2,并禁止自身。觸發(fā)A1:條件為A為0,結(jié)果為A為1,并禁止觸發(fā)A1和A2。觸發(fā)A2:條件為A為1,結(jié)果為A為0,且允許觸發(fā)B0,并禁止觸發(fā)A1和A2。

然后是B,觸發(fā)B0:條件為任何條件,結(jié)果為允許觸發(fā)B1和B2,并禁止自身。觸發(fā)B1:條件為B為0,結(jié)果為B為1,并禁止觸發(fā)B1和B2。觸發(fā)B2:條件為B為1,結(jié)果為B為0,且允許觸發(fā)C0,并禁止觸發(fā)B1和B2。

讓我們來看一下這些觸發(fā)的意義。觸發(fā)A0和B0為局部變量A和B進(jìn)行+1操作的啟動觸發(fā),允許觸發(fā)A0或者B0即代表對A或B進(jìn)行+1操作。觸發(fā)A1、A2通過觸發(fā)A0啟動,它們具體判斷局部變量A當(dāng)前的取值,并執(zhí)行+1(A1)或進(jìn)位(A2)的操作。觸發(fā)B1、B2與A1、A2的作用相似,這里不再贅述。

這樣,每個局部變量對應(yīng)0,1,2三個觸發(fā),將每個局部變量的觸發(fā)以相似的結(jié)構(gòu)鏈接起來之后,就能實(shí)現(xiàn)從A到E的每一位的進(jìn)位判斷。這里需要注意,當(dāng)A到E的值均為1時,再次允許觸發(fā)A0,會順次執(zhí)行觸發(fā)A2,B2…直到E2。這種情況相當(dāng)于對二進(jìn)制數(shù)11111進(jìn)行+1操作,結(jié)果為32(100000),已經(jīng)超出計數(shù)器能夠記錄的最大值。作者在考慮這種情況時,應(yīng)該增加局部變量的個數(shù),或在觸發(fā)E2中允許實(shí)現(xiàn)計數(shù)器溢出對應(yīng)效果的觸發(fā)。

最后是判斷計數(shù)器需要進(jìn)行+1的條件。當(dāng)計數(shù)器需要+1時,這種情況下對應(yīng)的觸發(fā)只需要直接允許觸發(fā)A0即可。在不考慮觸發(fā)執(zhí)行時間的情況下,應(yīng)該可以認(rèn)為計數(shù)器+1是瞬間完成的。另外說明一下,計數(shù)器相關(guān)的觸發(fā)均需要設(shè)置重復(fù)觸發(fā),重復(fù)觸發(fā)和上述觸發(fā)中所有禁止觸發(fā)的結(jié)果的目的均為使計數(shù)器的觸發(fā)能夠反復(fù)執(zhí)行,而不是僅執(zhí)行一次。

?

計數(shù)器的觸發(fā)在寫出來之后自動處于啟動狀態(tài)。如果需要永遠(yuǎn)禁止計數(shù)器,可以使用12號結(jié)果,選擇觸發(fā)A0,這會使所有通過允許A0使計數(shù)器+1的觸發(fā)結(jié)果無效化,A0在此之后將永遠(yuǎn)不會執(zhí)行,同時可以保留當(dāng)前所有局部變量的值。由于允許A0的觸發(fā)可能是難以判斷啟動時間的,而計數(shù)器+1可視為瞬間完成,所以僅僅禁止觸發(fā)A0不能夠?qū)崿F(xiàn)禁止計數(shù)器的效果。如果需要重新啟動計數(shù)器,可以事先將觸發(fā)A0復(fù)制數(shù)份,在摧毀觸發(fā)A0后使用其余復(fù)制觸發(fā)使計數(shù)器繼續(xù)+1。

?

在計數(shù)器運(yùn)行一段時間后,計數(shù)器應(yīng)該執(zhí)行了+1操作數(shù)次,這時,作者應(yīng)該需要輸出這個計數(shù)器的結(jié)果,按照結(jié)果進(jìn)行其它的觸發(fā)操作。計數(shù)器記錄的數(shù)值是這樣的:當(dāng)這些局部變量為1時,最低位(A)代表1,第二位(B)代表2…第五位(E)代表16,依此類推,直到最后一位,為0的局部變量不計數(shù)。作者可以按自己的想法自由使用這些數(shù)值,這里僅舉數(shù)例。

延長全局任務(wù)計時器:需要一個啟動觸發(fā),和與局部變量數(shù)量相等的實(shí)現(xiàn)效果的觸發(fā)。啟動觸發(fā)允許所有實(shí)現(xiàn)效果的觸發(fā),每個實(shí)現(xiàn)效果的觸發(fā)判斷一個局部變量是否為1,并按照局部變量代表的值增加全局任務(wù)計時器的值。

為玩家增加額外增援:需要的觸發(fā)同上,將增加全局任務(wù)計時器改為派遣對應(yīng)局部變量代表的值的援軍。

觸發(fā)特殊事件:在戰(zhàn)役中可以設(shè)置數(shù)個事件,當(dāng)玩家每完成一個后允許觸發(fā)A0使計數(shù)器+1,當(dāng)計數(shù)器超過某個值后觸發(fā)另外一個事件,例如任務(wù)進(jìn)入下一階段或直接勝利。這可以用于在多個不同目標(biāo)中讓玩家任選數(shù)個目標(biāo)完成。


觸發(fā)結(jié)構(gòu)——5.4應(yīng)用:在任務(wù)里寫一個計數(shù)器的評論 (共 條)

分享到微博請遵守國家法律
洪泽县| 从化市| 托克托县| 南召县| 灌阳县| 雷州市| 常德市| 白银市| 济阳县| 婺源县| 扎兰屯市| 临夏县| 玛曲县| 大竹县| 蒙阴县| 陆良县| 台州市| 灌南县| 卓资县| 错那县| 承德县| 武穴市| 迁西县| 咸宁市| 东阳市| 彭阳县| 林芝县| 公主岭市| 清河县| 东源县| 靖江市| 清镇市| 河源市| 株洲市| 乐都县| 陈巴尔虎旗| 青阳县| 肃北| 靖西县| 双流县| 元朗区|