发表于: 2019-11-18 23:47:31

1 1128



今天完成的事情:

1.全部功能基本完成。流程界面的死亡讯息,杀人界面的人数判断,结果页面的讯息显示。

今天完成的事情:

1.优化一下结构,并打包成app。


今天完成的事情:

1.杀人界面判断剩余人数

//剩余人
var killNum = 0;
var voteNum = 0;
for (i = 0; i < deadPeople.length; i++) {
   if (deadPeople[i].role === "水民" && deadPeople[i].state === "alive") {
       killNum++;
   }
   if (deadPeople[i].role === "" && deadPeople[i].state === "alive") {
       voteNum++;
   }
}
sessionStorage.setItem("aliveCivilian",JSON.stringify(killNum));
sessionStorage.setItem("aliveKiller",JSON.stringify(voteNum));

if (voteNum === 0 || voteNum > killNum) {
   window.location.href = "../js-2-7/js-2-7.html";
} else {
   window.history.back();
}

写在了确认按钮里,一按下按钮会进行判断。设定变量killNum杀手杀人和voteNum投票投死。当数组中存在角色水民,且状态为存活时,变量+1.同理,当数组中存在角色杀手,且状态为存活,变量+1,将两个变量存储下来,用于结果页判断。

当杀手数量为0或者杀手人数大于水民人数时,游戏结束,跳转至结果界面。否则跳回流程界面。


2.杀人讯息和投票讯息文字。

//现杀人死亡文字
for (i = 0; i < count; i = i + 4) {
   killMessage.eq(i / 2).show().text(history1[i / 2].deadKill);
}

//投票死亡文字

for (i = 0; i < myDay; i++) {
   killMessage.eq(i * 2 + 1).show().text(history1[i * 2 + 1].voteKill);

这段用了2个for循环,对比变量是count和myDay。试了很久貌似做不到合并为一个for。

myDay是天数,初始为0.count是点击数,初始为0。


//添加灰色背景
for (i = 0; i < count; i++) {
   behavior.eq(i).addClass("over");
}
var killMessage = $(".kill-message");

给按钮添加背景色则需要每次点击后都出现。这三个的对比变量或者i的变化都设为了不同的for循环。


3.结果界面的文字。使用了模板字符串。接受来自杀人界面按钮的杀手和水民人数数据。用for循环显现主体。

$(".killerNum").text(killerAlive);
$(".peopleNum").text(civilianAlive);

function result() {
   return (
       "<div class='days'>" +
       "<div class='day'>" +
       "<div class='box-date'>" +
       "<p class='word-day1'>" + "" + i + 1 + "" + "</p>" +
       "</div>" +
       "<p class='word-day2'>" + "黑夜:" + thisHistory[i * 2].deadKill + "</p>" +
       "<p class='word-day2'>" + "白天:" + thisHistory[i * 2 + 1].voteKill + "</p>" +
       "</div>" +
       "</div>"
   )
}

for (var i = 0; i < myDay; i++) {
   var o = $(result());
   $("main").append(o);

}


""

目前就是这里没写好,字符和数字不会加在一起,另作修改。


返回列表 返回列表
评论

    分享到