发表于: 2019-03-16 22:56:18
1 727
今天完成的事情:
1、今天写完了一个js页面,仔细的研究了一下代码,整理了思路,需要学习的地方还有很多。
以下是今天写的js代码视图:
function init(){
var arrNode=[];
sessionStorage.days=state.day;
for (var k = 0; k <state.day; k++) {
arrNode.push(
'<div class="container">'
+'<p class="days">'+"第"+(k+1)+"天"+'</p>'
+'<ul>'
+'<li class="step1">'
+'<img class="img_1" src="images/js2-5_2.png">'
+'<div class="triangle triangle-1">'+'</div>'+"杀手杀人"
+'</li>'
+'<div class="Message">'+'</div>'
+'<li class="step2">'+'<div>'+'</div>'+"亡灵发表遗言"+'</li>'
+'<li class="step3">'
+'<img class="img_2" src="images/js2-5_1.png">'
+'<div class="triangle triangle-2">'+'</div>'+"玩家依次发言"
+'</li>'
+'<li class="step4">'+'<div>'+'</div>'+"全民投票"+'</li>'
+'<div class="Message">'+'</div>'
+'</ul>'
+'</div>')
var bug=arrNode.join("");
$(".main").html(bug);
此处代码主要是一些页面上变化的细节,其中包括第几天、杀手杀了谁、被杀玩家的发言和所有玩家轮流发言以及最后的所有玩家投票。
for ( i = 0; i < allDeads.length; i++) {
if (i%2==0) {
message="<p>"+"昨天"+(allDeads[i]+1)+"号死亡,被杀手杀死,他的身份是"+(players[allDeads[i]])+"</p>";
var show=state.day-1;
}else {
message="<p>"+"昨天"+(allDeads[i]+1)+"号死亡,被玩家投死,他的身份是"+(players[allDeads[i]])+"</p>";
}
$(".Message:eq("+i+")").append(message)
a=allDeads.length;
if(!(a%2)==0){
$(".step1:eq("+show+")").addClass("Rred")
$(".triangle-1:eq("+show+")").addClass("triangle2");
}
}
此处代码主要是为了实现玩家在被杀手杀死或者被其他玩家投票投死的时候可以准确地显示出玩家的号码。
明天计划的事情:
1、明天在写代码之前要好好地整理一下任务思路,在脑子里有一个大概的概括,不能再盲目的乱写了。
遇到的问题:
1、主要问题还是思路不太清晰,有的时候写完一块就不知道接下来要干嘛了,总是有一种心有余而力不足的感觉。
收获:
今天我们来探讨一下杀人和投票的业务逻辑上有什么区别?那么业务逻辑是什么呢?让你实现一个功能,给你两个数,让你获取它的和,你所写的如何才能获得任意给定的两个数的和,这个程序实现过程称为业务逻辑。就像家里规矩–“吃饭前必须洗手”“有客人来要起立”-就是业务逻辑的生活化实例。
那么杀人和投票的业务逻辑分别是什么呢?
杀人页投票逻辑:
一.玩家无操作时:1.打印出每个玩家的身份方框。2.标记出已经出局的玩家。
二.选择杀死玩家时:1。点击选中玩家的方框时,给出相应被选中提示。不可以选择已出局玩家。杀手不可以杀死同伙。3.更换选择玩家时,该玩家状态标记为被选中,其他玩家都为未选中。
三.确认杀死玩家时,对该玩家的对象属性更改。例如生命属性更改为killed,并记录死亡天数。
投票页的业务逻辑:
一.玩家无操作时:1.打印出每个玩家的身份方框。2.标记出已经出局的玩家。
二.选择投死玩家时:1。点击选中玩家的方框时,给出相应被选中提示。不可以选择已出局玩家。3.更换选择玩家时,该玩家状态标记为被选中,其他玩家都为未选中。
三.确认杀死玩家时,对该玩家的对象属性更改。例如生命属性更改为voted。记录该玩家死亡天数。
四.每次投票结束后,天数+1.
五.判断游戏是否结束。
那么,如果业务逻辑很复杂,怎么办,有没有一些技巧呢?
尽量写共用的方法,相似的逻辑,尽量用一个方法装起来。读取数据时,尽量一次读取出来。尽量共用同一个逻辑
评论