JS猜数字游戏

猜数字游戏:猜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);
			}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值