Farih.co.id
Home Programming Bagaimana Menerapkan Sistem Kesehatan di Python Arcade

Bagaimana Menerapkan Sistem Kesehatan di Python Arcade

game over screen 1

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 install 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.

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

 import arcade


SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600


PLAYER_MOVEMENT_SPEED = 5
white = arcade.color.WHITE
blue = arcade.color.BLUE
red = arcade.color.RED

class GameWindow(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height)
        arcade.set_background_color(white)

        
        self.player = arcade.SpriteCircle(30, blue)
        self.enemy = arcade.SpriteCircle(30, red)
        self.player.center_x = 100
        self.player.center_y = 100
        self.enemy.center_x = 400
        self.enemy.center_y = 300

    def on_draw(self):
        arcade.start_render()
        self.player.draw()
        self.enemy.draw()

    def update(self, delta_time):
        pass

    def on_key_press(self, key, modifiers):
        if key == arcade.key.LEFT:
            self.player.center_x -= PLAYER_MOVEMENT_SPEED
        elif key == arcade.key.RIGHT:
            self.player.center_x += PLAYER_MOVEMENT_SPEED
        elif key == arcade.key.UP:
            self.player.center_y += PLAYER_MOVEMENT_SPEED
        elif key == arcade.key.DOWN:
            self.player.center_y -= PLAYER_MOVEMENT_SPEED

def main():
    game = GameWindow(SCREEN_WIDTH, SCREEN_HEIGHT)
    arcade.run()

if __name__ == "__main__":
    main()

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

game arcade sederhana dengan sistem

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:

 class GameWindow(arcade.Window):
    def __init__(self, width, height):
        
        
        self.player_health = 100

        
        self.heal_rate = 1

        
        self.heal_timer = 0

    def update(self, delta_time):
        
        
        self.heal_timer += delta_time

        
        if self.heal_timer >= 2:
            self.player_health += self.heal_rate
            self.heal_timer = 0

        
        if self.player_health > 100:
            self.player_health = 100

Menerapkan Mekanisme Kerusakan dan Penyembuhan

Untuk menerapkan mekanisme kerusakan dan penyembuhan, deteksi 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:

 class GameWindow(arcade.Window):
    def __init__(self, width, height):
        

    def update(self, delta_time):
        
        if 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:

 class GameWindow(arcade.Window):
    def __init__(self, width, height):
        

    def update(self, delta_time):
        

        
        if self.player_health <= 0:
            
            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:

 class GameWindow(arcade.Window):
    def __init__(self, width, height):
        

    def on_draw(self):
        arcade.start_render()
        self.player.draw()
        self.enemy.draw()
        gray = arcade.color.LIGHT_GRAY
        green = arcade.color.GREEN

        
        arcade.draw_rectangle_filled(SCREEN_WIDTH // 2, 20,
                                     SCREEN_WIDTH, 20, gray)

        health_width = self.player_health / 100 * SCREEN_WIDTH

        arcade.draw_rectangle_filled(health_width // 2, 20,
                                     health_width, 20, green)

Di bawah ini adalah outputnya:

game arcade sederhana dengan pemain, musuh, dan bilah kesehatan

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:

 
black = arcade.color.BLACK
text = f"Health: {self.player_health}"
arcade.draw_text(text, 10, 10, black, 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:

 
if arcade.check_for_collision(self.player, self.power_up):
    self.player_health += 20

    
    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:

 
if arcade.check_for_collision(self.player, self.enemy):
    if self.enemy.type == "weak":
        self.player_health -= 5
    elif self.enemy.type == "strong":
        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 selama bermain game.

Dengan mengikuti praktik terbaik ini, Anda dapat membuat Sistem Kesehatan yang tangguh 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 dari kesehatan memungkinkan pemain untuk dengan mudah menilai status mereka saat ini, meningkatkan pencelupan dan pengambilan keputusan strategis.

Comment
Share:

Leave a Reply

Your email address will not be published. Required fields are marked *

Ad