Mục lục:

Battle City Remake trên GameGo với Makecode Arcade: 4 bước (có hình ảnh)
Battle City Remake trên GameGo với Makecode Arcade: 4 bước (có hình ảnh)

Video: Battle City Remake trên GameGo với Makecode Arcade: 4 bước (có hình ảnh)

Video: Battle City Remake trên GameGo với Makecode Arcade: 4 bước (có hình ảnh)
Video: MakeCode Arcade Advanced - Boss Battle 2024, Tháng mười một
Anonim
Image
Image

GameGo là một bảng điều khiển di động chơi game cổ điển tương thích với Microsoft Makecode được phát triển bởi tổ chức giáo dục TinkerGen STEM. Nó dựa trên chip ARM Cortex M4 STM32F401RET6 và được tạo ra cho các nhà giáo dục STEM hoặc chỉ những người thích thú vị khi tạo ra các trò chơi điện tử cổ điển. Bạn có thể làm theo hướng dẫn này và thử trò chơi trong trình mô phỏng Makecode Arcade rồi chạy trên GameGo.

Trong bài viết này, chúng tôi sẽ thử tái tạo một trò chơi bắn xe tăng Battle City cổ điển, ban đầu được sản xuất và xuất bản vào năm 1985 bởi Namco cho Nintendo Entertainment System (NES). Trong trò chơi gốc, người chơi sẽ điều khiển một chiếc xe tăng và bắn đạn để tiêu diệt xe tăng của đối phương. Xe tăng của đối phương cố gắng phá hủy căn cứ của người chơi, cũng như chính xe tăng của người chơi. Chúng tôi sẽ thực hiện một số sửa đổi đối với cách chơi trò chơi để phù hợp hơn với thực tiễn lập trình khối với GameGo, nhưng bản làm lại của chúng tôi sẽ vẫn giữ được nhiều điểm tương đồng với trò chơi gốc. Hãy bắt đầu nào!

Quân nhu

GameGo

Bước 1: Bản ngã thay thế của chúng ta - Xe tăng màu vàng

Bản ngã thay thế của chúng ta - Xe tăng màu vàng
Bản ngã thay thế của chúng ta - Xe tăng màu vàng

Mở Makecode Arcade tại https://arcade.makecode.com/ và nhấp vào dự án mới. Chúng ta sẽ bắt đầu biến bản ngã của chúng ta thành chiếc xe tăng màu vàng. Chọn Đặt mySprite thành hình khối của người chơi và vẽ một chiếc xe tăng màu vàng hướng lên trên làm hình khối bắt đầu của chúng ta, đặt khối đó vào bên trong khối bắt đầu. Thêm di chuyển mySprite với khối nút. Bây giờ chúng ta có một chiếc xe tăng mà chúng ta có thể di chuyển bằng các nút trong mô phỏng! Tuyệt vời, nhưng nó luôn hướng về cùng một hướng, ngay cả khi chúng ta di chuyển xuống hoặc sang ngang…

Để khắc phục điều đó, hãy thêm bốn khối nữa, mỗi khối một cho mỗi nút hướng. Tạo một biến mới, gọi là hướng - chúng ta sẽ lưu hướng chuyển động của xe tăng của chúng ta trong đó, 100 sẽ tương ứng với xuống, -100 sẽ tương ứng với lên, 200 cho bên phải và -200 cho bên trái. Tại sao những con số này? Bạn sẽ thấy sau, khi chúng tôi thêm đạn mà xe tăng của chúng tôi sẽ bắn. Logic trong mỗi bốn khối này rất đơn giản - chúng tôi kiểm tra xem hướng mới (từ lần nhấn nút) có giống với hướng trước đó hay không. Nếu đúng như vậy, về cơ bản chúng tôi không thực hiện bất kỳ thay đổi nào. Nếu không, chúng ta thay đổi sprite của xe tăng và trong trường hợp với hướng xuống và trái, chúng ta lật hình ảnh của sprite để tránh vẽ thêm các sprite. Cuối cùng, hãy gán giá trị bắt đầu của hướng là -100 (xe tăng trở lên), vì đây là cách xe tăng của chúng ta bắt đầu trò chơi. Hãy thử di chuyển chiếc xe tăng màu vàng ngay bây giờ, sprite sẽ thay đổi theo hướng di chuyển ngay bây giờ! Tuyệt vời, bây giờ chúng ta hãy thêm đạn.

Chúng ta sẽ bắn đạn với đường đạn được đặt thành đường đạn (vẽ hình vuông màu bạc nhỏ cho hình tròn đó) từ mySprite với vận tốc vx vy. Bên trong nút bật Một khối được nhấn, chúng ta cần kiểm tra giá trị tuyệt đối của hướng xem bể màu vàng có hướng lên / xuống trái / phải hay không. Sau đó, chúng tôi tiến hành bắn đạn với vận tốc của biến hướng - đó là lý do tại sao chúng tôi có -100 / 100 / -200 / 200 cho các giá trị hướng.

Bây giờ chúng ta có xe tăng màu vàng có thể bắn đạn và di chuyển. Nếu những chiếc xe tăng mô phỏng màu vàng có thể cảm thấy nó chắc chắn sẽ cảm thấy cô đơn trong khoảng không trống trải này không có kẻ thù và những việc cần làm. Vì vậy, đối với bước tiếp theo, hãy thêm kẻ thù để nó trôi qua thời gian.

Bước 2: Tiêu diệt kẻ thù

Mang kẻ thù ra ngoài
Mang kẻ thù ra ngoài
Mang kẻ thù ra ngoài
Mang kẻ thù ra ngoài

Chúng ta sẽ bắt đầu bước này bằng cách tạo ra một loạt các biến mới: hai mảng (một mảng để giữ chân kẻ thù và một mảng khác để giữ hướng kẻ thù), biến thời gian xuất hiện để lưu trữ khoảng thời gian giữa các lần sinh sản, số lượng kẻ thù để lưu trữ số lượng kẻ thù tối đa đồng thời. Chúng tôi cũng sẽ thêm hai đường đạn (đường đạn và đường đạn của đối phương) bắn vào khối khởi động - điều đó sẽ giúp chúng ta tránh được lỗi sau này.

Tiếp theo, chúng tôi tạo trên bản cập nhật trò chơi mỗi khối… ms, chèn biến spawn_time vào đó. 200 (đi sang phải) hướng cho kẻ thù đó.

Tiếp theo, trong khối Enemy block đã tạo sẵn, chúng tôi thêm một số hiệu ứng đồ họa, đặt nó trên một ô trống ngẫu nhiên và gọi hàm pick_direction cho sprite này. Trong sprite của loại Kẻ thù tấn công tường, chúng tôi gọi cùng một chức năng, pick_direction.

Chức năng đó là gì? Đây là lúc mọi thứ bắt đầu trở nên phức tạp một chút, vì vậy hãy chờ đợi. Có 50% khả năng xe tăng của đối phương đi lên và 50% là đi xuống - chúng tôi thay đổi hình vẽ cho phù hợp. Bí quyết duy nhất ở đây là chúng ta cũng cần thay đổi giá trị tương ứng với xe tăng của đối phương cụ thể đó trong Địch_trục_sách thành hướng mới, vì vậy chúng ta sẽ bắn đạn đi đúng hướng. Để làm được điều đó, chúng tôi tìm chỉ mục của sprite đối phương trong Địch_trái_sách và thay đổi giá trị của vật phẩm đó trong danh sách Địch_cục.

Cuối cùng, hãy thêm các phát bắn. Chúng tôi thêm một bản cập nhật khác vào trò chơi sau mỗi khối 500 ms và đặt một vật phẩm cho mục địch trong Địch_trái_sách. Với 30% cơ hội một sprite của kẻ thù sẽ bắn ra đường đạn của kẻ thù theo hướng di chuyển của nó.

Nếu chúng ta khởi chạy trò chơi ở dạng mô phỏng ngay bây giờ, chúng ta có thể thấy xe tăng màu vàng của chúng ta và xe tăng của kẻ thù xuất hiện ở cùng một điểm và đi vào không gian trống. Chúng tôi có thể bắn và họ có thể bắn xe tăng màu vàng của chúng tôi, nhưng sẽ không có gì xảy ra. Cảm giác vẫn còn rất thiếu ý nghĩa:) Hãy thêm đồ trang trí và cơ chế trò chơi vào bước cuối cùng.

Bước 3: 42 của trò chơi

42 của trò chơi
42 của trò chơi
42 của trò chơi
42 của trò chơi
42 của trò chơi
42 của trò chơi

Chúng ta sẽ bắt đầu bước này bằng cách thêm tuổi thọ và điểm số từ tab Thông tin và đặt tuổi thọ thành 10 và điểm số bằng không. Sau đó, chúng tôi thêm bản đồ ô tập hợp khối vào…. Vẽ bản đồ tệp để trông giống như bạn thấy trong ảnh chụp màn hình ở trên. Đừng quên thêm các bức tường!

Chúng ta hãy thêm vào loại đạn của loại Đạn chồng lên loại Người chơi khác Loại loại riêng - đây là khi đạn của kẻ thù bắn trúng xe tăng màu vàng của chúng ta. Chúng tôi cần đảm bảo rằng những viên đạn này là đạn của kẻ thù chứ không phải của chúng tôi, vì vậy chúng tôi sẽ thêm điều kiện if bên trong khối và nếu nó được đánh giá là True, thì chúng tôi sẽ trừ một viên khỏi số lượng mạng. Tương tự như nó, trong một khối khác trên sprite của loại Projectile chồng lên nhau trong số Địch_trái_sách và thêm một điểm để ghi điểm.

Điều cuối cùng là điều kiện chiến thắng và thất bại - để chiến thắng, chúng tôi sẽ kiểm tra xem điểm cao hơn hay bằng 10 trong khối vĩnh viễn. Nếu đúng, thì chúng tôi hiển thị màn hình chiến thắng. Và trong khối không cuộc sống, chúng tôi hiển thị màn hình Game Over.

Bây giờ hãy thử nó trong mô phỏng để xem liệu trò chơi có chạy như mong đợi hay không. Sau đó tải nó lên GameGo và tận hưởng việc đập tan xe tăng của đối phương!

Bước 4: Trò chơi bất tận và các cải tiến

Trò chơi bất tận và những cải tiến
Trò chơi bất tận và những cải tiến

Trong kho lưu trữ GitHub của chúng tôi, bạn có thể tải xuống hai tệp cho trò chơi điện tử Makecode - một tệp giống hệt như bạn sẽ nhận được nếu làm theo hướng dẫn này và tệp kia là phiên bản nâng cấp, có tiến trình cấp được tạo ngẫu nhiên. Nó có 10 cấp độ, mỗi cấp độ được tạo ngẫu nhiên với số lượng kẻ thù tăng lên trong mỗi cấp độ liên tiếp.

Và tất nhiên, thậm chí còn có nhiều thứ mà bạn hoặc học viên của bạn có thể thêm vào trò chơi trên đó! Có âm nhạc hay hơn, những bức tường có thể phá vỡ, các điều kiện chiến thắng khác nhau, v.v.!

Nếu bạn thực hiện một phiên bản cải tiến của trò chơi, hãy chia sẻ nó trong phần bình luận bên dưới! Để biết thêm thông tin về GameGo và các phần cứng khác dành cho các nhà sản xuất và nhà giáo dục STEM, hãy truy cập trang web của chúng tôi, https://tinkergen.com/ và đăng ký blog của chúng tôi.

TinkerGen đã bắt đầu chiến dịch Kickstarter cho MARK (Make A Robot Kit), một bộ robot để dạy mã hóa, robot, AI!

Đề xuất: