发表于: 2020-01-17 23:13:31

0 1366


今天完成的事

1,使用session storage计数,解决天数累加的问题;

定义:

if (sessionStorage.datacount) { 

else {
    sessionStorage.datacount = 0;
}

在其他点击事件函数中使用:

$(".footer-vote").click(function() {
    //白天讨论投票
    // if (fsm_2.state == 1) {
    for (let k=0k<allRolek++) {
        if (roleList_s[k]["life"] ==0) {
            if (roleCompara[k]["life"] == 0) {
                alert("当前玩家已死亡,请选择其他玩家。");
                return;
            }else {
                roleCompara[k]["life"] = roleList_s[k]["life"];
                setJson(roleCompararoleStrstrArr[0]);
                newRecord[data]["daytime"] = k + 1;
                
                setJson(newRecordnewStrstrArr[1]);
                console.log(newRecord);
                
            }
        }
    }
    //session 计数
    sessionStorage.datacount = Number(sessionStorage.datacount)+1;
    window.location.href = "page5.html";
});

2,json的学习拓展;

https://blog.csdn.net/gao_sl/article/details/81699063

以前常用的都是json对象的常用格式;而现在还有json数组对象,并且数组对象还可以使用数组的push,unshift等对数据的操作方式;

明天的计划

1,将保存的值无误的写入对应的页面处;

遇到的问题

 暂无

收获

1,对洗牌算法的深入理解:

      一般对一个数组进行乱序处理,往往都是使用随机函数Math.random取随机数,然后在一定范围内取数,(比如1~100),然后将取到的数放入一个数组当中,使用这种方法会随着取数的增加(比如一开始取10个随机数,然后增加到取90个随机数),这时随着取数的增加,往往会出现随机数取值重复的问题,所以还需要对随机数的取值进行去重。可以看出虽然实现了取随机数的问题,但是如果对该方法的进行另一种所谓的公平考虑(也就是每个数被取到的概率相等)此时可以搬出大名鼎鼎的 Fisher–Yates Shuffle 解法,其主要实现思想是将每次数组第n个数与前面n-1个数随机交换,然后第n-1个数继续与前面n-2个数随机交换,依次类推,直到全部交换完毕,这与我们真实玩扑克时洗牌时很像,总共的牌数量既不会增多,也不会减少,并且每张牌都是独一无二的(也就是不会出现随机重复的问题),仅仅进行随机的位置交换,这与对一个数组的数进行乱序处理很相似;当然该解法的实现有更严谨,可证明的公平问题。(即取任一随机数概率相等)


返回列表 返回列表
评论

    分享到