【武漢分院第一百七十期】殺人和投票的業(yè)務(wù)邏輯上有什么區(qū)別?

1.背景介紹

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

讓你實(shí)現(xiàn)一個(gè)功能,給你兩個(gè)數(shù),讓你獲取它的和,你所寫的如何才能獲得任意給定的兩個(gè)數(shù)的和,這個(gè)程序?qū)崿F(xiàn)過程稱為業(yè)務(wù)邏輯。

就像家里規(guī)矩–“吃飯前必須洗手”“有客人來要起立”-就是業(yè)務(wù)邏輯的生活化實(shí)例。

2.知識(shí)剖析

殺人和投票的業(yè)務(wù)邏輯分別是什么?

殺人頁投票邏輯

一.玩家無操作時(shí):1.打印出每個(gè)玩家的身份方框。2.標(biāo)記出已經(jīng)出局的玩家。

二.選擇殺死玩家時(shí):1。點(diǎn)擊選中玩家的方框時(shí),給出相應(yīng)被選中提示。不可以選擇已出局玩家。殺手不可以殺死同伙。3.更換選擇玩家時(shí),該玩家狀態(tài)標(biāo)記為被選中,其他玩家都為未選中。

三.確認(rèn)殺死玩家時(shí),對(duì)該玩家的對(duì)象屬性更改。例如生命屬性更改為killed,并記錄死亡天數(shù)。

投票頁的業(yè)務(wù)邏輯

一.玩家無操作時(shí):1.打印出每個(gè)玩家的身份方框。2.標(biāo)記出已經(jīng)出局的玩家。

二.選擇投死玩家時(shí):1。點(diǎn)擊選中玩家的方框時(shí),給出相應(yīng)被選中提示。不可以選擇已出局玩家。3.更換選擇玩家時(shí),該玩家狀態(tài)標(biāo)記為被選中,其他玩家都為未選中。

三.確認(rèn)殺死玩家時(shí),對(duì)該玩家的對(duì)象屬性更改。例如生命屬性更改為voted。記錄該玩家死亡天數(shù)。

四.每次投票結(jié)束后,天數(shù)+1.

五.判斷游戲是否結(jié)束。

3.常見問題

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

4.解決方案

實(shí)際上就是如何設(shè)置彼此的權(quán)限,以及定義游戲結(jié)束。剛才講過,程序?qū)崿F(xiàn)過程稱為業(yè)務(wù)邏輯處理。

程序?qū)崿F(xiàn)的過程——

1.獲取上個(gè)頁面設(shè)置的玩家數(shù)量,和玩家身份

如何定義死亡

具體場(chǎng)景具體定義,比如用戶眼中:頭像變暗了(畫個(gè)叉叉,寫個(gè)死亡之類),不可點(diǎn)擊和其他操作。程序上:要清除他的身份和號(hào)碼。

殺手怎么殺人?

殺手殺人要滿足當(dāng)殺手人數(shù)過多時(shí),被殺對(duì)象不是殺手,以及活著進(jìn)入到殺人環(huán)節(jié)

投票要怎么投死人?

投票也要滿足少數(shù)服從多數(shù)的原則,要考慮到當(dāng)票數(shù)相等時(shí)會(huì)出現(xiàn)什么情況?

1,是要進(jìn)入下一個(gè)環(huán)節(jié)。

2,或者是兩個(gè)被投票者雙雙出局。

3,還是不許出現(xiàn)這種情況, 必須要決定投一個(gè)人,否則判定殺手勝利。

——這些都是要在寫程序之前說清楚,然后用程序?qū)崿F(xiàn)的。

如何定義游戲結(jié)束。

因?yàn)閷懙氖呛?jiǎn)易版的殺人游戲,所以這里就討論簡(jiǎn)易版的相關(guān)規(guī)則,

平民勝利規(guī)則:平民只有一種勝利方式,當(dāng)殺手一方全部被投死的時(shí)候。

殺手勝利規(guī)則:平民一方死光了,或者進(jìn)入到下一輪的參與人數(shù)<=2時(shí)(因?yàn)榇藭r(shí)為了活命,雙方會(huì)互相投票,出現(xiàn)死循環(huán),這種情況直接定義殺手勝利)

更多討論

1、任務(wù)中的狀態(tài)信息如何保存

最簡(jiǎn)單的方法是使用數(shù)組對(duì)象,用數(shù)組對(duì)象創(chuàng)建life,day,vote,kill等狀態(tài)信息。有同學(xué)使用的是二維數(shù)組,這種方法也可以,但比較麻煩。

2、業(yè)務(wù)邏輯如果很復(fù)雜,怎么辦,有沒有一些技巧

盡量寫共用的方法,相似的邏輯,盡量用一個(gè)方法裝起來。讀取數(shù)據(jù)時(shí),盡量一次讀取出來。盡量共用同一個(gè)邏輯

3、任務(wù)中存在的bug

設(shè)定好人數(shù)后,點(diǎn)擊查看頁后跳轉(zhuǎn)到法官頁。編號(hào)了超出設(shè)定的人數(shù)。因?yàn)橹灰c(diǎn)擊,函數(shù)就執(zhí)行一次。將函數(shù)內(nèi)的判斷跳轉(zhuǎn)到法官頁的邏輯放在函數(shù)內(nèi)的前面

ptteng.github.io/PPT/PPT/js-04-service%20logic%20differences%20betweenkill&vote.html#/


殺人和投票的業(yè)務(wù)邏輯上有什么區(qū)別?_騰訊視頻
最后編輯于
?著作權(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)容