发表于: 2017-06-26 23:50:37

1 964


一、今天完成的事:

1.完成任务4流程,将之前遗留问题解决,实现正常插入死亡玩家信息的功能

2.完成结果页输出,将所有玩家死亡信息输入到正常天数中,并显示正常结果

3.优化流程界面,添加按顺序点击流程的判断;

二、明天的计划:

1.优化任务4,添加代码注释,打包成app

三、遇到的问题:

1.之前无法实现流程页面点击隐藏功能,师兄提点后,发现可以用this指向来实现,但是还是无法将之前天数默认隐藏,查看资料后发现可以将之前的先添加hide()函数;

2.结果页输出的时候,发现输出结果有报错,查看后是需要判断死亡玩家的个数,奇数的时候只有晚上有死亡玩家,不能输出白天的信息;

3.之前一直无法实现根据天数动态添加死亡玩家信息,研究后发现,需要将循环中的i除以2来寻找死亡玩家数组;

四、收获:

1、通过this指向来实现给每天添加隐藏流程的功能,但是需要将之前天的节点获取出来,先添加hide(),这样打开第二天的时候,第一天就会默认隐藏;

var d = $(".days");
var m = $(".content");
for (var e = 0; e < day; e++) {
$(m[e-1]).hide();  //跳转到下一天的时候,将之前天数的流程默认隐藏
   d[e].index = e;
   d[e].onclick = function () {
$(m[this.index]).toggle();
   }
}

2.动态插入玩家死亡信息界面,困扰了两天,今天将循环数和死亡玩家数组列出来对应关系后发现,将i除以2即可对应到死亡玩家数组中的信息;

for (var i = 0; i < n.length; i++) {
if (i%2 == 0 ) {
$(content[i/2]).children("#a1").after("<p class='die-color'>" + n[i] + "号被杀死 ," + n[i] + "号是水民" + "</p>");
   }else if (i%2 == 1) {
$(content[(i-1)/2]).children("#a4").after("<p class='die-color'>" + n[i] + "号被投死 ," + n[i] + "号是" + allPlayers[n[i]-1].id  + "</p>");
   }
}

3、优化流程页面,添加按照顺序点击的功能,根据之前按钮的颜色来判断玩家是否按照流程点击了;

function oneClick1() {
var b = $(content[content.length-1]).children(".content3").css("background-color");
   if (b == "rgb(153, 153, 153)") {
alert("请按照顺序点击!")
} else {

4、结果页输出的时候,需要在杀人页面和投票页面同时判断是否游戏结束,并且需要根据死亡玩家的个数,来生成不能的结果,因为如果死亡玩家是单数的时候,没有白天杀人的信息,需要在最后一步判断;

var m = Math.round(n.length/2);
for (var day = 0; day < m; day++) {
if (day == parseInt(n.length/2) && (n.length%2 == 1)) {
$(".content").append(
"<div class='day'>" +
"<h3>" + "第" + (day+1) + "天" + "</h3>" +
"<p class='time1'>" + "晚上:" + n[day*2] + "号被杀手杀死,"+ n[day*2] + "号是水民" + "</p>" + "<br>" + "</div>");
   }else {
$(".content").append(
"<div class='day'>" +
"<h3>" + "第" + (day+1) + "天" + "</h3>" +
"<p class='time1'>" + "晚上:" + n[day*2] + "号被杀手杀死,"+ n[day*2] + "号是水民" + "</p>" +
"<p class='time1'>" + "白天:" + n[day*2+1] +"号被全民投票投死,"+ n[day*2+1] + "号是" + allPlayers[n[day*2+1]-1].id + "</p>" + "<br>" + "</div>");
   }
}



返回列表 返回列表
评论

    分享到