一、猜1-10中的数字
实现效果:程序随机生成一个1~10之间的数字,用户输入所猜数字(1~10以内),系统判断这两个数字的大小。如果用户没有输入数字,则提示“出错啦!!!”,如果用户所猜数字大于随机数,那么提示“你猜大了!”,如果用户所猜数字小于随机数,则提示“你猜小了!”,如果用户所猜数字与该随机数相等,就提示“恭喜你,猜对了!”,此时结束程序。
下面是完成效果演示:
代码如下:
function getRandom(min,max){
return Math.floor(Math.random()*(max-min+1)+min);
}
var min = 1,max = 10;
var random = getRandom(min,max);
while(1)
{
var x = prompt("请输入你猜的数字");
if(x!=='')
{
if(x<random)
{
alert("你猜小了!");
}
else if(x>random)
{
alert("你猜大了!");
}
else if(x==random)
{
alert("恭喜你,猜对了!");
break;
}
}
else if(x===''){
alert("出错啦!!!");
}
}
二、进阶版猜数字
实现效果:程序随机生成四个数(每个数范围均为0~9),用户输入所猜的四位数,如果用户所猜四位数与随机生成的四位数位置相同则为B,仅仅是数字出现,位置不同则为A。最终输出4A4B程序结束,并打印这个随机数。
例:随机数:1234
所猜数:1111 输出:1A1B
所猜数:4567 输出:1A0B
所猜数:1243 输出:4A2B
所猜数:1234 输出:4A4B
演示一遍完成效果:
代码如下:
function getRandom(min,max)
{
return Math.floor(Math.random()*(max-min+1)+min);
}
function getNumber(){
arr[0] = getRandom(min,max);
arr[1] = getRandom(min,max);
arr[2] = getRandom(min,max);
arr[3] = getRandom(min,max);
return arr;
}
function guessNumber(){
var x = Number(prompt("请输入你猜的四位数字"));
arr1[0] = parseInt(x/1000);
arr1[1] = parseInt(x%1000/100);
arr1[2] = parseInt(x%100/10);
arr1[3] = parseInt(x%10);
return arr1;
}
var min = 1,max = 9;
var arr = [];
getNumber();
console.log("这组数字是:",arr);
var temp = [];
while(1)
{
if(m===4&n===4)
{
alert("恭喜你,猜对了!这组数字是:"+arr+"");
break;
}else{
var m=0,n=0;
var arr1 = [];
guessNumber();
for(var i=0;i<arr.length;i++)
{
temp[i] = arr[i];
}
for(var i=0;i<arr.length;i++)
{
for(var j=0;j<arr.length;j++)
{
if(arr1[i]===temp[j]){
temp[j] = null;
m++;
break;
}
}
}
for(var i=0;i<arr.length;i++)
{
if(arr1[i] === arr[i])
{
n++;
}
}
var arr2 = arr1.join("");
alert("你猜的四位数字是:"+arr2+"\n输出:"+m+"A"+n+"B");
// console.log("你猜的四位数字是:",arr2);
// console.log("输出:",m+"A"+n+"B");
}
}