Hướng dẫn play with python - chơi với trăn
Nhằm giúp ace nâng cao kỹ năng và kiến thức lập trình Python cho người mới bắt đầu từ con số 0, hôm nay cafedev chia sẻ cho ace một số bài tập liên quan tới GAME trong python. bài tập liên quan tới GAME trong python. Show Nội dung chính
Mục tiêu chính:
Bài 1:Xe tránh vật Yêu cầu: Xây dựng ứng dụng Xe tránh vật như sau:
Bạn tham khảo hình demo bên dưới Hướng dẫn sử dụng:
Bạn tham khảo hình demo bên dưới Xây dựng trò chơi “Đổ xúc xắc”:
Hướng dẫn sử dụng:
Nhấn Play Again để chơi lại Nhấn Quit để thoát Bài 2: Xây dựng trò chơi “Đổ xúc xắc”: Tận dụng lại một số hàm trong trò chơi “Xe tránh vật” ở trên để xây dựng trò chơi “Đổ xúc xắc” như sau:mọi lúc mọi nơi tại đây. Người dùng sẽ nhấn Play để đổ hai con xúc xắc => xem số điểm mình có dựa trên hai xúc xắc này.
Bài giải
Tài liệu từ cafedev:
Youtube Giao diện sử dụng TkinterPinterest Tiện ích Canvas:Trang chủ Tiện ích Bind:Chào thân ái và quyết thắng! Sơ đồ cấu trúc của game pythonĐăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you! 03/09/2020 07:41 AM Cấu trúc code:Để có một tổ chức tốt hơn và hợp lý của code, chúng tôi sẽ cấu trúc các chức năng được cấu trúc thành ba loại. - Các chức năng khởi tạo - Chức năng vẽ - Các hàm logic Các chức năng khởi tạo:Các chức năng này có nhiệm vụ thiết lập trạng thái ban đầu cho trò chơi. Chúng bao gồm xác định các biến trò chơi, khởi tạo đồ họa trò chơi, đặt lại các biến trò chơi khi trò chơi kết thúc, xác định khung vẽ và các tiện ích liên kết, v.v. Các chức năng khởi tạo sẽ chủ yếu giải quyết việc thiết lập trò chơi trong trường hợp một trò chơi mới được bắt đầu hoặc trò chơi đã kết thúc và cần được chơi lại. Chức năng vẽ:Như tên cho thấy, các chức năng này sẽ chịu trách nhiệm vẽ các yếu tố đồ họa dựa trên trò chơi lên cửa sổ Tkinter. Dựa trên các phương pháp vẽ canvas cơ bản được đề cập ở trên, chúng tôi sẽ tạo các chức năng vẽ cấp cao cụ thể cho trò chơi của chúng tôi. Các chức năng vẽ cấp cao này sau đó sẽ được sử dụng như các khối xây dựng để cập nhật đồ họa trò chơi. Các chức năng logic:Các chức năng này sẽ không liên quan gì đến đồ họa trò chơi và sẽ xử lý logic trò chơi. Chúng bao gồm, nhưng không giới hạn ở, theo dõi trạng thái trò chơi, nhận thông tin đầu vào của người dùng, cập nhật trạng thái của trò chơi, kiểm tra xem động thái hiện tại có hợp pháp hay không, theo dõi điểm số của người chơi, kiểm tra xem trò chơi đã kết thúc hay chưa, quyết định kết quả của trò chơi, v.v. Ví dụ 1: Tic-Tac-Toe:Bạn có thể download code của trò này tại đây. Đoạn code sử dụng một mảng có kích thước 3x3 để theo dõi trò chơi, tức là trạng thái của bàn cờ. ‘X’ được đánh dấu là -1 trong khi ‘O’ được đánh dấu là 1. Tất cả các ô trống được đánh dấu là 0 (không). Người dùng nhấp vào trong một hộp và sự kiện được ghi lại bằng phương thức liên kết "click". Vị trí lưới sau đó được chuyển đổi để xác định hộp trong đó sự kiện nhấp chuột đã xảy ra. Dựa trên người chơi, mã sau đó rút ra một chữ ‘X’ hoặc ‘O’ trong ô đã xác định chỉ khi ô đó chưa bị chiếm dụng. Tình trạng bảng cũng được cập nhật. Với mỗi lượt, mã sẽ kiểm tra xem có người chơi nào thắng hay không. Điều này được thực hiện bằng cách tìm các mẫu trong trạng thái bảng 3x3. Trò chơi kết thúc khi một trong hai người chơi thắng hoặc tất cả các ô đã bị chiếm. Ở giai đoạn này, màn hình kết quả được tạo hiển thị người chiến thắng và số điểm của mỗi người chơi. Ảnh chụp màn hình của trò chơi: Ví dụ 2: Dots and BoxesBạn có thể download code của trò này tại đây. Đoạn code sử dụng một mảng có kích thước 3x3 để theo dõi trò chơi, tức là trạng thái của bàn cờ. ‘X’ được đánh dấu là -1 trong khi ‘O’ được đánh dấu là 1. Tất cả các ô trống được đánh dấu là 0 (không). Người dùng nhấp vào trong một hộp và sự kiện được ghi lại bằng phương thức liên kết "click". Vị trí lưới sau đó được chuyển đổi để xác định hộp trong đó sự kiện nhấp chuột đã xảy ra. Dựa trên người chơi, mã sau đó rút ra một chữ ‘X’ hoặc ‘O’ trong ô đã xác định chỉ khi ô đó chưa bị chiếm dụng. Tình trạng bảng cũng được cập nhật. Với mỗi lượt, mã sẽ kiểm tra xem có người chơi nào thắng hay không. Điều này được thực hiện bằng cách tìm các mẫu trong trạng thái bảng 3x3. Trò chơi kết thúc khi một trong hai người chơi thắng hoặc tất cả các ô đã bị chiếm. Ở giai đoạn này, màn hình kết quả được tạo hiển thị người chiến thắng và số điểm của mỗi người chơi. Ảnh chụp màn hình của trò chơi: Ví dụ 2: Dots and BoxesĐoạn code sử dụng một mảng có kích thước (num_dots-1) x (num_dots-1) để theo dõi số lượng các cạnh được đánh dấu cho mỗi hộp. Bất cứ khi nào người chơi 1 đánh dấu một cạnh xung quanh một hộp, giá trị của mảng được liên kết với hộp đó sẽ giảm đi 1 và khi được người chơi 2 đánh dấu, nó sẽ tăng lên 1. Bất cứ khi nào bất kỳ phần tử nào của mảng này đạt đến giá trị -4 ( hoặc 4), điều này cho biết người chơi 1 (người chơi 2) đã tạo ô thành công.
|