【js-task4】杀人和投票的业务逻辑上有什么区别?
1.背景介绍
不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑。
2.知识剖析
1)让你实现一个功能,给你两个数,让你获取它的和,你所写的如何才能获得任意给定的两个数的和,这个程序实现过程称为业务逻辑处理。
2)就像家里规矩–“吃饭前必须洗手”“有客人来要起立”-就是业务逻辑的生活化实例。
3.常见问题
那么我们今天的主题——杀人和投票的业务逻辑上有什么区别?
4.解决方案。
实际上就是如何设置彼此的权限,以及定义游戏结束。刚才讲过,程序实现过程称为业务逻辑处理。
程序实现的过程——
1)获取上个页面设置的玩家数量,和玩家身份
2)如何定义死亡
具体场景具体定义,比如用户眼中:头像变暗了(画个叉叉,写个死亡之类),不可点击和其他操作。程序上:要清除他的身份和号码。
3)杀手怎么杀人?
杀手杀人要满足当杀手人数过多时,被杀对象不是杀手,以及活着进入到杀人环节
4)投票要怎么投死人?
投票也要满足少数服从多数的原则,要考虑到当票数相等时会出现什么情况? 1,是要进入下一个环节。
2,或者是两个被投票者双双出局。
3,还是不许出现这种情况, 必须要决定投一个人,否则判定杀手胜利。
——这些都是要在写程序之前说清楚,然后用程序实现的。
5)如何定义游戏结束。
因为写的是简易版的杀人游戏,所以这里就讨论简易版的相关规则。
1)平民胜利规则:平民只有一种胜利方式,当杀手一方全部被投死的时候。
2)杀手胜利规则:平民一方死光了,或者进入到下一轮的参与人数<=2时(因为此时为了活命,双方会互相投票,出现死循环,这种情况直接定义杀手胜利)
ppt链接:https://ptteng.github.io/PPT/PPT/JS-04-service-logic.html#/9 视频链接:
https://v.qq.com/x/page/z0387b201qt.html
评论