Khi bạn muốn thực hiện một tập hợp các thao tác trong Python, trước tiên, bạn nên viết ra các bước cần thiết trong mã giả. Mặc dù mã giả không phải là ngôn ngữ lập trình, nhưng nó tương tự như ngôn ngữ lập trình vì nó giúp bạn phá…
Snake and Ladders, Ludo và Checkers, là những trò chơi được yêu thích nhất mọi thời đại. Nhưng, thật kinh khủng khi bạn bỏ dở kế hoạch chơi chỉ vì không tìm thấy xúc xắc. Vì vậy, đây là một lựa chọn hấp dẫn để mang đến cho bạn cơ hội tạo ra thứ gì đó thú vị. Hãy xây dựng Trình mô phỏng lăn xúc xắc với kiến thức cơ bản về Python
Tkinter là gì?
Python cung cấp nhiều gói khác nhau để thiết kế GUI, tôi. e. giao diện người dùng đồ họa. Tkinter là gói Python phổ biến, nhanh và dễ sử dụng nhất được sử dụng để xây dựng các ứng dụng Giao diện người dùng đồ họa. Nó cung cấp Giao diện hướng đối tượng mạnh mẽ và dễ sử dụng. Ngoài ra, bạn phát triển một ứng dụng;
Trình mô phỏng lăn xúc xắc trong Python
Chúng ta đều biết về xúc xắc. Đó là một khối lập phương đơn giản với các số từ 1 đến 6 được viết trên mặt của nó. Nhưng mô phỏng là gì? . Do đó, trình giả lập xúc xắc là một mô hình máy tính đơn giản có thể gieo xúc xắc cho chúng ta
Chúng tôi mong muốn xây dựng một trình giả lập xúc xắc trông giống như
Tải xuống Mã dự án Dice Rolling Simulator
Trước khi tiếp tục, vui lòng tải xuống mã nguồn của dự án python giả lập xúc xắc. Dự án mô phỏng lăn xúc xắc
Xây dựng mô phỏng lăn xúc xắc
Bước 1. Nhập các mô-đun cần thiết
Chúng tôi sẽ nhập các mô-đun sau
- tkinter. Đã nhập để sử dụng Tkinter và tạo các ứng dụng GUI
- Hình ảnh, Imagetk. Được nhập từ PIL, tôi. e. Thư viện hình ảnh Python. Chúng tôi sử dụng nó để thực hiện các hoạt động liên quan đến hình ảnh trong giao diện người dùng của chúng tôi
- Ngẫu nhiên. Đã nhập để tạo số ngẫu nhiên
Mã số
import tkinter from PIL import Image, ImageTk import random
Bước 2. Xây dựng tiện ích cấp cao nhất để tạo cửa sổ chính cho ứng dụng của chúng tôi
Trong bước này, chúng ta sẽ xây dựng cửa sổ chính của ứng dụng, nơi chứa các nút, nhãn và hình ảnh. Chúng tôi cũng đặt cho nó một tiêu đề theo chức năng title[]
Mã số
# top-level widget which represents the main window of an application root = tkinter.Tk[] root.geometry['400x400'] root.title['DataFlair Roll the Dice']
Giải trình
Đoạn mã trên đặt tiêu đề của cửa sổ ứng dụng là 'DataFlair Roll the Dice'. Chạy đoạn mã trên sẽ tạo ra một cửa sổ trống của dự án python giả lập lăn xúc xắc với tiêu đề trên đó
Bước 3. Thiết kế các nút
Bây giờ, hãy nghĩ xem, chúng ta cần tung xúc xắc như thế nào?
Đoạn mã dưới đây sẽ thêm nhãn đưa ra tiêu đề cho trình giả lập xúc xắc của chúng tôi. Ngoài ra, chúng tôi sẽ thêm một khu vực hình ảnh, khu vực này sẽ hiển thị hình ảnh được chọn theo số ngẫu nhiên
Mã số
# Adding label into the frame BlankLine = tkinter.Label[root, text=""] BlankLine.pack[] # adding label with different font and formatting HeadingLabel = tkinter.Label[root, text="Hello from DataFlair!", fg = "light green", bg = "dark green", font = "Helvetica 16 bold italic"] HeadingLabel.pack[] # images dice = ['die1.png', 'die2.png', 'die3.png', 'die4.png', 'die5.png', 'die6.png'] # simulating the dice with random numbers between # 0 to 6 and generating image DiceImage = ImageTk.PhotoImage[Image.open[random.choice[dice]]] # construct a label widget for image ImageLabel = tkinter.Label[root, image=DiceImage] ImageLabel.image = DiceImage # packing a widget in the parent widget ImageLabel.pack[ expand=True]
Giải trình
Ở đây, chúng ta sử dụng pack[] để sắp xếp các widget theo dạng hàng và cột. Nhãn 'BlankLine' là để bỏ qua một dòng, trong khi chúng tôi sử dụng nhãn 'HeadingLabel' để đưa ra tiêu đề
- root – tên mà chúng tôi đề cập đến cửa sổ chính của ứng dụng
- văn bản – văn bản sẽ được hiển thị trong HeadingLabel
- fg– màu của phông chữ được sử dụng trong HeadingLabel
- bg – màu nền của HeadingLabel
- phông chữ – được sử dụng để cung cấp phông chữ tùy chỉnh cho văn bản Nhãn tiêu đề
- pack[] – Được sử dụng để đóng gói tiện ích vào cửa sổ gốc
Bước 4. Hình thành một danh sách các hình ảnh được hiển thị ngẫu nhiên
Mã số
# images dice = ['die1.png', 'die2.png', 'die3.png', 'die4.png', 'die5.png', 'die6.png'] # simulating the dice with random numbers between # 0 to 6 and generating image DiceImage = ImageTk.PhotoImage[Image.open[random.choice[dice]]]
Giải trình
‘xúc xắc’ là danh sách tên các ảnh được lưu trong cùng một thư mục, được chọn ngẫu nhiên theo số ngẫu nhiên được tạo.
‘DiceImage’ được sử dụng để lưu trữ hình ảnh của con xúc xắc được chọn bởi các số được tạo ngẫu nhiên.
Bước 5. Tạo nhãn cho hình ảnh, thêm nút và gán chức năng
Mã số
# construct a label widget for image ImageLabel = tkinter.Label[root, image=DiceImage] ImageLabel.image = DiceImage # packing a widget in the parent widget ImageLabel.pack[ expand=True] # function activated by button def rolling_dice[]: DiceImage = ImageTk.PhotoImage[Image.open[random.choice[dice]]] # update image ImageLabel.configure[image=DiceImage] # keep a reference ImageLabel.image = DiceImage # adding button, and command will use rolling_dice function button = tkinter.Button[root, text='Roll the Dice', fg='blue', command=rolling_dice] # pack a widget in the parent widget button.pack[ expand=True]
Giải trình
‘ImageLabel’ là đặt một hình ảnh trong cửa sổ. Tham số expands được khai báo là True nên dù chúng ta resize cửa sổ thì hình ảnh vẫn nằm ở giữa
chức năng chính
Chức năng 'rolling_dice' là chức năng được thực thi mỗi khi nhấp vào nút. Điều này đạt được thông qua tham số ‘command=rolling_dice’ trong khi xác định một nút
Bước 6. Hình thành một danh sách các hình ảnh được hiển thị ngẫu nhiên
Mã số
# call the mainloop of Tk # keeps window open root.mainloop[]
Giải trình
'nguồn gốc. mainloop[]’ được sử dụng để mở cửa sổ chính. Nó hoạt động như chức năng chính của chương trình của chúng tôi
Dice Rolling Simulator Python Đầu ra
Sự kết luận
vâng. Chúng tôi đã phát triển thành công một ứng dụng thú vị – Trình mô phỏng lăn xúc xắc bằng Python. Bây giờ, bạn có thể chỉ cần nhấp vào một nút và nhận số tiếp theo của mình. Chúc mừng Python và gói 'Tkinter' của nó hỗ trợ các hàm và giúp công việc của chúng ta trở nên dễ dàng. Ai có thể nghĩ rằng chúng ta có thể phát triển một ứng dụng chỉ bằng chức năng 'ngẫu nhiên' của python?