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