殺人和投票的業(yè)務(wù)邏輯上有什么區(qū)別

大家好,我是IT修真院武漢第10期學(xué)員,一枚正直、純潔、善良的前端程序員。

今天給大家分享一下,修真院官網(wǎng)任務(wù)js-4,深度思考的知識(shí)點(diǎn)——?dú)⑷撕屯镀钡臉I(yè)務(wù)邏輯上有什么區(qū)別。

1.背景介紹

什么是業(yè)務(wù)邏輯?

? ?????????比如你開(kāi)發(fā)了一個(gè)收款系統(tǒng),一件商品賣10元錢。有人買了10個(gè)就是100元。這個(gè)很有邏輯。但是這時(shí)候客戶說(shuō)了:“不行,我們搞活動(dòng)買10個(gè)打8折,所以總價(jià)是80元”,這就是業(yè)務(wù)邏輯。 這種邏輯和程序員可以推斷的常理來(lái)說(shuō)的邏輯不同,比如,一個(gè)商品的價(jià)格保存以后,除非有人改動(dòng),下次讀取應(yīng)該保持一致,比如不能把一個(gè)價(jià)格除零。業(yè)務(wù)邏輯是由客戶的需求所決定的。另外經(jīng)常這種邏輯是容易改動(dòng)的。在程序里用專門的模塊或者層來(lái)處理業(yè)務(wù)邏輯,可以隔離這種變化對(duì)程序其它部分的影響。

2.知識(shí)剖析


殺人頁(yè)面

上圖就是殺人頁(yè)面,業(yè)務(wù)邏輯有如下幾個(gè):

首先是樣式渲染,因?yàn)榈诙爝M(jìn)入殺人頁(yè)面的話,有的玩家已經(jīng)死亡,我們需要用特殊的樣式或狀態(tài)標(biāo)記出來(lái)。

然后殺人時(shí)的標(biāo)記(上圖的紅框跟“刀”的圖片)

最后點(diǎn)擊“確定”按鈕時(shí)的邏輯:

點(diǎn)擊“確定”按鈕時(shí)的邏輯:

如果殺手沒(méi)有殺人,則彈出警告“請(qǐng)殺人”

如果被標(biāo)記的人是“殺手”,則彈出警告,“不能殺同類”

將要?dú)⒌耐婕覡顟B(tài)改為“死亡”

判斷游戲是否結(jié)束,如果貧民為0的話游戲勝利游戲結(jié)束,跳轉(zhuǎn)結(jié)果頁(yè)面,否則游戲繼續(xù)

跳轉(zhuǎn)到“法官日志”頁(yè)面

投票頁(yè)面

投票頁(yè)面的邏輯:

一開(kāi)始也是渲染死亡玩家的樣式

標(biāo)記想投死的人

然后點(diǎn)擊“確定”按鈕的邏輯

點(diǎn)擊“確定”按鈕的邏輯:

先判定是否沒(méi)有標(biāo)記被投玩家,如果是則彈出警告框“請(qǐng)投票”

然后將被投的玩家狀態(tài)改為“死亡”

判斷游戲是否勝利,如果平民的數(shù)量跟殺手?jǐn)?shù)量相等,則“殺手勝利”,跳轉(zhuǎn)結(jié)果頁(yè)面,如果殺手?jǐn)?shù)量為0,則“平民勝利”,跳轉(zhuǎn)結(jié)果頁(yè)面,否則游戲繼續(xù)

跳轉(zhuǎn)到“法官日志”頁(yè)面


3.常見(jiàn)問(wèn)題

這兩個(gè)頁(yè)面的區(qū)別主要在游戲結(jié)束的判定上,由于殺人不能殺自己人,所以在殺人頁(yè)面平民是不可能勝利;在投票頁(yè)面每個(gè)人都有可能死亡,所以“殺手”跟“平民”都是有可能勝利的。

4.解決方案

5.編碼實(shí)戰(zhàn)

6.擴(kuò)展思考

7.參考文獻(xiàn)

8.更多討論

詳情請(qǐng)看:

視頻鏈接

PPT鏈接

問(wèn):殺人頁(yè)面如何知道誰(shuí)“死亡”?

答:寫一個(gè)數(shù)組對(duì)象,每個(gè)身份牌都加一個(gè)屬性 state:“alive”,如果被殺了,就更改該玩家的state屬性為“dead”。

問(wèn):如何一開(kāi)始就知道死亡的玩家?

答:用for循環(huán),將每個(gè)state為“dead”玩家樣式更改一下就好了。

問(wèn):如何知道沒(méi)有玩家被殺或被投?

答:點(diǎn)擊身份牌的時(shí)候就這個(gè)玩家一個(gè)狀態(tài),如果全場(chǎng)都沒(méi)有這個(gè)狀態(tài)就說(shuō)明沒(méi)有進(jìn)行操作,就彈出警告框。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容