//黑夜杀手杀人
var roleStr_s = sessionStorage.getItem("rolestr");
//存储玩家信息的第一个数组
var roleList_s = JSON.parse(roleStr_s);
//用于判断玩家状态是否死亡的玩家信息存储数组
var roleCompara = JSON.parse(roleStr_s);
//死亡玩家被标记放入该数组
var roleRecord = {};
var allRole=Object.keys(roleList_s).length;
for (var i=0; i<allRole; i++) {
var order= roleList_s[i]["order"];
var identity = roleList_s[i]["role"];
$(".main-roles").append(
`<div class="role-in" tabindex="-1">
<div class="role-ide"></div>
<div class="role-order"></div>
<img src="image/kill.png" class="role-killed">
</div>`);
$(".role-ide").eq(i).text(identity);
if (roleList_s[i]["life"] == 0) {
$(".role-ide").eq(i).css("background-color", "#83b09a");
}
$(".role-order").eq(i).text(order + "号");
}
var regexp2 = /\d/;
var num;
$(".role-killed").hide();
$(".role-in").focusin(function(){
// $(this).css("background-color","#83b09a");
$(this).children(".role-killed").show();
num = $(this).children(".role-order").text().match(regexp2);
console.log(num[0]);
if (roleCompara[num[0]-1]["life"] == 0) {
alert("当前玩家已死亡,请选择其他玩家。");
}else if (roleCompara[num[0]-1]["role"] == "杀手") {
$(this).children(".role-killed").hide();
alert("你是杀手不能杀死本职业玩家,请选择其他玩家");
}
roleList_s[num[0]-1]["life"] = 0;
console.log(roleList_s);
console.log(roleCompara);
});
$(".role-in").focusout(function(){
// $(this).css("background-color","#f5c97b");
$(this).children(".role-killed").hide();
num = $(this).children(".role-order").text().match(regexp2);
for (var j=0; j<allRole; j++){
if (j != num[0]-1){
roleList_s[j]["life"] = 1;
}
}
// roleList_s[num[0]-1]["life"] = 1;
console.log(roleList_s);
});
$(".footer-next").click(function() {
var data=0;
if (fsm_2.state == 0) {
fsm_2.night();
for (var k=0; k<allRole; k++) {
if (roleList_s[k]["life"] != roleCompara[k]["life"]) {
roleCompara[k]["life"] = roleList_s[k]["life"];
roleRecord[data] = {};
roleRecord[data]["night"] = k + 1;
var truth_1 = roleList_s[k]["role"];
$(".message-night").text("号被杀手杀死,真实身份是");
}
}
window.location.href = "page5.html";
}
if (fsm_2.state == 1) {
fsm_2.daytime();
for (var k=0; k<allRole; k++) {
if (roleList_s[k]["life"] != roleCompara[k]["life"]) {
roleCompara[k]["life"] = roleList_s[k]["life"];
roleRecord[data]["daytime"] = k + 1;
var truth_2 = roleList_s[k]["role"];
$(".message-night").text((k+1) + "号被投票投死了,真实身份是" + truth_2);
}
}
data +=1;
$(".start-process").hide();
$(".start-sign-box").hide();
$(".main-game").append(`
<div class="main-start">
<div class="start-day"></div>
<div class="start-sign-box">
<div class="start-sign"></div>
</div>
<div class="start-process">
<div class="process-box">
<div class="process-one process-triangle">
<img src="image/moon.png">
<div>杀手杀人</div>
</div>
<div class="mt20 message-night"></div>
<div class="process-two process-triangle">
<img src="image/sun.png">
<div>亡灵发表遗言</div >
</div>
<div class="process-three process-triangle">玩家依次发言</div>
<div class="process-four process-triangle">全民投票</div>
<div class="mt20 message-daytime"></div>
</div>
</div>
</div>`);
$(".start-day").text("第" + (data+1) + "天");
window.location.href = "page5.html";
}
})
1,按照设计清楚,以及逻辑正确的伪代码编写时,的确可以大大减少代码的错误,即使出错也可以很快的定位到相应的地方,伪代码不仅可以作为注释供其他人阅读理解,也可以作为自己定位代码问题所在的极佳工具;
2,Jquery获取元素文本,在寻找解决的过程中,发现了 .text( )这个方法的其他用法,原本是把 .text(“你想要插入html中的文本”)设置元素文本,
评论