java猜单词游戏_序列应用——猜单词游戏
開發(fā)工具:Visual Studio Code
1.游戲介紹
猜單詞游戲就是計(jì)筧機(jī)隨機(jī)產(chǎn)生一個(gè)單詞,打亂字母順序,供玩家去猜測(cè)。此游戲采用控制字符界面.
2.程序設(shè)計(jì)思路
游戲中,可使用序列中的元組存儲(chǔ)所有待猜測(cè)的單詞。因?yàn)椴聠卧~游戲需要隨機(jī)產(chǎn)生某個(gè)待猜測(cè)單詞以及隨機(jī)數(shù)字,所以引入random模塊隨機(jī)數(shù)函數(shù)。其中,random.choice()可以從序列中隨機(jī)選取元素。
在游戲中,隨機(jī)挑出一個(gè)單詞word后,把單詞word的字母順序打亂的方法是隨機(jī)單詞字符串中選擇一個(gè)位置position,把position位置的字母加入亂序后的單詞jumble,同時(shí)將原單詞word中position位置的那個(gè)字母刪去(通過(guò)連接position位置前字符串和其后字符串實(shí)現(xiàn))。通過(guò)多次循環(huán)就可以產(chǎn)生亂序后的新單詞jumble。
3.random模塊
random模塊可以產(chǎn)生一個(gè)隨機(jī)數(shù)或者從序列中獲取一個(gè)隨機(jī)元素。它的常用方法和用例子如下。
random.random
random.random()用于生成一個(gè)范圍在0-1的隨機(jī)小數(shù)n,(0≤n<1.0)。
random.uniform
random.uniform(a,b)用于生成一個(gè)指定范圍內(nèi)的隨機(jī)小數(shù),在兩個(gè)參數(shù)中,一個(gè)是上限,一個(gè)是下限。如果ab,則b≤n≤a。
random.randint
random.randint(a,b)用于隨機(jī)生成一個(gè)指定范圍內(nèi)的整數(shù)。其中,參數(shù)a是下限,參數(shù)b是上限,則生成的隨機(jī)數(shù)n滿足條件:a≤n≤b。
random.randrange
random.randrange([start),stop[,step])可從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù)。如: random.randrange(10,100,2),結(jié)果相當(dāng)于從10, 12,14,16,…,96,981序列中獲取一個(gè)隨機(jī)數(shù)。random.randrange(10,100,2)在結(jié)果上與random.choice(range(10,100,2)等效。
random.choice
random.choice可從序列中獲取一個(gè)隨機(jī)元素。其函數(shù)原型為:random(sequence)參數(shù)sequence表示一個(gè)有序類型,不是一種特定類型,而是泛指序列數(shù)據(jù)結(jié)構(gòu)。列表( list)、元組(tuple)字符串都屬于sequence。
random.shuffle
random.shuffle(x[,random])用于將一個(gè)列表中的元素的順序打亂。
**?random.sample**
random.sample(sequence,k)均可從指定序列中隨機(jī)獲取指定長(zhǎng)度的片斷。sample()函數(shù)不會(huì)修改原有序列。
4.程序設(shè)計(jì)步驟
1.在猜單詞游戲程序中導(dǎo)入相關(guān)模塊。
2.創(chuàng)建所有待猜測(cè)的單詞序列元組WORDS。
3.顯示游戲歡迎界面。
4.實(shí)現(xiàn)游戲的邏輯。
首先,從序列中隨機(jī)挑出一個(gè)單詞,如“easy”;然后打亂這個(gè)單詞的字母順序;接著,通過(guò)多次循環(huán)就可以產(chǎn)生新的亂序后的單詞jumble;最后,將亂序后的單詞顯示給玩家。
5.玩家輸入猜測(cè)單詞,程序判斷對(duì)錯(cuò)。若玩家猜錯(cuò),則可以繼續(xù)猜。
5.參考代碼
6.遇到的問(wèn)題 (1)在調(diào)試的過(guò)程中報(bào)了這樣一個(gè)錯(cuò)誤:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 166-167: truncated。這個(gè)錯(cuò)誤,其實(shí)引起這個(gè)錯(cuò)誤的原因就是轉(zhuǎn)義的問(wèn)題。 原因分析:在windows系統(tǒng)當(dāng)中讀取文件路徑可以使用\,但是在python字符串中\(zhòng)有轉(zhuǎn)義的含義,如\t可代表TAB,\n代表?yè)Q行,所以我們需要采取一些方式使得\不被解讀為轉(zhuǎn)義字符。
解決方案:
1、在路徑前面加r,即保持字符原始值的意思。 sys.path.append(r'c:\Users\mshacxiang\VScode_project\web_ddt')
2、替換為雙反斜杠 sys.path.append('c:\Users\mshacxiang\VScode_project\web_ddt')
3、替換為正斜杠 sys.path.append('c:/Users/mshacxiang/VScode_project/web_ddt')
7.運(yùn)行結(jié)果
總結(jié)
以上是生活随笔為你收集整理的java猜单词游戏_序列应用——猜单词游戏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java事务_JAVA事务
- 下一篇: java 多个监听_java中监听一个客