一、猜数字游戏
1.需求
在1~100以内随机选择一个数, 然后让玩家挑战在10轮以内猜出这个数字,每一轮都要告诉玩家正确或者错误, 如果出错了,则告诉他数字是低了还是高了,并且还要告诉玩家之前猜的数字是什么。 一旦玩家猜测正确,或者他们用完了回合,游戏将结束。 游戏结束后,可以让玩家选择再次开始。
2.流程
生成1到100之间的随机数。
记录玩家在第几轮。从1开始。
为玩家提供一种猜测数字的方法。
一旦提交了猜测,首先将它记录在某处,以便用户可以看到他们先前的猜测。
接下来检查它是否是正确的数字。
如果是正确的:
显示祝贺消息。
阻止玩家输入更多的猜测(这会使游戏混乱)。
显示控制允许玩家重新开始游戏。
如果它错了,并且玩家有剩余轮次:
告诉玩家他们错了。
允许他们输入另一个猜测。
将圈数增加1。
如果它是错误的,并且玩家没有剩余轮次:
告诉玩家游戏结束。
阻止玩家输入更多的猜测(这会使游戏混乱)。
显示控制允许玩家重新开始游戏。
一旦游戏重新启动,请确保游戏逻辑和用户界面完全重置,然后返回步骤1。
3.初始设置
1 |
|
4.添加变量以保存数据
在script中添加如下变量:
1 | var randomNumber = Math.floor(Math.random() * 100) + 1; |
变量基本上是值(例如数字或文本字符串)的容器;
使用关键字var以及变量的名称创建一个变量;
使用等号(=)和要赋予的值为变量赋值;
5.函数(function)
在<script>中写入函数:
1 | function checkGuess() { |
解析:
函数是可重复使用的代码块,可以“编写一次,到处运行”,从而节省了大量的重复代码;
使用关键字function定义了一个函数,后面跟着一个名字,再后面加了括号。 之后,我们放两个大括号({})。 在大括号里面,放置着当我们调用该函数时所有想要运行的代码。
6.运算符(operators)
JavaScript运算符允许我们执行比较,做数学运算,连接字符串,以及其他类似的事情.
- 运算符:可用于字符串的连接
1 | var name = 'Bingo'; |
算术运算符
运算符 | 名称 | 示例 |
---|---|---|
+ | ||
- | ||
* | ||
/ |
比较运算符
运算符 | 名称 | 示例 |
---|---|---|
=== | 严格运算符(它们是否确实一样?) | 5 === 2 + 4 |
!== | 严格不等运算符(它们不一样?) | ‘Chris’ !== ‘Ch’ + ‘ris’ |
> | ||
< |
7.条件(conditionals)
完善函数
1 | function checkGuess() { |
8.事件(Events)
事件监听器:侦听事件发生的构造方法;
事件处理器:响应事件触发而运行的代码块;
1 | //在checkGuess()函数的结束大括号后添加一下代码: |
9.完善游戏 - 处理后续逻辑
添加函数setGameOver():
1 | function setGameOver(){ |
10.循环(Loops)
1 | <div class="resultParas"> |
1 | //清除信息段落 |
11.一些系统函数
自动放置文本光标在输入框内:
guessField.focus();
在JavaScript中,一切都是对象,对象是存储在单个分组中的相关功能的集合。可以创建自己的对象(暂不涉及),浏览器包含的内置对象,允许你的操作:
var guessField = document.querySelector('.guessField');
解析:
使用了document对象的querySelector()方法来获得此引用。querySelector()需要一个参数 — — 用该元素的 CSS 选择器选择您想要的引用的元素
12.操作浏览器对象
在JavaScript中可修改Html的值;
使用JavaScript在元素上动态设置新的CSS样式;
页面上的每个元素都有一个style属性,它本身包含一个对象,其属性包含应用于该元素的所有内联CSS样式。
参考资料:
1.JavaScript第一课