发表于: 2017-04-26 23:34:59
2 1103
今天完成的事情:找了一天的小毛病,昨天虽然大体的逻辑成型了,但是存在很多小bug,这些看起来不起眼的小
问题往往要话费我很多的时间去琢磨;本来计划把游戏结束做完的,看来计划还真是没有变化快啊,总有些意想不到的“小惊喜”!在杀手杀人和投票流程框下面添加数据花了一下午的时间:
for (var j = 0; j < deaths.length; j++) {
if (player[deaths[j]-1].status == 'killed') {
play = deaths[j] + '号被杀手杀死了,其真实身份是' + player[j].identity.role + '<br>';
$('#vote').html(play);
$("#vote").removeAttr("id");
}
else if (player[deaths[j]-1].status == 'voted') {
play = deaths[j] + '号被投票投死了,其真实身份是' + player[j].identity.role + '<br>';
$('#enen').html(play);
$("#enen").removeAttr("id");
}
}
写了一个for循环,上个页面设置了两种死亡状态:
player[this.index].status = "killed"//设置killed是被杀手杀死的
player[this.index].status = "voted";//设置voted是被投票投死的
当玩家是被杀手杀死的时候在id为vote我元素上添加玩家死活状态,当玩家是被投票投死的时候在id为enen我元
素上添加玩家死活状态;重点是 $("#vote").removeAttr("id");这个removeAttr() 方法从被选元素中移除属性,因
为id是不可重复使用的,之前没有移除id导致添加的html都在第一天;
明天计划做的事;尽力把游戏完善吧,感觉自己做起来有一点吃力,暂且不做太大的计划了;
遇到的问题:投票页面存储数据的时候出现问题了,每次杀完人了到第二天的会显示人没死,原来是我吧数据存在
动态改变玩家状态的for循环里面了,
把这里删掉存在投票按钮的onclick时间里面就解决了
function gonext() {
if (killPeople ==undefined){//没有选择被杀的对象
alert("还没投票呢?")
}else {
sessionStorage.death=diedNum;//在上面存数据,会导致还没杀人,死亡玩家的数据叠加。
console.log(diedNum);
alloplayer = JSON.stringify(player);
sessionStorage.oplayer = alloplayer;//所有玩家的状态,存到oStatus里面。
window.location.href="task4-2-2.html";
day++;
sessionStorage.day = day;
}
}
还有一些小问题如果都写下来估计要写到明早了,忒tm的多了!
收获:removeAttr() 方法从被选元素中移除属性;本地数据储存的位置,不能随便存;不细心自己遭罪啊!
评论