发表于: 2017-04-10 22:58:26

2 1227



今天完成是事情:task2基本成型,点击设置可以随机分配水民和杀手的身份;


var total;//声明一个变量,总人数
function setup() {
total = parseInt(slider().value);//总人数注入
   var killer;//杀手
   var Water;//水民
   var sh = [];
   killer = Math.floor(total / 4);//杀手为总人数1/4,向下取整

   Water = total - killer;//水民人数为总人数减去杀手数
   for (i = 0; i < Water; i++) {
sh.push({role: '水民'})
}
for (i = 0; i < killer; i++) {
sh.push({role: '杀手'});
      //打乱数组
       sh.sort(function(a,b){ return Math.random()>.5 ? -1 : 1;});

        //打乱数组另一种方法
       // for (var k = sh.length; k--;) {
       //     var j = Math.floor(Math.random() * (k + 1));
       //     var qaz = sh[k];
       //     sh[k] = sh[j];
       //     sh[j] = qaz
       // }
   }
abc = "";
   for (i = 0; i < total; i++) {
abc = abc + sh[i].role + "&nbsp;1&nbsp;人" + "<br/>";
       document.getElementById("content1").innerHTML = abc;   //输出
   }
}


学习LocalStorage存储JSON对象:


localStorage 是没有时间限制的数据存储 (记得之前有师兄小课堂讲过关于sessionStorage 、localStorage 和 

cookie 之间的区别回头再查查资料看看师兄的小课堂ppt)


1.存储前先用JSON.stringify()方法将json对象转换成字符串形式(这个JSON.stringify()可以将JavaScript 值序列

化成 JSON 字符串);


2.后续要操作该JSON对象,要将之前存储的JSON字符串先转成JSON对象再进行操作(var s= 

JSON.parse(localStorage.zong););


明天计划做的事情:


1.准备小课堂;

2.JS正则表达式

3.学习关于jQuery的资料;


遇到的问题:js打乱数组在百度上看了好几种方法,有点看不太懂,用了最简单的方法:


 sh.sort(function(a,b){ return Math.random()>.5 ? -1;});


是这种方法有个问题,杀手出现在后面的几率相当大了;然后看了师兄的代码;


 for (var k = sh.length; k--;) {
           var j = Math.floor(Math.random() * (k + 1));
           var qaz = sh[k];
            sh[k] = sh[j];
           sh[j] = qaz
        }


这个挺好用的,但是不是很理解原理。


收获:


1.push();innerHTML;

2.js数组,js数组打乱的简单方式;

3.LocalStorage存储JSON对象:






返回列表 返回列表
评论

    分享到