Ingin menyempurnakan penanganan bahaya game Anda? Ubah kehidupan menjadi kesehatan dan tambahkan dimensi ekstra ke gameplay Anda.

Menambahkan sistem kesehatan ke game arkade Anda dapat meningkatkan pengalaman pemain dan dapat menambah lapisan tantangan dan keterlibatan ekstra. Anda dapat menciptakan pengalaman gameplay yang lebih imersif dengan menampilkan kesehatan pemain dan mekanik untuk kerusakan dan penyembuhan.

Untungnya, mengimplementasikan sistem kesehatan dengan Python menggunakan perpustakaan Arcade sangatlah mudah dan hanya membutuhkan beberapa langkah.

Buat Game Sederhana

Pertama, instal pip di perangkat Anda dan gunakan perintah di bawah ini untuk menginstal perpustakaan arcade:

pip menginstal arcade

Setelah itu mulailah dengan membuat game sederhana menggunakan library Arcade. Game ini akan menampilkan karakter pemain yang dapat bergerak ke kiri, kanan, atas, dan bawah serta objek musuh yang menjadi ancaman bagi pemain.

Kode yang digunakan dalam artikel ini tersedia di sini repositori GitHub dan gratis untuk Anda gunakan di bawah lisensi MIT.

instagram viewer

Buat file baru bernama simple-game.py dan tambahkan kode di bawah ini:

impor arcade

# Tetapkan dimensi jendela
SCREEN_WIDTH = 800
LAYAR_TINGGI = 600

# Atur kecepatan gerakan pemain
PLAYER_MOVEMENT_SPEED = 5
putih = arcade.warna. PUTIH
biru = arcade.color. BIRU
merah = arcade.warna. MERAH

kelasGameWindow(arcade. Jendela):
def__init__(diri, lebar, tinggi):
super().__init__(lebar, tinggi)
arcade.set_background_color (putih)

# Buat objek pemain dan musuh
self.player = arcade. SpriteLingkaran(30, biru)
diri.musuh = arcade. SpriteLingkaran(30, merah)
self.player.center_x = 100
self.player.center_y = 100
self.enemy.center_x = 400
self.enemy.center_y = 300

defon_draw(diri sendiri):
arcade.start_render()
self.player.draw()
self.enemy.draw()

defmemperbarui(mandiri, waktu_delta):
lulus

defon_key_press(mandiri, kunci, pengubah):
jika kunci == arcade.kunci. KIRI:
self.player.center_x -= PLAYER_MOVEMENT_SPEED
elif kunci == arcade.kunci. BENAR:
self.player.center_x += PLAYER_MOVEMENT_SPEED
elif kunci == arcade.kunci. KE ATAS:
self.player.center_y += PLAYER_MOVEMENT_SPEED
elif kunci == arcade.kunci. TURUN:
self.player.center_y -= PLAYER_MOVEMENT_SPEED

defutama():
game = GameWindow (SCREEN_WIDTH, SCREEN_HEIGHT)
arcade.lari()

jika __nama__ == "__utama__":
utama()

Anda akan melihat jendela yang berisi dua karakter, diwakili oleh lingkaran biru dan merah:

Untuk menerapkan sistem kesehatan, tentukan variabel dan konstanta yang terkait dengan kesehatan. Anda akan menggunakannya untuk melacak kesehatan pemain saat ini dan menentukan aturan untuk kerusakan dan penyembuhan. Tambahkan kode berikut di dalam GameWindow kelas:

kelasGameWindow(arcade. Jendela):
def__init__(diri, lebar, tinggi):
# ...
# Variabel dan konstanta terkait kesehatan
self.player_health = 100

# Poin kesehatan disembuhkan per detik
self.heal_rate = 1

# Timer untuk penyembuhan
self.heal_timer = 0

defmemperbarui(mandiri, waktu_delta):
# ...
# Perbarui waktu penyembuhan
self.heal_timer += delta_time

# Sembuhkan kesehatan pemain setiap 2 detik
jika self.heal_timer >= 2:
self.player_health += self.heal_rate
self.heal_timer = 0

# Pastikan kesehatan tidak melebihi nilai maksimum
jika self.player_health > 100:
self.player_health = 100

Menerapkan Mekanisme Kerusakan dan Penyembuhan

Untuk menerapkan mekanisme kerusakan dan penyembuhan, mendeteksi tabrakan antara pemain dan musuh. Mengurangi kesehatan pemain saat bertabrakan dengan musuh dan menyembuhkan kesehatan pemain setiap 2 detik saat tidak bertabrakan. Modifikasi memperbarui() metode dan tambahkan kode berikut:

kelasGameWindow(arcade. Jendela):
def__init__(diri, lebar, tinggi):
# ...

defmemperbarui(mandiri, waktu_delta):
# Mendeteksi tabrakan antara pemain dan musuh
jika arcade.check_for_collision (self.player, self.enemy):
self.player_health -= 5

# ...

Mengelola Skenario Kematian Pemain dan Game Over

Untuk mengelola skenario kematian pemain dan permainan berakhir, periksa apakah kesehatan pemain mencapai nol atau lebih rendah. Jika kesehatan turun menjadi nol, anggap pemain mati dan akhiri permainan. Modifikasi memperbarui() metode dengan kode berikut:

kelasGameWindow(arcade. Jendela):
def__init__(diri, lebar, tinggi):
# ...

defmemperbarui(mandiri, waktu_delta):
# ...

# Periksa apakah kesehatan pemain nol atau lebih rendah
jika self.player_health <= 0:
# Akhiri permainan
arcade.close_window()

# ...

Memvisualisasikan Bar Kesehatan

Representasi visual dari kesehatan pemain dapat sangat meningkatkan pengalaman bermain game. Buat bilah kesehatan menggunakan persegi panjang untuk menunjukkan tingkat kesehatan saat ini. Buat file baru bernama health-bar.py dan tambahkan kode dengan pembaruan di bawah ini:

kelasGameWindow(arcade. Jendela):
def__init__(diri, lebar, tinggi):
# ...

defon_draw(diri sendiri):
arcade.start_render()
self.player.draw()
self.enemy.draw()
abu-abu = arcade.color. ABU-ABU MUDA
hijau = arcade.color. HIJAU

# Menggambar bar kesehatan
arcade.draw_rectangle_filled (SCREEN_WIDTH // 2, 20,
SCREEN_WIDTH, 20, abu-abu)

health_width = self.player_health / 100 * SCREEN_WIDTH

arcade.draw_rectangle_filled (kesehatan_lebar // 2, 20,
lebar_kesehatan, 20, hijau)

Di bawah ini adalah outputnya:

Termasuk Fitur Tambahan

Anda dapat lebih meningkatkan sistem kesehatan dengan lebih banyak fitur, seperti di bawah ini.

Tampilan Kesehatan Numerik

Selain bilah kesehatan, Anda dapat menampilkan sisa kesehatan sebagai nilai numerik di layar. Ini memberikan indikasi yang tepat tentang status kesehatan pemain. Tambahkan kode berikut di dalam on_draw() metode:

# Di dalam metode on_draw()
hitam = arcade.warna. HITAM
teks = f"Kesehatan: {self.player_health}"
arcade.draw_text (teks, 10, 10, hitam, 14)

Peningkatan Kesehatan

Untuk memperkenalkan peningkatan kesehatan, Anda dapat membuat objek khusus yang meningkatkan kesehatan pemain saat bertabrakan dengannya. Berikut adalah contoh bagaimana Anda dapat menerapkan fitur ini:

# Di dalam metode update()
jika arcade.check_for_collision (self.player, self.power_up):
self.player_health += 20

# Hapus power-up dari game
self.power_up.kill()

Jenis Musuh yang Bervariasi

Untuk menambah kedalaman permainan Anda, Anda dapat memperkenalkan berbagai jenis musuh yang menimbulkan berbagai tingkat kerusakan pada pemain. Ini menambahkan elemen strategis dan memungkinkan pengalaman gameplay yang lebih beragam. Berikut implementasi dari fitur ini:

# Di dalam metode update()
jika arcade.check_for_collision (self.player, self.enemy):
jika self.enemy.type == "lemah":
self.player_health -= 5
elif self.enemy.type == "kuat":
self.player_health -= 20

Dengan memasukkan fitur tambahan ini ke dalam penerapan sistem kesehatan, Anda dapat menciptakan pengalaman permainan yang lebih dinamis dan menantang bagi pemain Anda.

Praktik Terbaik untuk Sistem Kesehatan

Saat menerapkan sistem kesehatan di game arkade Anda, penting untuk mengikuti praktik terbaik untuk memastikan sistem tersebut kuat dan efisien. Berikut adalah beberapa praktik terbaik yang perlu diingat:

Jadikan Modular

Pertahankan fungsionalitas sistem kesehatan dalam kelas atau modul terpisah agar tetap modular dan mudah digunakan kembali di berbagai proyek game. Ini mempromosikan organisasi kode dan pemisahan masalah.

Validasi Masukan dan Pengamanan

Terapkan validasi input untuk mencegah kode Anda menetapkan nilai kesehatan yang tidak valid. Perlindungan yang sama harus melindungi dari nilai kesehatan yang tidak valid ketika terjadi kerusakan atau penyembuhan.

Mekanisme Simpan dan Muat

Terapkan mekanisme simpan dan muat yang menyertakan status kesehatan pemain. Ini memungkinkan pemain untuk melanjutkan permainan dengan progres mereka utuh, termasuk kesehatan mereka, bahkan setelah keluar dari permainan.

Pengujian dan Penanganan Kesalahan

Uji implementasi Sistem Kesehatan secara menyeluruh untuk memverifikasi kebenaran dan keandalannya. Gunakan teknik penanganan kesalahan yang sesuai untuk menangani pengecualian dan kasus tepi secara efektif.

Umpan Balik Kesehatan yang Konsisten

Berikan umpan balik yang konsisten dan jelas kepada pemain tentang status kesehatannya. Anda dapat menambahkan efek audio, isyarat visual, atau bahkan umpan balik haptic, memastikan bahwa pemain mengetahui kondisi kesehatan mereka dalam game dan dapat membuat keputusan yang tepat selama bermain game.

Dengan mengikuti praktik terbaik ini, Anda dapat membuat Sistem Kesehatan yang kuat dan efektif yang meningkatkan pengalaman bermain game arcade Anda sambil mempertahankan kualitas dan keterbacaan kode.

Jadikan Game Lebih Menyenangkan Dengan Sistem Kesehatan

Menambahkan Sistem Kesehatan ke game Anda dapat secara signifikan meningkatkan pengalaman pemain secara keseluruhan. Ini memperkenalkan elemen risiko dan tantangan, membuat gameplay lebih menarik dan bermanfaat.

Representasi visual kesehatan memungkinkan pemain untuk dengan mudah menilai status mereka saat ini, meningkatkan pencelupan dan pengambilan keputusan strategis.