JavaScript實(shí)現(xiàn)猜數(shù)字小功能
引言:
在學(xué)習(xí)編程的過程中,通過實(shí)際的小項(xiàng)目來鞏固知識是非常有效的方法。今天,我們將使用 JavaScript 來實(shí)現(xiàn)一個(gè)簡單的猜數(shù)字游戲。這個(gè)游戲不僅能讓我們熟悉 JavaScript 的基本語法,還能鍛煉我們的邏輯思維能力。
游戲規(guī)則
游戲會(huì)隨機(jī)生成一個(gè) 1 到 100 之間的整數(shù),玩家有 10 次機(jī)會(huì)來猜出這個(gè)數(shù)字。每次猜測后,程序會(huì)給出相應(yīng)的提示,告訴玩家猜大了、猜小了還是猜對了。如果 10 次機(jī)會(huì)用完仍未猜對,程序會(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("請輸入1 - 100之間的數(shù)字")); if (guess == getNumber) { alert("猜對了"); 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
用于記錄用戶猜測的次數(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ù),作為要猜測的目標(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為猜測數(shù)字的彈窗,并且給出if else if條件判斷:猜對了/猜大了/猜小了。
使用 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("請輸入1 - 100之間的數(shù)字")); if (guess == getNumber) { alert("猜對了"); break; } else if (guess < getNumber) { alert("猜小了"); } else { alert("猜大了"); } }
當(dāng)循環(huán)到第 10 次(即 i
等于 9)時(shí),說明 10 次機(jī)會(huì)已經(jīng)用完,彈出提示框顯示正確答案和提示信息。
for (let i = 0; i < 10; i++) { /* 每次循環(huán)+1次 */ guessFois++; let guess = parseInt(prompt("請輸入1 - 100之間的數(shù)字")); if (guess == getNumber) { alert("猜對了"); break; } else if (guess < getNumber) { alert("猜小了"); } else { alert("猜大了"); } if (i == 9) { alert("10次機(jī)會(huì)用完了,正確數(shù)字是 " + getNumber + " ,下次再試試吧。"); } }
總結(jié)
通過這個(gè)簡單的猜數(shù)字游戲,我們學(xué)習(xí)了如何使用 JavaScript 生成隨機(jī)數(shù)、處理用戶輸入、使用循環(huán)和條件語句進(jìn)行邏輯判斷。
到此這篇關(guān)于JavaScript實(shí)現(xiàn)猜數(shù)字小功能的文章就介紹到這了,更多相關(guān)JavaScript 猜數(shù)字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript實(shí)現(xiàn)超好看的3D煙花特效
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)超好看的3D煙花特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01JS實(shí)現(xiàn)數(shù)組過濾從簡單到多條件篩選
一般情況下的單條件篩選,數(shù)組的filter方法就能夠滿足需求,本文討論的重點(diǎn)是多條件下的復(fù)合篩選,并列出了幾個(gè)相關(guān)知識點(diǎn),感興趣的可以了解一下2021-07-07javascript 計(jì)算兩個(gè)整數(shù)的百分比值
用來計(jì)算兩個(gè)整數(shù)的百分比值的代碼,需要的可以看看。2009-12-12如何將網(wǎng)頁表格內(nèi)容導(dǎo)入excel
這篇文章主要介紹了如何將網(wǎng)頁表格內(nèi)容導(dǎo)入excel,需要的朋友可以參考下2014-02-02訪問百度和谷歌網(wǎng)速測試的javascript代碼
訪問百度和谷歌網(wǎng)速測試的javascript代碼...2007-08-08JS實(shí)現(xiàn)的自定義右鍵菜單實(shí)例二則
這篇文章主要介紹了JS實(shí)現(xiàn)的自定義右鍵菜單,以兩則實(shí)例形式分析了javascript自定義右鍵菜單效果的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09xmlplus組件設(shè)計(jì)系列之網(wǎng)格(DataGrid)(10)
xmlplus 是一個(gè)JavaScript框架,用于快速開發(fā)前后端項(xiàng)目。這篇文章主要介紹了xmlplus組件設(shè)計(jì)系列之xmlplus網(wǎng)格,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05javascript實(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