今天完成的事
1,杀手页面完成操作后跳转法官台面页;(投票页面逻辑与杀手页面差不多)
今天对昨天的代码做部分补充:
html:
对玩家操作过后,将过程信息展现到法官台本页面:

玩家状态判定为死亡后,背景颜色对应改变

部分添加修改让其更符合逻辑的代码
$(".footer-next").click(function() {
// state = sessionStorage.getItem("state");
roleRecord[data] = {};
//黑夜杀手杀人
if (fsm_2.state == 0) {
for (let k=0; k<allRole; k++) {
//3,确定后判断玩家状态
if (roleList_s[k]["life"] == 0) {
//4,比较记录玩家状态数组中的身份,是否死亡
if (roleCompara[k]["role"] == "杀手") {
// $(this).children(".role-killed").hide();
alert("你是杀手不能杀死本职业玩家,请选择其他玩家");
return;
}else if (roleCompara[k]["life"] == 0) {
alert("当前玩家已死亡,请选择其他玩家。");
return;
}else {
roleCompara[k]["life"] = roleList_s[k]["life"];
setJson(roleCompara, roleStr, strArr[0]);
//5,将相应的死亡玩家存入相应天数的状态记录数组
roleRecord[data]["days"] = data + 1;
roleRecord[data]["night"] = k + 1;
setJson(roleRecord, newStr, strArr[1]);
fsm_2.night();
// sessionStorage.setItem("state", 1);
}
}
}
}
以上只要对玩家状态判断时不够准确,为其调整了部分结构,以及将游戏天数存入json并转化为session storage进行储存;
明天的计划
1,找到如何解决跳转到法官台本页面会刷新之前的操作重新渲染的情况;
遇到的问题
每次进入法官台本页面都会重新渲染,于是导致总是在第一天进行操作,虽然游戏过程的玩家信息传递无误;暂时想到的解决办法是通过一个游戏天数的存储数组,然后读取他,在根据数组信息重新渲染对应天数的操作情况,明天有待测试;
收获
将前面任务中学习到的dom操作,条件判断,对象数组定义和操作进行组合,让其按照合理的逻辑方式进行操作达到想要的结果,因此,在这个过程中增加了代码书写的熟练度,以及对js各种方法的综合应用
评论