Oyununuzun tehlikeyi ele alışını geliştirmek mi istiyorsunuz? Hayatları sağlığa dönüştürün ve oyununuza ekstra bir boyut katın.
Atari oyununuza bir sağlık sistemi eklemek, oyuncu deneyimini geliştirebilir ve ekstra bir meydan okuma ve katılım katmanı ekleyebilir. Oyuncunun sağlığının ve hasar ve iyileştirme mekaniklerinin gösterilmesiyle daha sürükleyici bir oyun deneyimi yaratabilirsiniz.
Neyse ki, Arcade kitaplığını kullanarak Python'da bir sağlık sistemi uygulamak basittir ve yalnızca birkaç adım gerektirir.
Basit Bir Oyun Yaratın
Birinci, cihazınıza pip yükleyin ve arcade kitaplığını yüklemek için aşağıdaki komutu kullanın:
pip yükleme çarşı
Bundan sonra, Arcade kitaplığını kullanarak basit bir oyun oluşturarak başlayın. Bu oyunda sola, sağa, yukarı ve aşağı hareket edebilen bir oyuncu karakteri ve oyuncu için tehdit oluşturan bir düşman nesnesi yer alacak.
Bu makalede kullanılan kod bu makalede mevcuttur. GitHub deposu ve MIT lisansı altında ücretsiz olarak kullanabilirsiniz.
adlı yeni bir dosya oluşturun. basit oyun.py ve aşağıdaki kodu ekleyin:
içe aktarmak oyun makinesi
# Pencere boyutlarını ayarla
EKRAN_GENİŞLİK = 800
EKRAN_YÜKSEKLİK = 600# Oyuncu hareket hızını ayarla
OYUNCU_MOVEMENT_SPEED = 5
beyaz = çarşı.renk. BEYAZ
mavi = çarşı.renk. MAVİ
kırmızı = çarşı.renk. KIRMIZIsınıfOyun Penceresi(oyun makinesi. pencere):
kesin__içinde__(öz, genişlik, yükseklik):
super().__init__(genişlik, yükseklik)
arcade.set_background_color (beyaz)# Oyuncu ve düşman nesneleri oluşturun
self.player = çarşı. Hareketli Daire(30, mavi)
self.enemy = çarşı. Hareketli Daire(30, kırmızı)
self.player.center_x = 100
self.player.center_y = 100
self.düşman.center_x = 400
self.düşman.center_y = 300kesinon_draw(kendi):
arcade.start_render()
self.player.draw()
self.düşman.draw()kesingüncelleme(öz, delta_time):
geçmekkesinon_key_press(self, key, değiştiriciler):
eğer anahtar == çarşı.key. SOL:
self.player.center_x -= PLAYER_MOVEMENT_SPEED
elif anahtar == çarşı.key. SAĞ:
self.player.center_x += PLAYER_MOVEMENT_SPEED
elif anahtar == çarşı.key. YUKARI:
self.player.center_y += PLAYER_MOVEMENT_SPEED
elif anahtar == çarşı.key. AŞAĞI:
self.player.center_y -= PLAYER_MOVEMENT_SPEEDkesinana():
oyun = GameWindow (SCREEN_WIDTH, SCREEN_HEIGHT)
çarşı.run()
eğer __isim__ == "__ana__":
ana()
Mavi ve kırmızı dairelerle temsil edilen iki karakter içeren bir pencere görmelisiniz:
Sağlık sistemini uygulamak için sağlıkla ilgili değişkenleri ve sabitleri tanımlayın. Bunları oyuncunun mevcut sağlığını takip etmek ve hasar ve iyileştirme kurallarını belirlemek için kullanacaksınız. İçine aşağıdaki kodu ekleyin Oyun Penceresi sınıf:
sınıfOyun Penceresi(oyun makinesi. pencere):
kesin__içinde__(öz, genişlik, yükseklik):
# ...
# Sağlıkla ilgili değişkenler ve sabitler
self.player_health = 100# Saniyede iyileşen sağlık puanı
self.heal_rate = 1# İyileşme için zamanlayıcı
self.heal_timer = 0kesingüncelleme(öz, delta_time):
# ...
# İyileşme zamanlayıcısını güncelle
self.heal_timer += delta_time# Her 2 saniyede bir oyuncunun sağlığını iyileştir
eğer self.heal_timer >= 2:
self.player_health += self.heal_rate
self.heal_timer = 0
# Sağlığın maksimum değeri aşmadığından emin olun
eğer self.player_health > 100:
self.player_health = 100
Hasar ve İyileştirme Mekaniğini Uygulama
Hasar ve iyileştirme mekaniğini uygulamak, oyuncu ve düşman arasındaki çarpışmaları tespit edin. Düşmanla çarpıştıklarında oyuncunun sağlığını azaltın ve çarpışmadıklarında oyuncunun sağlığını her 2 saniyede bir iyileştirin. Değiştirmek güncelleme() yöntemini seçin ve aşağıdaki kodu ekleyin:
sınıfOyun Penceresi(oyun makinesi. pencere):
kesin__içinde__(öz, genişlik, yükseklik):
# ...kesingüncelleme(öz, delta_time):
# Oyuncu ve düşman arasındaki çarpışmaları algıla
eğer arcade.check_for_collision (self.player, self.düşman):
self.player_health -= 5
# ...
Oyuncu Ölümü ve Oyun Bitti Senaryolarını Yönetme
Oyuncu ölümü ve oyun sonu senaryolarını yönetmek için oyuncunun sağlığının sıfıra veya altına inip ulaşmadığını kontrol edin. Sağlık sıfıra düşerse, oyuncuyu ölü kabul edin ve oyunu bitirin. Değiştirmek güncelleme() aşağıdaki kod ile yöntem:
sınıfOyun Penceresi(oyun makinesi. pencere):
kesin__içinde__(öz, genişlik, yükseklik):
# ...kesingüncelleme(öz, delta_time):
# ...# Oyuncu sağlığının sıfır veya altında olup olmadığını kontrol edin
eğer self.player_health <= 0:
# Oyunu bitir
çarşı.close_window()
# ...
Sağlık Çubuğunu Görselleştirme
Oyuncunun sağlığının görsel bir temsili, oyun deneyimini büyük ölçüde geliştirebilir. Mevcut sağlık seviyesini göstermek için dikdörtgenleri kullanarak bir sağlık çubuğu oluşturun. adlı yeni bir dosya oluşturun. sağlık-bar.py ve aşağıdaki güncellemelerle kodu ekleyin:
sınıfOyun Penceresi(oyun makinesi. pencere):
kesin__içinde__(öz, genişlik, yükseklik):
# ...kesinon_draw(kendi):
arcade.start_render()
self.player.draw()
self.düşman.draw()
gri = çarşı.renk. AÇIK GRİ
yeşil = çarşı.renk. YEŞİL# Sağlık çubuğunu çizin
arcade.draw_rectangle_filled (SCREEN_WIDTH // 2, 20,
EKRAN GENİŞLİĞİ, 20, gri)sağlık_genişliği = self.player_health / 100 * EKRAN GENİŞLİĞİ
arcade.draw_rectangle_filled (sağlık_genişliği // 2, 20,
sağlık genişliği, 20, yeşil)
Çıktı aşağıdadır:
Ek Özellikler Dahil
Aşağıdakiler gibi daha fazla özellik ile sağlık sistemini daha da geliştirebilirsiniz.
Sayısal Sağlık Ekranı
Sağlık çubuğuna ek olarak, kalan sağlığı ekranda sayısal bir değer olarak görüntüleyebilirsiniz. Bu, oyuncunun sağlık durumunun kesin bir göstergesini sağlar. İçine aşağıdaki kodu ekleyin on_draw() yöntem:
# on_draw() yönteminin içinde
siyah = çarşı.renk. SİYAH
metin = Sağlık: {self.player_health}"
arcade.draw_text (metin, 10, 10, siyah, 14)
Sağlık Güçlendirmeleri
Sağlık güçlendirmelerini tanıtmak için, onlarla çarpıştıklarında oyuncunun sağlığını artıran özel nesneler oluşturabilirsiniz. İşte bu özelliği nasıl uygulayabileceğinize dair bir örnek:
# update() yönteminin içinde
eğer arcade.check_for_collision (self.player, self.power_up):
self.player_health += 20
# Güçlendirmeyi oyundan kaldır
self.power_up.kill()
Çeşitli Düşman Türleri
Oyununuza derinlik katmak için, oyuncuya farklı seviyelerde hasar veren farklı düşman türleri tanıtabilirsiniz. Bu, stratejik bir unsur ekler ve daha çeşitli oyun deneyimlerine izin verir. İşte bu özelliğin bir uygulaması:
# update() yönteminin içinde
eğer arcade.check_for_collision (self.player, self.düşman):
eğer self.düşman.tip == "zayıf":
self.player_health -= 5
elif self.düşman.tip == "güçlü":
self.player_health -= 20
Bu ek özellikleri sağlık sistemi uygulamanıza dahil ederek oyuncularınız için daha dinamik ve zorlu oyun deneyimleri oluşturabilirsiniz.
Sağlık Sistemi İçin En İyi Uygulamalar
Atari oyununuzda bir sağlık sistemi uygularken, sistemin sağlam ve verimli olmasını sağlamak için en iyi uygulamaları takip etmeniz önemlidir. Akılda tutulması gereken en iyi uygulamalardan bazıları şunlardır:
Modüler Yap
Farklı oyun projelerinde modüler ve kolayca yeniden kullanılabilir durumda tutmak için sağlık sistemi işlevselliğini ayrı bir sınıf veya modül içinde tutun. Bu, kod organizasyonunu ve endişelerin ayrılmasını teşvik eder.
Girdi Doğrulama ve Güvenlik Önlemleri
Kodunuzun geçersiz sistem durumu değerleri atamasını önlemek için giriş doğrulaması uygulayın. Aynı önlemler, hasar veya iyileşme meydana geldiğinde geçersiz sağlık değerlerine karşı koruma sağlamalıdır.
Kaydetme ve Yükleme Mekanizması
Oyuncunun sağlık durumunu içeren bir kaydetme ve yükleme mekanizması uygulayın. Bu, oyuncuların oyundan çıktıktan sonra bile sağlıkları da dahil olmak üzere ilerlemeleri bozulmadan oyuna devam etmelerini sağlar.
Test Etme ve Hata İşleme
Doğruluğunu ve güvenilirliğini doğrulamak için Sağlık Sistemi uygulamasını kapsamlı bir şekilde test edin. İstisnaları ve uç vakaları etkili bir şekilde ele almak için uygun hata işleme tekniklerini kullanın.
Tutarlı Sağlık Geri Bildirimi
Oyuncuya sağlık durumu hakkında tutarlı ve net geri bildirim sağlayın. Ses efektleri ekleyebilirsiniz, görsel ipuçları ve hatta dokunsal geri bildirim, oyuncuların oyundaki sağlık durumlarını bilmelerini ve oyun sırasında bilinçli kararlar verebilmelerini sağlar.
Bu en iyi uygulamaları takip ederek, atari oyununuzun oynanış deneyimini geliştirirken kod kalitesini ve okunabilirliğini koruyan sağlam ve etkili bir Sağlık Sistemi oluşturabilirsiniz.
Sağlık Sistemi İle Oyunları Daha Eğlenceli Hale Getirin
Oyununuza bir Sağlık Sistemi eklemek, genel oyuncu deneyimini önemli ölçüde artırabilir. Bir risk ve meydan okuma unsuru sunarak oyunu daha ilgi çekici ve ödüllendirici hale getirir.
Sağlığın görsel bir temsili, oyuncuların mevcut durumlarını kolayca değerlendirmelerine olanak tanıyarak, oyunun içine girmeyi ve stratejik karar vermeyi artırır.