发表于: 2017-06-22 02:03:24

1 870


今天主要做的还是任务4的部分

1. 玩家被杀死的两个方式,一个是投票杀死,一个是杀手杀死,体现在解密页面里

if (playerStatus[i].day == day) {
   if (playerStatus[i].status == "dead") {
       $(".container").append(
           playerStatus[i].num + "号玩家被杀死了,真实身份是" + playerStatus[i].identity
       );
       $(".date").append(playerStatus[i].day);
   }
   if (playerStatus[i].status == "voted") {
       $(".container").append(
           playerStatus[i].num + "号玩家被投票杀死了,真实身份是" + playerStatus[i].identity
       );
       $(".date").append(playerStatus[i].day);
   }
}

针对这个情况完善了两个if判断方式,被杀手杀死的就是dead,被投票杀死的就是voted,day天数加一

2. 最终比对死去玩家数量,平民玩家数量和杀手玩家数量判断胜负

var killer = 0;
var folk = 0;
var victim = 0;

定义初始值为0

for (var a=0; a<playerStatus.length; a++) {
   if (playerStatus[a].status == "dead" || playerStatus[a].status == "voted" ) {
       victim++;
   }
   if (status == "alive") {
       if (playerStatus[a].identity == "平民") {
           folk++;
       } else {
           killer++;
       }
   }
}

判断玩家身份计算这三类玩家数量并用sessionstorage存储

3. 用杀人页面同样的思路写了投票页面的js文件

var suspect;

定义被投票杀掉的人,因为直接调用sessionstorage的内容,不必额外添加属性

if (suspect != undefined) {
       cards[suspect].style.background = "#fbb435";
       playerStatus[suspect].status = "alive";
   }
   $(this).css("backgroundColor","#ff0000");
   suspect = this.index;
   playerStatus[this.index].status = "voted";
   console.log(playerStatus);
}

运用this.index确定投票杀掉的玩家编号

遇到的问题

1. 投票页面,已经死掉的人不能再投

// if (playerStatus[b].status == "dead" || (playerStatus[b].status == "voted") {
//     playerStatus[b].style.background = "#c0c0c0";
//     playerStatus[b].style.cursor = "not-allowed";
// }

或运算直接出了bug,完全用不了,明天仔细理一下这里的逻辑

2. console了一下存储,发现从投票页面跳转之后天数就错了,要重新改一下天数计算

明天计划继续任务4



返回列表 返回列表
评论

    分享到