Perkenalkan elemen-elemen seperti kerusakan pemain, mekanisme penyembuhan, dan lainnya dengan memasukkan sistem kesehatan ke dalam game Anda.
Menerapkan sistem kesehatan dalam game dapat sangat meningkatkan pengalaman bermain game dan menambah lapisan tantangan dan strategi tambahan. PyGame menyediakan seperangkat alat dan fungsi yang kuat untuk menggabungkan sistem kesehatan, membuatnya mudah untuk membuat pengalaman interaktif.
Buat Game Sederhana
Sebelum memulai, pastikan Anda sudah pip diinstal pada sistem Anda. Gunakan perintah ini untuk menginstal pygame perpustakaan:
pip instal pygame
Setelah itu, buat file bernama simple-game.py dan mulailah dengan membuat game sederhana dimana pemain bisa bergerak ke kiri dan ke kanan.
Kode yang digunakan dalam artikel ini tersedia di sini repositori GitHub dan gratis untuk Anda gunakan di bawah lisensi MIT.
Dalam putaran permainan dasar ini, tujuan pemain adalah untuk menghindari tabrakan dengan musuh.
impor pygame
impor acak# Inisialisasi PyGame
pygame.init()# Siapkan jendela permainan
lebar_jendela, tinggi_jendela = 800, 600
jendela = pygame.display.set_mode((lebar_jendela, tinggi_jendela))
pygame.display.set_caption("Demo Sistem Kesehatan")# Atribut pemain
lebar_pemain, tinggi_pemain = 50, 50
pemain_x, pemain_y = lebar_jendela // 2, tinggi_jendela - tinggi_pemain - 10
kecepatan_pemain = 1# Atribut musuh
lebar_musuh, tinggi_musuh = 50, 50
musuh_x, musuh_y = acak.randint(0, lebar_jendela - lebar_musuh), 0
kecepatan_musuh = 0.3# Putaran permainan
berlari = BENAR
ketika berlari:
untuk peristiwa di dalam pygame.event.get():
jika event.type == pygame. BERHENTI:
berlari = PALSU# Pindahkan pemain ke kiri atau kanan
kunci = pygame.key.get_pressed()
jika kunci[pygame. K_LEFT] Dan pemain_x > 0:
player_x -= kecepatan_pemain
jika kunci[pygame. K_KANAN] Dan player_x < lebar_jendela - lebar_pemain:
player_x += kecepatan_pemain# Pindahkan musuh ke bawah
musuh_y += kecepatan_musuh# Menggambar objek permainan
jendela.isi((0, 0, 0)) # Bersihkan layar
pygame.draw.rect (jendela, (255, 0, 0),
(pemain_x, pemain_y,
lebar_pemain, tinggi_pemain))
pygame.draw.rect (jendela, (0, 255, 0),
(musuh_x, musuh_y,
lebar_musuh, tinggi_musuh)) # Gambar musuh
pygame.display.update()
pygame.berhenti()
Jalankan kodenya, dan Anda akan melihat jendela dengan karakter pemain yang dapat Anda kontrol menggunakan tombol panah kiri dan kanan.
Sekarang setelah Anda memiliki penyiapan gim dasar, tentukan variabel dan konstanta yang terkait dengan kesehatan pemain. Anda dapat menggunakan sistem kesehatan sederhana di mana Anda dapat mewakili kesehatan pemain dengan nilai numerik. Anda juga dapat menentukan konstanta untuk kesehatan maksimal pemain dan jumlah kerusakan yang ditimbulkan oleh musuh.
Atur kesehatan pemain awal menjadi 100, tentukan kesehatan maksimum 100, dan atur kerusakan musuh menjadi 20. Nilai-nilai ini dapat disesuaikan dengan kebutuhan spesifik gim Anda.
# Kesehatan pemain
kesehatan_pemain = 100
maks_kesehatan = 100
kerusakan_musuh = 20
Menerapkan Mekanisme Kerusakan dan Penyembuhan
Untuk memperkenalkan mekanisme kerusakan dan penyembuhan, Anda perlu mendeteksi tabrakan antara pemain dan musuh dan menangani perubahan kesehatan yang sesuai. Anda juga dapat menerapkan mekanisme untuk menyembuhkan pemain saat mereka keluar dari layar.
Periksa apakah ada a benturan antar pemain dan musuh dengan membandingkan persegi panjang pembatas mereka. Jika tabrakan terdeteksi, kurangi nilai kerusakan musuh dari kesehatan pemain.
Selain itu, jika pemain berpindah dari bagian atas layar (player_y < 0), tambahkan 10 ke kesehatan mereka dan pastikan tidak melebihi kesehatan maksimum. Ini menciptakan mekanisme penyembuhan dan mengatur ulang posisi pemain ke bagian bawah layar.
Buat file baru bernama kerusakan-dan-penyembuhan.py dan tambahkan kode dengan pembaruan di bawah ini:
# Di dalam lingkaran permainan, setelah memperbarui posisi musuh
# Mendeteksi tabrakan antara pemain dan musuh
jika player_x < musuh_x + lebar musuh Dan \
player_x + player_width > enemy_x Dan \
player_y < enemy_y + enemy_height \
Dan player_y + player_height > enemy_y:
kesehatan_pemain -= kerusakan_musuh
cetak (kesehatan_pemain)
# Sembuhkan pemain saat mereka keluar dari layar
jika pemain_y < 0:
kesehatan_pemain += 10
cetak (kesehatan_pemain)
jika kesehatan_pemain > kesehatan_maks:
kesehatan_pemain = kesehatan_maks
pemain_y = tinggi_jendela - tinggi_pemain - 10
Di bawah ini adalah outputnya:
Mengelola Skenario Kematian Pemain dan Game Over
Untuk menangani skenario kematian pemain dan permainan berakhir, Anda perlu memeriksa apakah kesehatan pemain mencapai nol. Jika ya, tampilkan a Permainan telah berakhir pesan dan mulai ulang game.
Tambahkan centang untuk melihat apakah kesehatan pemain turun di bawah atau sama dengan nol. Jika kondisi ini benar, cetak Permainan telah berakhir dan mengatur ulang kesehatan dan posisi pemain.
Buat file baru bernama manage-player-death.py dan modifikasi kode dengan pembaruan di bawah ini:
# Setelah memperbarui posisi pemain
# Periksa apakah kesehatan pemain mencapai nol
jika kesehatan_pemain <= 0:
mencetak("Permainan telah berakhir")
kesehatan_pemain = kesehatan_maks
player_x = lebar_jendela // 2
pemain_y = tinggi_jendela - tinggi_pemain - 10
Termasuk Fitur Tambahan
Untuk lebih meningkatkan sistem kesehatan, Anda dapat memasukkan fitur tambahan. Di bawah ini adalah contohnya:
Kekuatan bertambah
Tentukan atribut power-up, seperti dimensi dan posisinya. Juga, tetapkan nilai kesehatan yang akan diperoleh pemain saat bertabrakan dengan power-up.
Di dalam game loop, deteksi tabrakan antara pemain dan power-up. Jika terjadi tabrakan, tingkatkan kesehatan pemain dengan nilai kesehatan power-up, pastikan tidak melebihi kesehatan maksimum. Kemudian posisikan ulang power-up secara acak di layar. Terakhir, gambar objek power-up di layar menggunakan persegi panjang biru.
Buat file baru bernama power-up.py dan tambahkan kode dengan pembaruan di bawah ini:
# Tentukan atribut power-up
power_up_width, power_up_height = 30, 30
power_up_x, power_up_y = 200,200
power_up_health_value = 50# Di dalam lingkaran permainan, setelah memperbarui posisi pemain
# Mendeteksi tabrakan antara pemain dan power-up
jika player_x < power_up_x + power_up_width Dan\
player_x + player_width > power_up_x \
Dan player_y < power_up_y + power_up_height\
Dan player_y + player_height > power_up_y:
player_health += power_up_health_value
jika kesehatan_pemain > kesehatan_maks:
kesehatan_pemain = kesehatan_maks
power_up_x, power_up_y = 200,200
# Gambar objek power-up
pygame.draw.rect (jendela, (0, 0, 255),
(power_up_x, power_up_y,
power_up_width,
power_up_height))
Di bawah ini adalah outputnya:
Untuk setiap fitur tambahan, Anda dapat menentukan variabel dan konstanta yang diperlukan, serta mengimplementasikan mekanisme yang sesuai di dalam loop game.
Praktik Terbaik untuk Sistem Kesehatan
Saat menerapkan sistem kesehatan di PyGame, ingatlah praktik terbaik berikut:
Menerapkan Sistem Berbasis Peristiwa
Alih-alih terus-menerus memeriksa tabrakan atau perubahan kesehatan dalam loop game, pertimbangkan untuk menggunakan sistem berbasis peristiwa. PyGame menyediakan kemampuan penanganan peristiwa, memungkinkan Anda untuk memicu tindakan terkait kesehatan berdasarkan peristiwa tertentu, seperti peristiwa tabrakan atau peristiwa peningkatan daya.
Menyeimbangkan Nilai Kesehatan
Sesuaikan nilai kesehatan, nilai kerusakan, dan tingkat penyembuhan dalam game Anda untuk memastikan pengalaman gameplay yang seimbang. Bermain-menguji dan mengumpulkan umpan balik dari pemain dapat membantu Anda menyempurnakan nilai-nilai ini untuk gameplay yang optimal.
Berikan umpan balik
Pastikan pemain menerima umpan balik yang jelas dan bermakna terkait status kesehatannya. Tampilkan bilah kesehatan secara mencolok di layar, gunakan isyarat visual seperti perubahan warna atau animasi untuk menunjukkan kerusakan atau penyembuhan, dan memberikan isyarat audio atau visual ketika kesehatan pemain mencapai tingkat kritis.
Dengan mengikuti praktik terbaik ini, Anda dapat membuat sistem kesehatan yang tangguh dan menarik yang berkontribusi pada pengalaman gameplay yang imersif.
Jadikan Game Lebih Menarik Dengan Health Bar
Menerapkan sistem kesehatan tidak hanya menambah lapisan tantangan tetapi juga membuat game lebih menarik bagi pemain. Dengan menggabungkan representasi visual dari kesehatan, seperti bar kesehatan, pemain dapat dengan mudah menilai status mereka saat ini dan membuat keputusan strategis. Selain itu, menambahkan level ke game Anda dapat semakin meningkatkan pengalaman bermain game.