猜数字游戏:猜4个0-9的数,判断和是否为目标值(随机产生)。
window.onload=function(){
var goal=Math.floor(Math.random()*37);
var chance=0;
var arr=[];
function start(){//游戏开始程序
do{
num_1=prompt("请输入0-9数字","第一个数值");
arr.push(num_1);
num_2=prompt("请输入0-9数字","第二个数值");
arr.push(num_2);
num_3=prompt("请输入0-9数字","第三个数值");
arr.push(num_3);
num_4=prompt("请输入0-9数字","第四个数值");
arr.push(num_4);
alert("正在检测数字有效性,若不为整数,或超出范围,将重新输入")
}while(judge(arr));//判断结果为真,即数据不满足要求,则重新来
}
function judge(oArr){//对传入的数据进行判断
var key=true;
for(var j=0;j<oArr.length;j++){
if(oArr[j]==' '){//判断为空字符串
key=false;
break;
}
else{
Number(oArr[j]);//将字符串转化为数字
if(isNaN(oArr[j])||oArr[j]<0||oArr[j]>9){//判断是否在范围0-9内
key=false;
break;
}
}
}
if(key==true){
return false;
}
else{
arr=[];//重置数组为空
return true;
}
}
start();
alert("输入有效,游戏开始!");
for(var i=0;i<3;i++){
if((+num_1)+(+num_2)+(+num_3)+(+num_4)==goal){
alert("恭喜你猜对了,和是"+goal);
break;
}
else{
alert("很遗憾,没有猜中数字,你还有"+(2-chance)+"机会!")
start();
chance++;
}
if(chance==2){
alert("游戏结束,机会用尽!");
break;
}
}
alert("最终答案是"+goal);
}