JavaScript中通过Math写一个猜数游戏

简介: JavaScript中通过Math写一个猜数游戏

Math数学对象

Math数学对象不是一个构造器 不许需要new来调用 直接使用里面的属性和方法

console.log(Math.PI);   //一个属性  圆周率
    console.log(Math.max(1,22,122));
    console.log(Math.max(-1,0));
    console.log(Math.max(1,2,'hh'));   //给定数值中最大的数。如果任一参数不能转换为数值,则返回 NaN。
    console.log(Math.max());   //如果没有提供参数,返回 -Infinity。
复制代码

Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。

Math绝对值

语法:Math.abs(x)

eg:

console.log(Math.abs(-1));得到-1的绝对值:

网络异常,图片无法展示
|

如果是输入的是字符串的话,内部函数会隐式转换为数字型

console.log(Math.abs('-121'));得到的依然是121

Math的三种取整方式:

  1. 向下取整:Math.floor() 函数总是返回小于等于一个给定数字的最大整数。
  2. 向上取整:Math.ceil() 函数总是四舍五入并返回大于等于给定数字的最小整数。
  3. 四舍五入取整:Math.round() 函数返回一个数字四舍五入后最接近的整数。

Math对象随机数方法

Math.random() 函数返回一个浮点数,伪随机数在范围从0 到小于1

得到一个两数之间的随机整数,包括两个数在内

function getRandomIntInclusive(min, max) {
            min = Math.ceil(min);
            max = Math.floor(max);
            return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
            }
        console.log(getRandomIntInclusive(1,10));
复制代码

但是这种方式往往只能够返回数字型的,不能满足其他的需求,比如一个随机点名的功能,不能够返回随机的字符串。

这时候我们可以通过遍历数组的形式来完成,把所有的名字都存在一个数组里面

eg:var arr = ['张三','李四','王五','小红','小明'];

 console.log(arr[getRandomIntInclusive(0,arr.length-1)]);

这样就可以完成上述名字中取到一个随机的字符串

猜数字游戏

  1. 程序随机生成1-10之间的数字,并让用户输出,用到Math.random()方法
  2. 需要猜到正确为止,所以需要一直循环
  3. while 循环更简单
  4. 用if,else if,else来判断
  5. 可以加一个输入的次数
function getRandomIntInclusive(min, max) {
         min = Math.ceil(min);
         max = Math.floor(max);
         return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
         }
 var random = getRandomIntInclusive(1,10);
 var i = 5;
 while(i>0){
     var num = prompt("猜一猜,请输入1-10的数字"+'还有'+i+"机会");
     i--;
     if(num > random){
         alert("猜大了,小伙子");
     }
     else if(num < random){
         alert("猜小了,加油加油!");
     }
     else{
         alert("流弊啊,猜对了");
         break;
     }
 }
复制代码

运行后的结果:

网络异常,图片无法展示
|

这是我猜中的界面:

网络异常,图片无法展示
|


目录
相关文章
|
9月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的使命召唤游戏助手附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的使命召唤游戏助手附带文章和源代码部署视频讲解等
93 5
基于ssm+vue.js+uniapp小程序的使命召唤游戏助手附带文章和源代码部署视频讲解等
|
9月前
|
前端开发 JavaScript Java
【JavaScript】JavaScript 防抖与节流:以游戏智慧解锁实战奥秘
【JavaScript】JavaScript 防抖与节流:以游戏智慧解锁实战奥秘
94 3
|
9月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的原神游戏商城附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的原神游戏商城附带文章和源代码部署视频讲解等
87 4
|
4月前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
4月前
|
JavaScript 前端开发 开发者
|
5月前
|
JavaScript 前端开发
JavaScript Math(算数) 对象
JavaScript Math(算数) 对象
32 4
|
5月前
|
JavaScript 前端开发
JavaScript 的 Math
【10月更文挑战第07天】
42 1
|
6月前
|
移动开发 前端开发 JavaScript
原生JavaScript+canvas实现五子棋游戏_值得一看
本文介绍了如何使用原生JavaScript和HTML5的Canvas API实现五子棋游戏,包括棋盘的绘制、棋子的生成和落子、以及判断胜负的逻辑,提供了详细的代码和注释。
83 0
原生JavaScript+canvas实现五子棋游戏_值得一看
|
7月前
|
机器学习/深度学习 JavaScript 前端开发
JavaScript拟合Math
【8月更文挑战第20天】
101 4
|
7月前
|
JavaScript 前端开发
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
这篇文章介绍了JavaScript中的数组、Date对象、Math对象以及包装类(String、Number、Boolean),并详细讲解了数组的创建、方法(如forEach、push、pop、unshift、slice、splice)和遍历操作,以及工厂方法创建对象和原型对象的概念。
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象

热门文章

最新文章