Sao chép và dán mã trò chơi rùa rùa

Trong bài viết này, bạn sẽ học cách xây dựng trò chơi đua xe bằng Python bằng thư viện Turtle chỉ trong 39 dòng mã

Đây là những gì chúng ta sẽ tạo ra

Sao chép và dán mã trò chơi rùa rùa
Tổng quan dự án trò chơi đua rùa

🧵 Điều kiện tiên quyết

Kiến thức rất cơ bản về lập trình Python sẽ đủ để xem qua hướng dẫn này. Ngoài ra, tôi cho rằng bạn không biết gì về thư viện rùa này. Tôi sẽ dạy bạn mọi thứ từ đầu

🛠 Công cụ chúng tôi sẽ sử dụng

Đầu tiên, nếu máy của bạn chưa cài đặt Python, hãy truy cập python. org để tải xuống phiên bản Python mới nhất và sau đó cài đặt ngay

Để viết chương trình, chúng tôi sẽ sử dụng PyCharm, môi trường phát triển tích hợp (IDE) phổ biến nhất cho Python. Sau khi cài đặt PyCharm trên máy của bạn, bạn đã sẵn sàng xây dựng trò chơi tuyệt vời này từ đầu

⛳ Mục tiêu dự án

Cụ thể, chúng ta sẽ viết một chương trình di chuyển một đối tượng con rùa theo chiều ngang cho đến khi nó chạm đến vạch đích đã tính toán của chúng ta. Sau đó, chúng tôi sẽ tạo bảy bản sao duy nhất của đối tượng rùa này bằng cách sử dụng vòng lặp for cùng với các màu khác nhau và tốc độ di chuyển ngẫu nhiên

Chúng tôi cũng sẽ thêm một hình nền (những con đường có làn đường cho rùa đua vào) để tạo ra thứ gì đó giống như một môi trường đua xe thực sự

Sau đó, chúng tôi sẽ tính toán các giá trị khác nhau dọc theo trục dọc hoặc trục Y để xác định vị trí bắt đầu của chúng

Cuối cùng, chúng tôi sẽ nhắc người dùng nhập đặt cược của họ (màu rùa) để nếu màu đặt cược của người dùng khớp với màu của rùa chiến thắng của chúng tôi, chúng tôi sẽ hiển thị Người chiến thắng. trên màn hình. Nếu không, chúng tôi sẽ hiển thị Bạn đã mất. trên màn hình

Ghi chú. đối với trình đọc màn hình hoặc bất kỳ ai quan tâm đến việc lấy mã nguồn đầy đủ của dự án này, bạn có thể truy cập nó trong Kho lưu trữ GitHub của tôi tại đây

Vì vậy, bạn đã thoát để xây dựng trò chơi này? . Hãy bắt đầu nào

👩‍💻 Cách thiết lập dự án

Mở IDE PyCharm của bạn. Sau đó nhấp vào Dự án mới

Sao chép và dán mã trò chơi rùa rùa
tạo một dự án mới

Hãy gọi nó là trò chơi đua xe và nhấp vào tạo

Sao chép và dán mã trò chơi rùa rùa
Tên dự án

Sau đó, thêm một tệp Python mới có tên là main.py

📂 Cách sử dụng Thư viện rùa

Bây giờ, hãy đi đến tài liệu python về đồ họa rùa. Ở đây bạn sẽ tìm thấy các chi tiết đầy đủ về thư viện này

Hãy cuộn xuống và đi đến phần phương pháp của Rùa. Bạn sẽ thấy các loại phương thức khác nhau mà chúng ta có thể sử dụng cho nhiều mục đích khác nhau. Chúng tôi sẽ sử dụng một vài trong số chúng trong dự án hiện tại của chúng tôi

Tôi khuyên bạn nên đọc tài liệu này ít nhất một lần trước khi nhảy vào mã. Nhưng đừng lo, tôi sẽ đơn giản hóa nó cho bạn trong khi chúng ta viết chương trình

Sao chép và dán mã trò chơi rùa rùa
rùa tài liệu

Nhập thư viện

Vì vậy, hãy nhập Rùa và Màn hình từ mô-đun rùa. Gọi đây là Màn hình trong một biến mới có tên là màn hình. Sau đó, gọi hàm screen.exitonclick() để dừng chương trình khi ta click vào màn hình

Sao chép và dán mã trò chơi rùa rùa

🔳 Cách xác định Canvas trò chơi

Bây giờ, hãy làm việc với đối tượng màn hình để xác định canvas trò chơi của chúng ta. Vì vậy, hãy đặt chiều rộng thành 800 pixel và chiều cao thành 600 pixel

Sao chép và dán mã trò chơi rùa rùa

Đây là kết quả

Sao chép và dán mã trò chơi rùa rùa

Cách thêm đồ họa nền

Đã đến lúc tải hình nền cho canvas của chúng ta. Vì vậy, hãy kéo con đường của chúng tôi. gif vào dự án trò chơi đua xe của chúng tôi. Nhấp vào liên kết này để tải xuống đồ họa

Hãy thêm hình ảnh này bằng cách sử dụng screen.bgpic('road. gif')

Sao chép và dán mã trò chơi rùa rùa

Đây là kết quả

Sao chép và dán mã trò chơi rùa rùa

🐢 Cách làm việc với đối tượng rùa

Bây giờ, hãy tạo một thể hiện con rùa bằng cách sử dụng phương thức Turtle() với hình dạng được gọi là con rùa

Nhưng nó sẽ có vẻ rất nhỏ. Vì vậy, chúng ta cần xác định shapesize(2)

Cách đặt rùa

Bây giờ chúng ta cần thay đổi vị trí của con rùa ở góc dưới cùng bên trái bằng cách sử dụng goto(x=-350, y=-260)

Vì vậy, ở đây chúng tôi đặt x để di chuyển con rùa theo chiều ngang và y theo chiều dọc cùng với các giá trị được tính toán đối với canvas của chúng tôi

Sao chép và dán mã trò chơi rùa rùa
Sao chép và dán mã trò chơi rùa rùa

Ở đây bạn có thể thấy rằng con rùa đã di chuyển đến vị trí mong muốn của chúng tôi. Vì vậy, chúng ta có thể lấy vị trí y trong một biến toàn cầu và thêm các loại giá trị khác nhau để định vị rùa của chúng ta trên các con đường tương ứng của chúng.  

Cách tạo bản sao rùa

Bây giờ, chúng ta phải tạo bảy loại đối tượng rùa khác nhau. Vì lý do này, chúng tôi sẽ sử dụng một main.py0

Vì vậy, chỉ mục for trong main.py2 và sau đó di chuyển phiên bản rùa hiện tại của chúng tôi trong vòng lặp này. Và tất nhiên, chúng ta phải thay đổi y thành biến vị trí toàn cầu y và lấy chỉ mục của chúng theo thứ tự.  

Sao chép và dán mã trò chơi rùa rùa

Đây là kết quả

Sao chép và dán mã trò chơi rùa rùa

Cách xác định màu rùa

Vì vậy, như bạn có thể thấy, chúng tôi có bảy phiên bản rùa được tạo bằng nhau với các vị trí y khác nhau. Hãy thêm một số màu ngẫu nhiên bằng cách sử dụng biến màu chung như chúng ta đã làm cho các vị trí y. Sau đó sử dụng phương thức main.py7 với các chỉ mục của chúng

Sao chép và dán mã trò chơi rùa rùa

Đây là kết quả - đẹp

Sao chép và dán mã trò chơi rùa rùa

Làm thế nào để loại bỏ các dòng xấu xí

Bạn có thể thấy rằng có một số đường xấu hướng về giữa và hướng di chuyển rất chậm. Vì vậy, chúng ta có thể sử dụng các phương pháp main.py8 và main.py9 để giải quyết những vấn đề này. có một cái nhìn

Sao chép và dán mã trò chơi rùa rùa

Làm thế nào để di chuyển rùa về phía trước

Bây giờ, chúng ta cần gì nữa? . Chúng ta cần xác định tốc độ ngẫu nhiên cho mỗi con rùa. Nhưng trước khi làm điều đó, làm thế nào chúng ta có thể di chuyển một con rùa về phía trước?

Chà, bạn có thể sử dụng phương pháp screen.exitonclick()0 để làm điều này. Giả sử chúng ta cần di chuyển con rùa về phía trước 30 pixel

Sao chép và dán mã trò chơi rùa rùa

Đây là kết quả

Sao chép và dán mã trò chơi rùa rùa

Nhưng chúng không di chuyển liên tục. Chúng ta có thể làm gì khác ở đây?

Vì vậy, để giải quyết vấn đề này, chúng tôi lấy một biến có tên là is_on và đặt nó thành screen.exitonclick()1. Bây giờ chúng tôi sẽ tiếp tục thực hiện chương trình của mình cho đến khi chúng tôi phá vỡ nó bằng vòng lặp screen.exitonclick()2

Bây giờ, chúng ta có cơ hội di chuyển chú rùa của mình liên tục với 30 điểm ảnh trong mỗi bước

Sao chép và dán mã trò chơi rùa rùa

Đây là kết quả

Sao chép và dán mã trò chơi rùa rùa

Nó đang chuyển động như một chiếc máy bay bởi vì chúng tôi đặt screen.exitonclick()3 thành 30

Cách chạy nhiều rùa đồng bộ

Bây giờ chúng ta cần nhắm mục tiêu tất cả các đối tượng rùa, không chỉ một đối tượng duy nhất. Nhưng làm thế nào chúng ta có thể làm điều đó?

Vì vậy, chúng ta có thể lấy một biến toàn cục có tên all_turtle và đặt nó vào một danh sách trống. Bây giờ, trong vòng lặp for, sau khi tạo bảy cá thể rùa mới, chúng ta có thể đưa rùa mới sinh của mình vào danh sách all_turtle toàn cầu này. Bằng cách này, chúng tôi có thể truy cập chúng trong các khối mã khác

Sao chép và dán mã trò chơi rùa rùa

Bây giờ chúng tôi có tất cả rùa của chúng tôi. Vì vậy, trong khi biến screen.exitonclick()5 của chúng ta đúng, chúng ta có thể nói screen.exitonclick()6. Ngoài ra, ở đây chúng ta cần sử dụng vòng lặp for một lần nữa để lấy từng con rùa từ biến toàn cục all_turle này và sau đó di chuyển chúng screen.exitonclick()3 x 10 pixel

Sao chép và dán mã trò chơi rùa rùa

Hãy xem kết quả cho đến bây giờ

Sao chép và dán mã trò chơi rùa rùa

Cách đặt tốc độ di chuyển ngẫu nhiên

Vì vậy, chúng tôi đã giải quyết vấn đề di chuyển rùa của chúng tôi. Nhưng chúng đang chạy vô tận – không có điểm kết thúc. Ngoài ra, tất cả các con rùa đang di chuyển với tốc độ như nhau. Hãy suy nghĩ về vấn đề này và cố gắng tự giải quyết nó

Vì vậy, hãy lấy một biến ngẫu nhiên mới và đặt nó thành screen.exitonclick()8. Nó sẽ trả về giá trị từ 0 đến 7 ngẫu nhiên. Bạn phải nhập ngẫu nhiên ở trên cùng. Cuối cùng chuyển biến random_pace này sang phương thức screen.exitonclick()0 như screen.bgpic0

Sao chép và dán mã trò chơi rùa rùa

Đây là kết quả

Sao chép và dán mã trò chơi rùa rùa

🏁 Cách Đặt Vạch Kết Thúc

Bây giờ, chúng ta cần xác định vạch đích của mình trong canvas này. Để giải quyết vấn đề này, chúng tôi kiểm tra screen.bgpic1 screen.bgpic2 > 330, đặt is_on = screen.bgpic3, nếu không chúng tôi cần tiếp tục thực hiện chương trình của mình

Sao chép và dán mã trò chơi rùa rùa

👥 Cách nhắc người dùng tham gia đặt cược của họ

Chúng tôi đã hoàn thành với giao diện người dùng. Bây giờ, chúng tôi cần xác định một số logic để cho phép người dùng nhập đặt cược của họ và so sánh đặt cược của họ với kết quả được lập trình của chúng tôi

Để cho phép người dùng nhập cược của họ, chúng tôi có thể viết screen.bgpic4 và với một trình giữ chỗ 'Nhập cược của bạn'. Chúng tôi cũng sẽ screen.bgpic5 người dùng "màu con rùa nào" và lưu trữ nó trong một biến toàn cục user_bet

Sau đó, chúng tôi lấy một người chiến thắng biến. Chúng tôi kiểm tra xem screen.bgpic6 sẽ đến từ màu đầu vào của người dùng. Chúng tôi in Bạn đã thắng, Nếu không, Bạn đã thua với màu của người chiến thắng rùa. Đó là lý do tại sao chúng ta phải sử dụng chuỗi f để truyền biến trong phương thức in

Sao chép và dán mã trò chơi rùa rùa

🎐 Cách hiển thị kết quả trên màn hình

Bây giờ, tôi muốn bạn hiển thị văn bản in này trong canvas với màu con rùa phản hồi sau khi chạm vào vạch đích. Làm thế nào bạn có thể thực hiện điều này?

S0, ở đây trên cùng. Chúng tôi lấy hai biến toàn cầu screen.bgpic7 và screen.bgpic8. Chúng tôi sẽ viết để căn chỉnh văn bản ở bên phải, đồng thời đặt họ phông chữ chuyển phát nhanh và cỡ chữ 28, in đậm

Bây giờ, chúng tôi sẽ sử dụng chúng khi chúng tôi muốn hiển thị cho người dùng kết quả cuộc đua. Vì vậy, khi màu rùa chiến thắng bằng với màu user_bet, chúng tôi phải hiển thị văn bản trong canvas thay vì in nó trong thiết bị đầu cuối

Để làm điều này, chúng tôi viết screen.bgpic9 và bỏ qua câu lệnh in cùng với font=FONT và align=ALIGN. Ngược lại, chúng ta cần hiển thị văn bản "Bạn đã mất" với cùng một biến FONT và ALIGN. Hãy xem, đây là lợi ích của việc sử dụng các biến toàn cầu.  

Sao chép và dán mã trò chơi rùa rùa

Cuối cùng, hãy chạy mã này một lần nữa. Hãy nói rằng rùa đỏ sẽ là người chiến thắng. Nhưng, như bạn có thể thấy bên dưới – Rất tiếc, chú rùa vàng là người chiến thắng. Vì vậy, bạn có thể thấy phông chữ đậm màu vàng hiển thị bên cạnh con rùa này. Đây là lý do tại sao chúng tôi sử dụng align="right" và thiết lập màu rùa bằng cách sử dụng phương thức Turtle()0

Sao chép và dán mã trò chơi rùa rùa
Dự án trò chơi đua rùa

Và bạn đã có nó - chúng tôi đã xây dựng trò chơi đua rùa của mình. Nếu bạn muốn xem hướng dẫn này ở dạng video, đây là video hướng dẫn đầy đủ dành cho bạn

📹 Video hướng dẫn đầy đủ

👏 Kết luận

Vì vậy, chúng tôi đang ở phần cuối của dự án trò chơi đua xe này. Nếu bạn thích bài viết này, vui lòng đăng ký Kênh YouTube của tôi hoặc gửi cho tôi một tweet

mã hóa hạnh phúc

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Shahan Chowdhury

Full-stack Developer • Tác giả • YouTuber <> console. log("Lập trình với Shahan")


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Trò chơi rắn được mã hóa bằng gì?

29 tháng 4 năm 2022. Cách tốt nhất để học bất kỳ ngôn ngữ lập trình nào là thông qua các dự án thực hành. Trò chơi rắn là một trò chơi đơn giản mà bạn có thể thực hiện bằng cách sử dụng những kiến ​​thức cơ bản về JavaScript và HTML . Mục tiêu cơ bản là điều hướng một con rắn và ăn càng nhiều táo càng tốt mà không chạm vào tường hoặc cơ thể của con rắn.

Trò chơi dễ viết mã nhất bằng Python là gì?

Bây giờ, hãy triển khai một số trò chơi đơn giản trong Python mà bạn có thể xây dựng khi mới bắt đầu để bắt đầu quá trình học tập của mình. .
Trò chơi đố vui trong Python. Đây là một trò chơi dựa trên văn bản rất đơn giản trong python. .
Trò chơi Pong trong Python. Hầu hết chúng ta đã nghe nói về trò chơi bóng bàn nổi tiếng. .
Trò chơi rắn đói trong Python

Python Rùa có thể viết văn bản không?

write() Hàm này dùng để viết văn bản tại vị trí con rùa hiện tại .