今天完成的事
1,彻底修改完任务三中的顺序展示问题;
//显示角色信息
var h=0;
var clickTotal=0;
var order;
var identity;
var alls = all - 1;
//1,点击开始查看身份
$(".footer-check").click(function() {
var status;
//玩家身份的读取
order=roleList[h]["order"] + 1;
identity=roleList[h]["role"];
status= clickTotal % 2;
//判断是否展示完毕
if (h == alls) {
status=2;
}
//进入游戏环节的判断
if (clickTotal == 2*all - 1) {
status=3;
}
switch(status) {
//2,隐藏身份并传递给下一人
case 0:
$(this).val("隐藏并传递给" + order + "号");
$(".main-check").css("display","none");
$(".identity-true").css("display","block");
$("#identity-role").text(identity);
break;
//3,查看玩家身份
case 1:
$(this).val("查看" + order + "号");
$("#order").text(order);
$(".identity-true").css("display","none");
$(".main-check").css("display","inline-block");
h += 1;
break;
//4,身份全部展示完成
case 2:
$(this).val("法官查看");
$(".main-check").css("display","none");
$(".identity-true").css("display","block");
$("#identity-role").text(identity);
break;
//5,进入正式游戏环节
case 3:
window.location.href="page4.html";
break;
}
clickTotal += 1;
// console.log(clickTotal);
});
2,对玩家的投票和杀死逻辑获取焦点:
几种方法的使用:focusin + focusout + 属性tabindex + this +children + hide + show
3,任务四的伪代码初步设计:
(1)开始游戏->进入法官台本
(2)杀手杀人(黑夜)
点击玩家标记
聚焦事件 focusin tabindex="-1"
失焦focusout
if ( 身份=杀手 ) {
弹窗——>杀手不能杀死自己
} else {
标记状态为死亡
}
确定后状态判断为死亡
(3)跳转法官台本(白天)
显示第一天
显示死亡玩家
依序发言,不可跳序 【 一把钥匙(1/0 -> 是/否)】
否则 弹窗->请依序
(4)进入全民投票
同杀死标记相同状态
此时可投杀手
// 开始下一天需先判断杀手数是否为零,
0->游戏结束->平民胜
不等于0->继续游戏
然后判断平民? <=杀手
true ->杀手胜->结果页
false ->=继续游戏
//
(5)开始第二天,流程相仿
明天的计划
1,按照伪代码实现代码;
2,记录遇到的问题并反思;
遇到的问题
暂无
收获
对于非表单元素的的焦点事件方法使用,原本focus,blur,focusin,focusout,是表单元素特定方法,但有时候其他非表单元素想要使用焦点获取事件方法的话,还需要其他角度考虑:
https://blog.csdn.net/weixin_33912445/article/details/93271815
通过找到表单是如何获取焦点的,然后使用相应的方法实现,在这个让非表单元素可以使用表单元素的方法,通过设置tabindex=“-1”,即可,设置为负数时为了避免在有实际表单元素时造成干扰;
评论