发表于: 2020-04-21 22:58:01
1 1342
今日完成
学习jQ数据库的基础知识
了解了基本语法以及基本功能的使用
jQ库是js的一种框架,封装了常用的一些js代码,使用起来更方便,代码更简洁
基本完成任务二
学习理解洗牌算法
明日计划
构思任务三 如何实现身份传递操作
完成代码
// 页面跳转
function jump() {
window.location.href = "page1.html";
}
// 洗牌算法
function shuffle(array) {
var m = array.length,
i,
t;
while (m) {
i = Math.floor(Math.random() * m--);
t = array[m];
array[m] = array[i];
array[i] = t;
}
return array;
}
//
function myInput() {
var totalNum, killerNum, civilianNum;
// 实时获取输入的数值
totalNum = document.getElementById("count").value;
// 判断平民及杀手人数
if (totalNum < 4 && totalNum > 18) {
killerNum = 0;
} else if (totalNum >= 4 && totalNum < 6) {
killerNum = 1;
} else if (totalNum >= 6 && totalNum < 9) {
killerNum = 2;
} else if (totalNum >= 9 && totalNum < 12) {
killerNum = 3;
} else if (totalNum >= 12 && totalNum < 16) {
killerNum = 4;
} else if (totalNum >= 16 && totalNum <= 18) {
killerNum = 5;
}
// 计算得平民人数
civilianNum = totalNum - killerNum;
// 人数实时变化
if (killerNum) {
document.getElementsByClassName("killer")[0].innerHTML = killerNum;
document.getElementsByClassName("civilian")[0].innerHTML = civilianNum;
} else {
document.getElementsByClassName("killer")[0].innerHTML = " ";
document.getElementsByClassName("civilian")[0].innerHTML = " ";
}
// return killerNum;
}
console.log(myInput());
function startGame() {
var totalNum,
killerNum,
civilianNum,
identifyArr = [];
totalNum = document.getElementById("count").value;
// 判断输入值
if (!(totalNum >= 4 && totalNum <= 18)) {
document.getElementById("popup_num").style.cssText = "visibility:initial;";
} else {
// 判断平民及杀手人数
if (totalNum < 4 && totalNum > 18) {
killerNum = 0;
} else if (totalNum >= 4 && totalNum < 6) {
killerNum = 1;
} else if (totalNum >= 6 && totalNum < 9) {
killerNum = 2;
} else if (totalNum >= 9 && totalNum < 12) {
killerNum = 3;
} else if (totalNum >= 12 && totalNum < 16) {
killerNum = 4;
} else if (totalNum >= 16 && totalNum <= 18) {
killerNum = 5;
}
// 计算得平民人数
civilianNum = totalNum - killerNum;
for (var i = 0; i < killerNum; i++) {
identifyArr.push("杀手");
}
for (var j = 0; j < civilianNum; j++) {
identifyArr.push("平民");
}
// 洗牌
shuffle(identifyArr);
console.log(identifyArr);
}
}
function hiddenPop() {
document.getElementById("popup_num").style.cssText = "visibility:hidden;";
}
遇到的问题
判断杀手数量代码需要分别写两次
本想通过
return killerNum
console.log(myInput());
获得杀手的数量
但发现并不能实时根据输入框的值改变
暂时未找到解决办法
评论