JavaScript實(shí)現(xiàn)猜數(shù)字小功能
引言:
在學(xué)習(xí)編程的過(guò)程中,通過(guò)實(shí)際的小項(xiàng)目來(lái)鞏固知識(shí)是非常有效的方法。今天,我們將使用 JavaScript 來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的猜數(shù)字游戲。這個(gè)游戲不僅能讓我們熟悉 JavaScript 的基本語(yǔ)法,還能鍛煉我們的邏輯思維能力。
游戲規(guī)則
游戲會(huì)隨機(jī)生成一個(gè) 1 到 100 之間的整數(shù),玩家有 10 次機(jī)會(huì)來(lái)猜出這個(gè)數(shù)字。每次猜測(cè)后,程序會(huì)給出相應(yīng)的提示,告訴玩家猜大了、猜小了還是猜對(duì)了。如果 10 次機(jī)會(huì)用完仍未猜對(duì),程序會(huì)顯示正確答案。
效果圖:




代碼實(shí)現(xiàn):
let getNumber = Math.floor(Math.random() * 100) + 1;
let guessFois = 0; /* 次數(shù) */
for (let i = 0; i < 10; i++) {
/* 每次循環(huán)+1次 */
guessFois++;
let guess = parseInt(prompt("請(qǐng)輸入1 - 100之間的數(shù)字"));
if (guess == getNumber) {
alert("猜對(duì)了");
break;
} else if (guess < getNumber) {
alert("猜小了");
} else {
alert("猜大了");
}
if (i == 9) {
alert("10次機(jī)會(huì)用完了,正確數(shù)字是 " + getNumber + " ,下次再試試吧。");
}
}代碼詳細(xì)解釋:
1.首先在全局聲明并賦值guessFois(總次數(shù))與getNumber(隨機(jī)數(shù))。
-guessFois 用于記錄用戶猜測(cè)的次數(shù),初始值為 0。
-Math.random() 是 JavaScript 內(nèi)置的函數(shù),它會(huì)生成一個(gè) 0(包含)到 1(不包含)之間的隨機(jī)小數(shù)。乘以 100 后,得到的結(jié)果是一個(gè) 0(包含)到 100(不包含)之間的隨機(jī)小數(shù)。
-Math.floor() 函數(shù)用于向下取整,將這個(gè)隨機(jī)小數(shù)轉(zhuǎn)換為整數(shù)。最后加上 1,得到一個(gè) 1 到 100 之間的整數(shù),作為要猜測(cè)的目標(biāo)數(shù)字。
let getNumber = Math.floor(Math.random() * 100) + 1; let guessFois = 0; /* 次數(shù) */
2. 利用for循環(huán)遍歷,并且i小于10,實(shí)現(xiàn)只有十次機(jī)會(huì),for循環(huán)里第一步使guessFois(次數(shù))加一
for (let i = 0; i < 10; i++) {
/* 每次循環(huán)+1次 */
guessFois++;
}3. 聲明guess為猜測(cè)數(shù)字的彈窗,并且給出if else if條件判斷:猜對(duì)了/猜大了/猜小了。
使用 prompt() 函數(shù)彈出一個(gè)輸入框,讓用戶輸入一個(gè)數(shù)字。parseInt() 函數(shù)將用戶輸入的字符串轉(zhuǎn)換為整數(shù),賦值給變量 guess。
for (let i = 0; i < 10; i++) {
/* 每次循環(huán)+1次 */
guessFois++;
let guess = parseInt(prompt("請(qǐng)輸入1 - 100之間的數(shù)字"));
if (guess == getNumber) {
alert("猜對(duì)了");
break;
} else if (guess < getNumber) {
alert("猜小了");
} else {
alert("猜大了");
}
}當(dāng)循環(huán)到第 10 次(即 i 等于 9)時(shí),說(shuō)明 10 次機(jī)會(huì)已經(jīng)用完,彈出提示框顯示正確答案和提示信息。
for (let i = 0; i < 10; i++) {
/* 每次循環(huán)+1次 */
guessFois++;
let guess = parseInt(prompt("請(qǐng)輸入1 - 100之間的數(shù)字"));
if (guess == getNumber) {
alert("猜對(duì)了");
break;
} else if (guess < getNumber) {
alert("猜小了");
} else {
alert("猜大了");
}
if (i == 9) {
alert("10次機(jī)會(huì)用完了,正確數(shù)字是 " + getNumber + " ,下次再試試吧。");
}
}總結(jié)
通過(guò)這個(gè)簡(jiǎn)單的猜數(shù)字游戲,我們學(xué)習(xí)了如何使用 JavaScript 生成隨機(jī)數(shù)、處理用戶輸入、使用循環(huán)和條件語(yǔ)句進(jìn)行邏輯判斷。
到此這篇關(guān)于JavaScript實(shí)現(xiàn)猜數(shù)字小功能的文章就介紹到這了,更多相關(guān)JavaScript 猜數(shù)字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript實(shí)現(xiàn)超好看的3D煙花特效
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)超好看的3D煙花特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01
JS實(shí)現(xiàn)數(shù)組過(guò)濾從簡(jiǎn)單到多條件篩選
一般情況下的單條件篩選,數(shù)組的filter方法就能夠滿足需求,本文討論的重點(diǎn)是多條件下的復(fù)合篩選,并列出了幾個(gè)相關(guān)知識(shí)點(diǎn),感興趣的可以了解一下2021-07-07
javascript 計(jì)算兩個(gè)整數(shù)的百分比值
用來(lái)計(jì)算兩個(gè)整數(shù)的百分比值的代碼,需要的可以看看。2009-12-12
如何將網(wǎng)頁(yè)表格內(nèi)容導(dǎo)入excel
這篇文章主要介紹了如何將網(wǎng)頁(yè)表格內(nèi)容導(dǎo)入excel,需要的朋友可以參考下2014-02-02
訪問(wèn)百度和谷歌網(wǎng)速測(cè)試的javascript代碼
訪問(wèn)百度和谷歌網(wǎng)速測(cè)試的javascript代碼...2007-08-08
JS實(shí)現(xiàn)的自定義右鍵菜單實(shí)例二則
這篇文章主要介紹了JS實(shí)現(xiàn)的自定義右鍵菜單,以兩則實(shí)例形式分析了javascript自定義右鍵菜單效果的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
xmlplus組件設(shè)計(jì)系列之網(wǎng)格(DataGrid)(10)
xmlplus 是一個(gè)JavaScript框架,用于快速開(kāi)發(fā)前后端項(xiàng)目。這篇文章主要介紹了xmlplus組件設(shè)計(jì)系列之xmlplus網(wǎng)格,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
javascript實(shí)現(xiàn)Table間隔色以及選擇高亮(和動(dòng)態(tài)切換數(shù)據(jù))的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)Table間隔色以及選擇高亮(和動(dòng)態(tài)切換數(shù)據(jù))的方法,涉及javascript表格操作及按鈕實(shí)現(xiàn)表格切換的技巧,需要的朋友可以參考下2015-05-05

