您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何用Python編程構建一個簡單的擲骰子游戲”,在日常操作中,相信很多人在如何用Python編程構建一個簡單的擲骰子游戲問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何用Python編程構建一個簡單的擲骰子游戲”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Python 是一個非常流行的編程語言,它可以用于創建桌面應用程序、3D 圖形、視頻游戲、甚至是網站。它是非常好的首選編程語言,因為它易于學習,不像一些復雜的語言,比如,C、 C++、 或 Java。 即使如此, Python 依然也是強大且健壯的,足以創建高級的應用程序,并且幾乎適用于所有使用電腦的行業。不論是經驗豐富的老程序員,還是沒有經驗的新手,Python 都是一個非常好的編程語言。
在學習 Python 之前,你需要先去安裝它:
Linux: 如果你使用的是 Linux 系統, Python 是已經包含在里面了。但是,你如果確定要使用 Python 3 。應該去檢查一下你安裝的 Python 版本,打開一個終端窗口并輸入:
python3 -V
如果提示該命令沒有找到,你需要從你的包管理器中去安裝 Python 3。
MacOS: 如果你使用的是一臺 Mac,可以看上面 Linux 的介紹來確認是否安裝了 Python 3。MacOS 沒有內置的包管理器,因此,如果發現沒有安裝 Python 3,可以從 python.org/downloads/mac-osx 安裝它。即使 macOS 已經安裝了 Python 2,你還是應該學習 Python 3。
Windows: 微軟 Windows 當前是沒有安裝 Python 的。從 python.org/downloads/windows 安裝它。在安裝向導中一定要選擇 Add Python to PATH 來將 Python 執行程序放到搜索路徑。
在 Python 中寫程序,你需要準備一個文本編輯器,使用一個集成開發環境(IDE)是非常實用的。IDE 在一個文本編輯器中集成了一些方便而有用的 Python 功能。IDLE 3 和 NINJA-IDE 是你可以考慮的兩種選擇:
Python 自帶的一個基本的 IDE 叫做 IDLE。
IDLE
它有關鍵字高亮功能,可以幫助你檢測拼寫錯誤,并且有一個“運行”按鈕可以很容易地快速測試代碼。
要使用它:
在 Linux 或 macOS 上,啟動一個終端窗口并輸入 idle3
。
在 Windows,從開始菜單中啟動 Python 3。
如果你在開始菜單中沒有看到 Python,在開始菜單中通過輸入 cmd
啟動 Windows 命令提示符,然后輸入 C:\Windows\py.exe
。
如果它沒有運行,試著重新安裝 Python。并且確認在安裝向導中選擇了 “Add Python to PATH”。參考 docs.python.org/3/using/windows.html 中的詳細介紹。
如果仍然不能運行,那就使用 Linux 吧!它是免費的,只要將你的 Python 文件保存到一個 U 盤中,你甚至不需要安裝它就可以使用。
Ninja-IDE 是一個優秀的 Python IDE。它有關鍵字高亮功能可以幫助你檢測拼寫錯誤、引號和括號補全以避免語法錯誤,行號(在調試時很有幫助)、縮進標記,以及運行按鈕可以很容易地進行快速代碼測試。
Ninja-IDE
要使用它:
鴻蒙官方戰略合作共建——HarmonyOS技術社區
安裝 Ninja-IDE。如果你使用的是 Linux,使用包管理器安裝是非常簡單的;否則, 從 NINJA-IDE 的網站上 下載 合適的安裝版本。
啟動 Ninja-IDE。
轉到 Edit 菜單,并選擇 Preferences 設置。
在 Preferences 窗口中,點擊 Execution 選項卡。
在 Execution 選項卡上,更改 python
為 python3
。
Ninja-IDE 中的 Python3
關鍵字可以告訴 Python 你想要做什么。不論是在 IDLE 還是在 Ninja 中,轉到 File 菜單并創建一個新文件。對于 Ninja 用戶:不要創建一個新項目,僅創建一個新文件。
在你的新的空文件中,在 IDLE 或 Ninja 中輸入以下內容:
print("Hello world.")
如果你使用的是 IDLE,轉到 Run 菜單并選擇 Run module 選項。
如果你使用的是 Ninja,在左側按鈕條中點擊 Run File 按鈕。
在 Ninja 中運行文件
關鍵字 print
告訴 Python 去打印輸出在圓括號中引用的文本內容。
雖然,這并不是特別刺激。在其內部, Python 只能訪問基本的關鍵字,像 print
、 help
,最基本的數學函數,等等。
可以使用 import
關鍵字加載更多的關鍵字。在 IDLE 或 Ninja 中開始一個新文件,命名為 pen.py
。
警告:不要命名你的文件名為 turtle.py
,因為名為 turtle.py
的文件是包含在你正在控制的 turtle (海龜)程序中的。命名你的文件名為 turtle.py
,將會把 Python 搞糊涂,因為它會認為你將導入你自己的文件。
在你的文件中輸入下列的代碼,然后運行它:
import turtle
Turtle 是一個非常有趣的模塊,試著這樣做:
turtle.begin_fill() turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.end_fill()
看一看你現在用 turtle 模塊畫出了一個什么形狀。
要擦除你的海龜畫圖區,使用 turtle.clear()
關鍵字。想想看,使用 turtle.color("blue")
關鍵字會出現什么情況?
嘗試更復雜的代碼:
import turtle as t import time t.color("blue") t.begin_fill() counter=0 while counter < 4: t.forward(100) t.left(90) counter = counter+1 t.end_fill() time.sleep(5)
運行完你的腳本后,是時候探索更有趣的模塊了。
想學習更多的 Python 關鍵字,和用圖形編程的高級特性,讓我們來關注于一個游戲邏輯。在這個教程中,我們還將學習一些關于計算機程序是如何構建基于文本的游戲的相關知識,在游戲里面計算機和玩家擲一個虛擬骰子,其中擲的最高的是贏家。
在寫代碼之前,最重要的事情是考慮怎么去寫。在他們寫代碼 之前,許多程序員是先 寫簡單的文檔,這樣,他們就有一個編程的目標。如果你想給這個程序寫個文檔的話,這個游戲看起來應該是這樣的:
鴻蒙官方戰略合作共建——HarmonyOS技術社區
啟動擲骰子游戲并按下 Return 或 Enter 去擲骰子
結果打印在你的屏幕上
提示你再次擲骰子或者退出
這是一個簡單的游戲,但是,文檔會告訴你需要做的事很多。例如,它告訴你寫這個游戲需要下列的組件:
玩家:你需要一個人去玩這個游戲。
AI:計算機也必須去擲,否則,就沒有什么輸或贏了
隨機數:一個常見的六面骰子表示從 1-6 之間的一個隨機數
運算:一個簡單的數學運算去比較一個數字與另一個數字的大小
一個贏或者輸的信息
一個再次玩或退出的提示
很少有程序,一開始就包含其所有的功能,因此,它們的初始版本僅實現最基本的功能。首先是幾個定義:
變量是一個經常要改變的值,它在 Python 中使用的非常多。每當你需要你的程序去“記住”一些事情的時候,你就要使用一個變量。事實上,運行于代碼中的信息都保存在變量中。例如,在數學方程式 x + 5 = 20
中,變量是 x
,因為字母 x
是一個變量占位符。
整數是一個數字, 它可以是正數也可以是負數。例如,1
和 -1
都是整數,因此,14
、21
,甚至 10947
都是。
在 Python 中變量創建和使用是非常容易的。這個擲骰子游戲的初始版使用了兩個變量: player
和 ai
。
在命名為 dice_alpha.py
的新文件中輸入下列代碼:
import random player = random.randint(1,6) ai = random.randint(1,6) if player > ai : print("You win") # notice indentation else: print("You lose")
啟動你的游戲,確保它能工作。
這個游戲的基本版本已經工作的非常好了。它實現了游戲的基本目標,但是,它看起來不像是一個游戲。玩家不知道他們搖了什么,電腦也不知道搖了什么,并且,即使玩家還想玩但是游戲已經結束了。
這是軟件的初始版本(通常稱為 alpha 版)。現在你已經確信實現了游戲的主要部分(擲一個骰子),是時候該加入到程序中了。
在你的游戲的第二個版本中(稱為 beta 版),將做一些改進,讓它看起來像一個游戲。
不要只告訴玩家他們是贏是輸,他們更感興趣的是他們擲的結果。在你的代碼中嘗試做如下的改變:
player = random.randint(1,6) print("You rolled " + player) ai = random.randint(1,6) print("The computer rolled " + ai)
現在,如果你運行這個游戲,它將崩潰,因為 Python 認為你在嘗試做數學運算。它認為你試圖在 player
變量上加字母 You rolled
,而保存在其中的是數字。
你必須告訴 Python 處理在 player
和 ai
變量中的數字,就像它們是一個句子中的單詞(一個字符串)而不是一個數學方程式中的一個數字(一個整數)。
在你的代碼中做如下的改變:
player = random.randint(1,6) print("You rolled " + str(player) ) ai = random.randint(1,6) print("The computer rolled " + str(ai) )
現在運行你的游戲將看到該結果。
計算機運行的非常快。人有時可以很快,但是在游戲中,產生懸念往往更好。你可以使用 Python 的 time
函數,在這個緊張時刻讓你的游戲慢下來。
import random import time player = random.randint(1,6) print("You rolled " + str(player) ) ai = random.randint(1,6) print("The computer rolls...." ) time.sleep(2) print("The computer has rolled a " + str(player) ) if player > ai : print("You win") # notice indentation else: print("You lose")
啟動你的游戲去測試變化。
如果你多玩幾次你的游戲,你就會發現,即使你的游戲看起來運行很正確,它實際上是有一個 bug 在里面:當玩家和電腦搖出相同的數字的時候,它就不知道該怎么辦了。
去檢查一個值是否與另一個值相等,Python 使用 ==
。那是個“雙”等號標記,不是一個。如果你僅使用一個,Python 認為你嘗試去創建一個新變量,但是,實際上你是去嘗試做數學運算。
當你想有比兩個選項(即,贏或輸)更多的選擇時,你可以使用 Python 的 elif
關鍵字,它的意思是“否則,如果”。這允許你的代碼去檢查,是否在“許多”結果中有一個是 true
, 而不是只檢查“一個”是 true
。
像這樣修改你的代碼:
if player > ai : print("You win") # notice indentation elif player == ai: print("Tie game.") else: print("You lose")
多運行你的游戲幾次,去看一下你能否和電腦搖出一個平局。
你的擲骰子游戲的 beta 版的功能和感覺比起 alpha 版更像游戲了,對于最終版,讓我們來創建你的第一個 Python 函數。
函數是可以作為一個獨立的單元來調用的一組代碼的集合。函數是非常重要的,因為,大多數應用程序里面都有許多代碼,但不是所有的代碼都只運行一次。函數可以啟用應用程序并控制什么時候可以發生什么事情。
將你的代碼變成這樣:
import random import time def dice(): player = random.randint(1,6) print("You rolled " + str(player) ) ai = random.randint(1,6) print("The computer rolls...." ) time.sleep(2) print("The computer has rolled a " + str(player) ) if player > ai : print("You win") # notice indentation else: print("You lose") print("Quit? Y/N") cont = input() if cont == "Y" or cont == "y": exit() elif cont == "N" or cont == "n": pass else: print("I did not understand that. Playing again.")
游戲的這個版本,在他們玩游戲之后會詢問玩家是否退出。如果他們用一個 Y
或 y
去響應, Python 就會調用它的 exit
函數去退出游戲。
更重要的是,你將創建一個稱為 dice
的你自己的函數。這個 dice
函數并不會立即運行,事實上,如果在這個階段你嘗試去運行你的游戲,它不會崩潰,但它也不會正式運行。要讓 dice
函數真正運行起來做一些事情,你必須在你的代碼中去調用它。
在你的現有代碼下面增加這個循環,前兩行就是上文中的前兩行,不需要再次輸入,并且要注意哪些需要縮進哪些不需要。要注意縮進格式。
else: print("I did not understand that. Playing again.") # main loop while True: print("Press return to roll your die.") roll = input() dice()
while True
代碼塊首先運行。因為 True
被定義為總是真,這個代碼塊將一直運行,直到 Python 告訴它退出為止。
while True
代碼塊是一個循環。它首先提示用戶去啟動這個游戲,然后它調用你的 dice
函數。這就是游戲的開始。當 dice
函數運行結束,根據玩家的回答,你的循環再次運行或退出它。
使用循環來運行程序是編寫應用程序最常用的方法。循環確保應用程序保持長時間的可用,以便計算機用戶使用應用程序中的函數。
到此,關于“如何用Python編程構建一個簡單的擲骰子游戲”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。