今天完成的事
1.将任务的BUG修正
2.修正了任务2正则表达式的错误
3.给任务2的JS添加代码 是其在打开新页面的时候url带上一个特定排列的字符串
MATH = MATH.shuffle(); //将数组乱序排列
for(let i=0;i<MATH.length;i++){ //根据杀手数组获得一串同样排列的非中文的数组
if(MATH[i]==="杀手"){
URLNUM[i] = "1";
}else{
URLNUM[i] = "0";
}
}
URLNUM = URLNUM.join(""); //将该数组转换为字符串
BUTTON.setAttribute("href","../task3/task3.html"+ "?number=" + URLNUM) //即时修改发牌按钮href的地址并带上参数
BUTTON.onclick = function(){ //“去发牌”点击事件
if(RE.test(NUM.value)) { //将数值输入正则表达式
window.location.href=BUTTON.getAttribute("href"); //在当前窗口打开新页面
4.完善查看身份页面
<main class="main">
<div class="number">1</div>
<img class="img" src="盖牌.png"></img>
</main>
<footer class="footer">
<input type="button" value="查看身份" class="button" id="button"></input>
</footer>
.main{
position: fixed;
width: 100%;
top: 60px;
.number{
display: block;
position: relative;
top: 24px;
margin: auto;
width: 40px;
height: 40px;
text-align: center;
font-size: 28px;
background-color: white;
color: rgb(245, 107, 149);
border: 2px solid rgb(255, 237, 197);
border-radius: 50%;
}
.img{
display: block;
margin: auto;
background-repeat: no-repeat;
height: 60vh;
}
}
.footer{
display: flex;
justify-content: space-around;
width: 100%;
position: fixed;
bottom: 0;
.button{
width: 80vw;
height: 50px;
background-color: rgb(251, 180, 53);
color: white;
border: none;
font-size: 20px;
margin-bottom: 20px;
}
}
5.学习jquery的一些基础知识 并根据初步理解编写伪代码
/*
获取url中带有的字符串
并将字符串转换为玩家数组
for(根据字符的长度来确定循环次数){
空数组
if(1){
空数组加“杀手
}else{
空数组加“平民
}
}
给下方按钮添加事件监听器
按钮点击事件 =
(判断当前第几次点击){
依据当前点击次数获取玩家数组中的角色
获得角色并修改卡牌显示部分显示的图片
}
当查看完所有角色后跳转到玩家游戏界面
依据玩家数组生成玩家方块并插入显示部分
for(){
if(杀手){
生成杀手方块
插入页面
}else{
生成平民方块
插入页面
}
}
*/
明天的计划
1.继续学习并使用jquery获取url中的字符串
2.使用字符串生成玩家数组
3.使用jquery给按钮添加事件监听器
4.完成点击按钮事修改显示图片的效果
5.完成玩家方块的部分
遇到的问题
1.关于前一篇日报中提到的玩家数量快速变动后会导致杀手与平民分配错误的问题
排查后发现
由于声明的空数组在自定义函数之外

导致玩家数量变动时数组不会跟着每次清零 只会长度不断增加或不变

导致到后面就会出现显示出来的分配错误
在自定义函数内多添加一个空数组声明

那么在玩家数量变化时 每次调用自定义函数
数组都会重新声明为空数组
就避免了这个错误

2.任务2之前的正则表达式
let RE = /^[4-9]$|^1+[0-8]$/;
对110或者111还有1112,、1118等没有反应,起不到筛选的作用
可以得出这个正则表达式对对前面全是1后面是0-8的数字没反应
列如111112 118 11111117等
针对性的做出修改
let RE = /^[4-9]?$|^1?[0-8]?$/;
4到9的数出现一次 或者 前部1出现一次0到8的数出现一次尾部
今天的收获
1.对于正则表达式筛选数字的能力加深
评论