发表于: 2017-05-09 00:40:24

4 1001


今天完成:

完成了杀人界面和投票页面,由于都是自同一个页面实现的,所以首先要判断步骤,在不同的步骤下执行不同的操作,首先要保证在开始游戏界面身份牌不被点击,这里使用了之前改变页面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方法,是在在从投票也返回流程在去杀人的时候,之前的结果就被覆盖掉了,不知为什么,可能是在一个页面里写的逻辑我还没有捋清,明天继续,


收获:

初步理解有限状态机的使用方法,

加深了对于数组,对象,方法的理解


返回列表 返回列表
评论

    分享到