发表于: 2017-05-09 00:40:24
4 1000
今天完成:
完成了杀人界面和投票页面,由于都是自同一个页面实现的,所以首先要判断步骤,在不同的步骤下执行不同的操作,首先要保证在开始游戏界面身份牌不被点击,这里使用了之前改变页面css样式的url传参作为判断条件,之后的不步骤也是一url传参做依据。
if (getQuery("ischange") == 4) {
//开始游戏页面无法杀人,stares是定义身份的对象。
states=null;
}
在杀人的步骤中, 由于之前的身份牌是使用append方法添加的,所以在class类名一样的情况下,使用index方法取得下标,将其变为配哦pleALL数组的对象,这样就可以直接用数组的下标对用身份牌的索引,在选定的时候要使用this方法去定位,因为c已经复制给了数组。这样早改变其状态和背景色,就完成了杀人的体现。
for(var c=0; c<states.length;c++){
peopleAll[c].index=c;
peopleAll[c].onclick = function () {
if (states[diedpeo]!=undefined){
peopleAll[diedpeo].style.background = "#f5c97b";
states[diedpeo].alive = "yes"
}
peopleAll[this.index].style.background = "gray";
states[this.index].alive = "died"
diedpeo = this.index;
明天计划:
继续任务4,完成杀人结果的传输和结果页的匹配,
遇到困难:
在杀完人和投票之后需要将结果传递到下一页面,我这里使用的是sessionstorage方法,是在在从投票也返回流程在去杀人的时候,之前的结果就被覆盖掉了,不知为什么,可能是在一个页面里写的逻辑我还没有捋清,明天继续,
收获:
初步理解有限状态机的使用方法,
加深了对于数组,对象,方法的理解
评论