Python 入門指南 5.0
exercise2908.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # 從 exercise2503 引入 DiceUser from exercise2503 import DiceUser # 從標準程式庫中引入 Tk 的所有內容 from tkinter import * # 引入 time import time # 取得擲骰子遊戲結果 def get_result(): # 暫存結果 result = [] # 賭注 bet = 0 # 建立莊家 banker = DiceUser("莊家", 500) # 建立玩家並下注 player = DiceUser("玩家", 100) player.asset -= 30 bet += 30 result.append(f"{player.name}下注{bet}\n") banker.asset -= 30 bet += 30 # 玩家擲骰子 player.roll2Dice() result.append(f"{player.name}擲骰子,擲出 {player.total_points} 點\n") # 莊家擲骰子 banker.roll2Dice() result.append(f"{banker.name}擲骰子,擲出 {banker.total_points} 點\n") # 判定輸贏 if banker.total_points >= player.total_points: banker.asset += bet result.append(f"莊家贏\n") else: player.asset += bet result.append(f"玩家贏\n") result.append(f"{player.name}有{player.asset}\n") result.append(f"{banker.name}有{banker.asset}\n") # 回傳結果 return result # 執行部分 if __name__ == '__main__': # 建立 Tk 視窗 root = Tk() # 設定視窗標題 root.title("單人擲骰子模擬") # 顯示的文字資料 text_lines = get_result() # 暫存顯示資料 show_text = "" for sentence in text_lines: show_text += sentence # 加入視窗元件文字標籤 text_label = Label(root, text=show_text, width="40", height="9", bg="black", fg="white", font=("SF Pro", 48)) # 使用包裹版面管理員 text_label.pack() # 呼叫維持視窗運作的 mainloop() root.mainloop() # 檔名: exercise2908.py # 說明:《Python入門指南》的練習 # 網站: http://kaiching.org # 作者: 張凱慶 # 時間: 2023 年 11 月 |