Hướng dẫn python board game library - thư viện trò chơi bảng python

Bắt đầu với ứng dụng Python Gui bằng cách xây dựng một trò chơi đoán đơn giản

Hướng dẫn python board game library - thư viện trò chơi bảng python

Tôi sẽ chỉ cho bạn cách xây dựng một trò chơi đoán dựa trên GUI trong Python bằng Tkinter-đây là một thư viện Python để tạo các tiện ích GUI (nút, nhãn, hình ảnh, khu vực văn bản, v.v.). Ứng dụng đơn giản này sẽ cho phép bạn có được chân ướt chân với các khái niệm/cấu trúc lõi Python. Bạn có thể sao chép hoặc tải xuống mã nguồn đầy đủ trên GitHub. Để biết thêm thông tin về Tkinter và cách thiết lập nó, vui lòng xem tài liệu Tkinter: https://docs.python.org/3/l Library/tk.html.Tkinter — which is a Python library for creating GUI widgets (buttons, labels, images, text area etc). This simple app will allow you to “get your feet wet” with core Python concepts/constructs. You can clone or download the complete source code on github. For more information about Tkinter and how to set it up please see Tkinter documentation: https://docs.python.org/3/library/tk.html.

Đối với hướng dẫn này, tôi sẽ cho rằng bạn đã thiết lập Tkinter cũng như Python. Vậy hãy bắt đầu!

Bộ phim dưới đây cho bạn thấy một phiên chơi trò chơi ví dụ cho ứng dụng trò chơi đoán tuyệt vời của chúng tôi.

Hãy để đi sâu vào mã. Chúng tôi sẽ bắt đầu với các thành phần GUI và sau đó chuyển sang logic trò chơi thực tế. Đoạn mã bên dưới hiển thị cửa sổ trò chơi chính.

Hình 2: Snipping mã cho cửa sổ trò chơi chính

Mã hy vọng sẽ tự giải thích :) Thư viện Tkinter được nhập theo dòng 1 và phiên bản thư viện được tạo theo dòng 3. Tiêu đề cửa sổ, ví dụ: Trò chơi Guess Guess, được đặt ở dòng 4. Bây giờ chúng tôi đã tạo ra các tiện ích trên mạng (nhãn) trong dòng 6 và 7 để thêm vào cửa sổ. Lưu ý rằng các tiện ích không được tự động thêm sau khi tạo. Dòng 10 và 11 Thêm các nhãn được tạo vào cửa sổ. Lưu ý rằng phương thức lưới được sử dụng để bố trí các tiện ích trong các hàng/cột. Vòng lặp chính trong dòng 11 là một vòng lặp vô hạn vì nó giữ cho ứng dụng chạy cho đến khi trình phát đóng cửa sổ ứng dụng (x). Hình. 3 Dưới đây cho thấy đầu ra của đoạn mã (Hình 2.)

Hình 3. Hai tiện ích (nhãn) hiển thị trên cửa sổ chính

Bây giờ chúng ta có một sự hiểu biết cơ bản về cách tạo các tiện ích, hãy để thêm các tiện ích còn lại vào cửa sổ. Hình.4 cho thấy đoạn mã trong khi Hình 5 cho thấy đầu ra tương ứng.

Hình 4: CNIPPET CODE cho cửa sổ trò chơi chính với tất cả các tiện ích được thêm vào

Hình 5: Cửa sổ trò chơi chính với tất cả các tiện ích được thêm vào

Bây giờ chúng tôi có tất cả các vật dụng cần thiết được thêm vào cửa sổ trò chơi chính, hãy để tập trung vào logic trò chơi thực tế.

Hình 6 Dưới đây cho thấy toàn bộ mã cho trò chơi đơn giản này. Đầu tiên, các nút Guess Guess, (tức là các nút có văn bản 0 đến 9), đối với các dự đoán của người chơi, đều được bật khi người chơi nhấp vào nút Bắt đầu trò chơi trực tuyến - dòng 118 đến 119. Khi điều đó xảy ra, trò chơi bắt đầu Các thay đổi văn bản nút thành trò chơi khởi động lại trên mạng - dòng 121 đến 125. Điều này cho phép người chơi khởi động lại trò chơi bất cứ khi nào họ muốn. Ngoài ra, mã tự động tạo ra một số ngẫu nhiên bí mật của người Viking trong khoảng từ 0 đến 9 (tất cả bao gồm) - dòng 49.

Bây giờ người chơi có ba (3) nỗ lực đoán số bí mật bằng cách nhấp vào nút đoán. Nếu dự đoán là chính xác (đoán bằng số bí mật), thì (1) biến số TotalNumberOfGuesses được tăng lên và nhãn, tức là văn bản của Lblnoguess được cập nhật theo (2) .

Người chơi có thể nhấp vào nút trò chơi khởi động lại trên mạng để khởi động lại trò chơi. Tất cả các biến được đặt lại khi nút đó là nhấp chuột - dòng 126. Mặt khác, nếu người chơi đoán không bằng số bí mật, một gợi ý tin nhắn của người dùng được hiển thị trên cửa sổ (màu đỏ - nguy hiểm!) - dòng 88 đến 97.

Ví dụ: nếu chúng ta giả sử số bí mật là 5 và người chơi đoán 8. thì, một gợi ý tin nhắn của người Viking nói rằng số bí mật của bạn ít hơn so với dự đoán hiện tại của bạn được hiển thị (người không giống như một gợi ý trợ giúp!). Ngoài ra, tổng số dự đoán được tăng lên. Trò chơi kết thúc khi tổng số dự đoán bằng số lượng dự đoán tối đa cho phép (nghĩa là tĩnh 3. Hãy sẵn sàng để tạo ra động lực này sau này!) - Dòng 101 đến 110.

Hình 6: Mã nguồn đầy đủ cho trò chơi đơn giản

Hình 7 đến Hình 11 cho thấy một phiên chơi trò chơi ví dụ. Ở đây, số bí mật là 7.

Hình 7: Cửa sổ trò chơi trước khi nút bắt đầu được nhấp. Các nút Guess Guess "bị vô hiệu hóa

Hình 8: Nút trò chơi bắt đầu "được nhấp và các nút đoán"

Hình 9: Người chơi đầu tiên đoán là sai. Người chơi được thông báo và nút đã chọn bị tắt

Hình 10: Dự đoán thứ hai không phải là số bí mật

Hình. Người chơi có thể khởi động lại trò chơi.

Tôi đã trình bày cách lập trình một trò chơi đoán đơn giản bằng Python và Thư viện Tkinter trong hướng dẫn này. Nó giới thiệu cho người đọc về nhiều khái niệm Python như các biến số, kiểu dữ liệu, câu lệnh, vòng lặp, danh sách, bình luận, chức năng và thư viện Tkinter để triển khai GUI. Tôi hy vọng rằng hướng dẫn nhỏ dễ thương giúp bạn bắt đầu lập trình trong Python.

Dưới đây là một số gợi ý để cải thiện ứng dụng. Hãy nói rằng bài tập lập trình của bạn: Thực hiện các tính năng bổ sung để:

  1. Cho phép người chơi đặt phạm vi đoán, ví dụ: Từ 10 đến 20
  2. Tất cả người dùng để đặt số lượng đoán tối đa. Nó hiện đang được đặt thành 3 và không thể thay đổi
  3. Động lực tạo các nút Guess Guess Nút tùy thuộc vào 1.
  4. Đếm số đếm thời gian xuống!

Chúc may mắn!

Tôi có thể sử dụng Python để xây dựng một trò chơi không?

Do đó, Python cũng là một ngôn ngữ lý tưởng để bắt đầu cuộc phiêu lưu của bạn với việc tạo ra các trò chơi, bất kể bạn đã thông thạo nó hay chỉ bắt đầu. Do cú pháp thân thiện với người mới của Python, các nhà phát triển có thể tập trung vào những điều cơ bản của lập trình trò chơi, chứ không phải sự phức tạp của chính ngôn ngữ.Python is also an ideal language to begin your adventure with creating games, regardless of whether you're already fluent in it or just starting out. Due to the newcomer-friendly syntax of Python, developers can focus on the basics of game programming, not the complexity of the language itself.

Tôi có thể sử dụng tkinter để làm một trò chơi không?

Tkinter được sử dụng rộng rãi để phát triển các ứng dụng GUI. Cùng với các ứng dụng, chúng tôi cũng có thể sử dụng Tkinter GUI để phát triển các trò chơi.we can also use Tkinter GUI to develop games.

Pygame có tốt cho GUI không?

Pygame là - vì tên của nó - một gói được thiết kế để cho phép tạo các trò chơi trong Python rất dễ dàng, không phải để tạo GUI. Vì vậy, nó cung cấp xử lý sự kiện, ràng buộc âm thanh đồ họa và một số thứ khác hữu ích để viết các trò chơi và nó được viết trên đầu SDL. Vì vậy, nếu bạn muốn viết một ứng dụng GUI, đừng sử dụng pygame.not to create GUIs. As such it provides event handling, graphics sound bindings and some other things useful to write games, and it's written on top of SDL. So if you want to write a GUI-application, don't use pygame.