Daftar Isi:
- Perlengkapan
- Langkah 1: Alter-ego kami - Tank Kuning
- Langkah 2: Keluarkan Musuh
- Langkah 3: 42 Game
- Langkah 4: Game dan Peningkatan Tanpa Akhir
Video: Battle City Remake di GameGo Dengan Makecode Arcade: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
GameGo adalah konsol portabel game retro kompatibel Microsoft Makecode yang dikembangkan oleh pendidikan TinkerGen STEM. Ini didasarkan pada chip STM32F401RET6 ARM Cortex M4 dan dibuat untuk pendidik STEM atau hanya orang-orang yang suka bersenang-senang membuat video game retro. Anda dapat mengikuti tutorial ini dan mencoba game di simulator Makecode Arcade dan kemudian menjalankannya di GameGo.
Dalam artikel ini kita akan mencoba membuat ulang game penembak tank Battle City klasik, awalnya diproduksi dan diterbitkan pada tahun 1985 oleh Namco untuk Nintendo Entertainment System (NES). Dalam permainan aslinya, pemain mengontrol tank dan menembakkan proyektil untuk menghancurkan tank musuh. Tank musuh berusaha untuk menghancurkan basis pemain, serta tank pemain itu sendiri. Kami akan membuat beberapa modifikasi pada permainan untuk lebih mengakomodasi praktik pemrograman blok dengan GameGo, tetapi pembuatan ulang kami akan tetap mempertahankan banyak kesamaan dengan permainan aslinya. Mari kita mulai!
Perlengkapan
GameGo
Langkah 1: Alter-ego kami - Tank Kuning
Buka Makecode Arcade di https://arcade.makecode.com/ dan klik proyek baru. Kami akan mulai membuat alter-ego kami tangki kuning. Pilih Set mySprite to sprite of kind player block dan gambar tangki kuning menghadap ke atas sebagai sprite awal kita, letakkan blok itu di dalam blok start. Tambahkan pindahkan mySprite dengan blok tombol. Sekarang kami memiliki tangki yang dapat kami pindahkan dengan tombol dalam simulasi! Hebat, tetapi selalu menghadap ke arah yang sama, bahkan ketika kita bergerak ke bawah atau ke samping …
Untuk memperbaikinya, mari tambahkan empat blok lagi, satu untuk setiap tombol arah. Buat variabel baru, yang disebut arah - kita akan menyimpan arah pergerakan tangki kita di dalamnya, 100 akan sesuai dengan turun, -100 akan sesuai dengan naik, 200 untuk kanan dan -200 untuk kiri. Mengapa angka-angka ini? Anda akan lihat nanti, ketika kami menambahkan proyektil yang akan ditembakkan oleh tangki kami. Logika dalam setiap empat blok ini sangat sederhana - kami memeriksa apakah arah baru (dari penekanan tombol) sama dengan arah sebelumnya. Jika ya, kami pada dasarnya tidak melakukan perubahan apa pun. Jika tidak, kita mengubah sprite tangki dan dalam kasus dengan arah bawah dan kiri kita membalik gambar sprite untuk menghindari menggambar sprite tambahan. Akhirnya mari kita tetapkan nilai awal arah ke -100 (tank ke atas), karena ini adalah cara tank kita memulai permainan. Coba pindahkan tangki kuning sekarang, sprite akan berubah sesuai dengan arah gerakan sekarang! Luar biasa, sekarang mari kita tambahkan peluru.
Kami akan menembakkan peluru dengan set proyektil ke proyektil (menggambar kotak perak kecil untuk sprite itu) dari mySprite dengan kecepatan vx vy. Di dalam tombol aktif Blok yang ditekan, kita perlu memeriksa nilai mutlak arah untuk melihat apakah tangki kuning menghadap ke atas/bawah kiri/kanan. Kami kemudian melanjutkan untuk menembakkan proyektil dengan variabel kecepatan arah - itu sebabnya kami memiliki -100/100/-200/200 untuk nilai arah.
Sekarang kami memiliki tangki kuning yang dapat menembakkan proyektil dan bergerak. Jika tank simulasi kuning bisa merasakannya pasti akan merasa kesepian di kekosongan kosong ini tanpa musuh dan hal yang harus dilakukan. Jadi, untuk langkah selanjutnya mari kita tambahkan musuh untuk menghabiskan waktu.
Langkah 2: Keluarkan Musuh
Kami akan memulai langkah ini dengan membuat sekelompok variabel baru: dua array (satu untuk menahan sprite musuh dan satu lagi untuk menahan arah musuh), variabel waktu spawn untuk menyimpan periode waktu antara spawn, jumlah musuh untuk menyimpan jumlah maksimum musuh pada waktu bersamaan. Kami juga akan menambahkan dua proyektil (proyektil dan proyektil musuh) yang ditembakkan di blok awal - yang akan membantu kami menghindari kesalahan nanti.
Selanjutnya kita buat pada game update setiap … ms blok, masukkan variabel spawn_time di sana. Logika di dalam blok sederhana - jika jumlah total musuh di medan perang kurang dari jumlah maksimum musuh yang diizinkan, tambahkan musuh ke daftar_sprite_musuh dan tambahkan 200 (ke kanan) arah untuk musuh itu.
Selanjutnya, di blok Musuh jenis sprite yang dibuat, kami menambahkan beberapa efek grafis, menempatkannya di ubin kosong acak dan memanggil fungsi pick_direction untuk sprite ini. Pada sprite of kind Musuh menabrak dinding, kita memanggil fungsi yang sama, pick_direction.
Apa yang ada dalam fungsi itu? Di sinilah segalanya mulai menjadi sedikit rumit, jadi tunggu sebentar. Ada kemungkinan 50 persen tank musuh naik dan 50 persennya turun - kami mengubah sprite sesuai dengan itu. Satu-satunya trik di sini adalah kita juga perlu mengubah nilai yang sesuai dengan tank musuh tertentu di daftar musuh_arahan ke arah barunya, jadi kita akan membuatnya menembakkan peluru ke arah yang benar. Untuk itu kita cari indeks sprite musuh di daftar musuh_sprite_dan ubah nilai item itu di daftar musuh_arahan.
Akhirnya, mari tambahkan tembakan menembak. Kami menambahkan satu lagi pada pembaruan game setiap blok 500 ms dan menempatkan item untuk di daftar musuh_sprite. Dengan kemungkinan 30% sprite musuh akan menembakkan proyektil musuh ke arah pergerakannya.
Jika kita meluncurkan game dalam simulasi sekarang, kita dapat melihat tank kuning dan tank musuh kita muncul di titik yang sama dan pergi ke ruang kosong. Kita bisa menembak dan mereka bisa menembak tank kuning kita, tapi tidak akan terjadi apa-apa. Rasanya masih begitu hampa makna:) Mari kita tambahkan dekorasi dan mekanisme permainan sebagai langkah terakhir.
Langkah 3: 42 Game
Kita akan memulai langkah ini dengan menambahkan kehidupan dan skor dari tab Info dan mengatur kehidupan menjadi 10 dan skor menjadi nol. Kemudian kami menambahkan peta ubin blok set ke …. Gambar peta file agar terlihat seperti yang Anda lihat pada tangkapan layar di atas. Jangan lupa untuk menambahkan dinding!
Mari kita tambahkan sprite of kind Proyektil tumpang tindih dengan Sprite of kind Player lainnya - ini adalah saat peluru musuh mengenai tangki kuning kita. Kita perlu memastikan bahwa proyektil ini adalah peluru musuh dan bukan milik kita sendiri, jadi kita akan menambahkan bahwa jika kondisi dalam blok dan jika bernilai True, maka kita kurangi satu dari jumlah hidup. Mirip dengan itu, di blok lain pada sprite of kind Proyektil tumpang tindih dengan Sprite of kind Enemy lainnya kami memastikan bahwa proyektil adalah proyektil dari tangki kuning dan jika kondisi ini bernilai True, kami menghancurkan Sprite lain (tank musuh), menghapusnya dari daftar dari musuh_sprite_list dan tambahkan satu untuk mencetak gol.
Hal terakhir adalah kondisi kemenangan dan kekalahan - untuk kemenangan, kami akan memeriksa apakah skor lebih tinggi atau sama dengan 10 di blok selamanya. Jika ya, maka kami menunjukkan layar kemenangan. Dan di blok kehidupan nol kami menampilkan layar Game Over.
Sekarang cobalah dalam simulasi untuk melihat apakah game berjalan seperti yang diharapkan. Kemudian unggah ke GameGo dan nikmati menghancurkan tank musuh!
Langkah 4: Game dan Peningkatan Tanpa Akhir
Di repositori GitHub kami, Anda dapat mengunduh dua file untuk arcade Makecode - satu sama persis dengan yang akan Anda dapatkan jika Anda mengikuti instruksi ini dan yang lainnya adalah versi yang ditingkatkan, yang memiliki perkembangan level yang dihasilkan secara acak. Ini memiliki 10 level, masing-masing dihasilkan secara acak dengan peningkatan jumlah musuh di setiap level berturut-turut.
Dan tentu saja, ada lebih banyak hal yang dapat Anda atau siswa Anda tambahkan ke dalam permainan selain itu! Ada musik yang lebih baik, dinding yang bisa dipecahkan, kondisi kemenangan yang berbeda, dan sebagainya!
Jika Anda membuat versi game yang lebih baik, bagikan di komentar di bawah! Untuk informasi lebih lanjut tentang GameGo dan perangkat keras lainnya untuk pembuat dan pendidik STEM, kunjungi situs web kami, https://tinkergen.com/ dan berlangganan blog kami.
TinkerGen telah memulai kampanye Kickstarter untuk MARK (Make A Robot Kit), kit robot untuk mengajar coding, robotika, AI!
Direkomendasikan:
(Multiplayer)Bertarung di GameGo Dengan Makecode Arcade: 6 Langkah
(Multiplayer) Bertarung di GameGo Dengan Makecode Arcade: GameGo adalah konsol portabel game retro kompatibel Microsoft Makecode yang dikembangkan oleh pendidikan TinkerGen STEM. Ini didasarkan pada chip STM32F401RET6 ARM Cortex M4 dan dibuat untuk pendidik STEM atau hanya orang-orang yang suka bersenang-senang membuat video retro
Platformer Dengan Level Tak Terbatas di GameGo Dengan Makecode Arcade: 5 Langkah (dengan Gambar)
Platformer Dengan Level Tak Terbatas di GameGo Dengan Makecode Arcade: GameGo adalah konsol portabel game retro kompatibel Microsoft Makecode yang dikembangkan oleh pendidikan TinkerGen STEM. Ini didasarkan pada chip STM32F401RET6 ARM Cortex M4 dan dibuat untuk pendidik STEM atau hanya orang-orang yang suka bersenang-senang membuat video game retro
Cara Meneliti Corona Tanpa Menghancurkan Laptop (REMAKE): 8 Langkah
Cara Meneliti Corona Tanpa Menghancurkan Laptop (REMAKE): Tidak ada lagi screenshot jelek. Tidak ada lagi gadis anime oleh FabyRM. Hal ini benar-benar dapat dibaca sekarang. Sembuhkan dunia, sembuhkan Corona. Buat ulang!? YEEEESS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!??????Jadilah ilmuwan tanpa menjadi ilmuwan dengan kekuatan sihir digital! Simu
Mesin Arcade Dengan Mengubah LED Marquee: 5 Langkah (dengan Gambar)
Mesin Arcade Dengan Mengubah LED Marquee: Suku Cadang yang Diperlukan: Anda dapat memotong laser mount tenda LED menggunakan file di Instructable atau bagi mereka yang tidak memiliki akses ke pemotong laser, itu juga tersedia lengkap. Opsi Kit / Anda Potong Laser dan Merakit Pixelcade P3 Tenda LED
Lampu Dinding LED Night City Skyline: 6 Langkah (dengan Gambar)
Lampu Dinding LED Night City Skyline: Instruksi ini menjelaskan bagaimana saya membuat lampu dinding dekoratif. Idenya adalah cakrawala kota malam, dengan beberapa jendela menyala di gedung-gedung. Lampu diwujudkan dengan panel plexiglass biru semitransparan dengan siluet bangunan yang dicat dengan warna