Oyunlarınıza bir sağlık sistemi ekleyerek oyuncu hasarı, iyileştirme mekaniği ve daha fazlası gibi unsurları tanıtın.

Bir oyunda bir sağlık sistemi uygulamak, oyun deneyimini büyük ölçüde artırabilir ve ek bir zorluk ve strateji katmanı ekleyebilir. PyGame, etkileşimli deneyimler oluşturmayı kolaylaştırarak sağlık sistemini dahil etmek için sağlam bir dizi araç ve işlev sunar.

Basit Bir Oyun Yaratın

Başlamadan önce, sahip olduğunuzdan emin olun. pip sisteminizde yüklü. yüklemek için bu komutu kullanın. pygame kütüphane:

pip kurulumu pygame

Bundan sonra, adlı bir dosya oluşturun. basit oyun.py ve oyuncunun sağa ve sola hareket edebildiği basit bir oyun oluşturarak başlayın.

Bu makalede kullanılan kod bu makalede mevcuttur. GitHub deposu ve MIT lisansı altında ücretsiz olarak kullanabilirsiniz.

Bu temel oyun döngüsünde oyuncunun amacı, düşmanla çarpışmaktan kaçınmak olacaktır.

içe aktarmak pygame
içe aktarmak rastgele

# PyGame'i başlat
pygame.init()

# Oyun penceresini ayarla
pencere_genişliği, pencere_yüksekliği =

instagram viewer
800, 600
pencere = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption("Sağlık Sistemi Demosu")

# Oyuncu özellikleri
player_width, player_height = 50, 50
player_x, player_y = pencere_genişliği // 2, pencere_yüksekliği - oynatıcı_yüksekliği - 10
oyuncu_hızı = 1

# Düşman özellikleri
düşman_genişliği, düşman_yüksekliği = 50, 50
düşman_x, düşman_y = rastgele.randint(0, pencere_genişliği - düşman_genişliği), 0
düşman_hızı = 0.3

# Oyun döngüsü
koşu = Doğru
sırasında koşma:
için etkinlik içinde pygame.event.get():
eğer event.type == pygame. ÇIKIŞ YAPMAK:
koşu = YANLIŞ

# Oynatıcıyı sola veya sağa hareket ettirin
tuşlar = pygame.key.get_pressed()
eğer anahtarlar[pygame. K_LEFT] Ve oyuncu_x > 0:
player_x -= player_speed
eğer anahtarlar[pygame. K_RIGHT] Ve player_x < window_width - player_width:
player_x += player_speed

# Düşmanı aşağı doğru hareket ettir
düşman_y += düşman_hızı

# Oyun nesneleri çizin
pencere.doldur((0, 0, 0)) # Ekranı temizle
pygame.draw.rect (pencere, (255, 0, 0),
(oyuncu_x, oyuncu_y,
oyuncu_genişliği, oyuncu_yüksekliği))
pygame.draw.rect (pencere, (0, 255, 0),
(düşman_x, düşman_y,
düşman_genişliği, düşman_yüksekliği)) # Düşman çiz
pygame.display.update()

pygame.quit()

Kodu çalıştırın ve sol ve sağ ok tuşlarını kullanarak kontrol edebileceğiniz bir oyuncu karakterine sahip bir pencere göreceksiniz.

Artık temel bir oyun kurulumuna sahip olduğunuza göre, oyuncunun sağlığıyla ilgili değişkenleri ve sabitleri tanımlayın. Bir oyuncunun sağlığını sayısal bir değerle temsil edebileceğiniz basit bir sağlık sistemi kullanabilirsiniz. Ayrıca oyuncunun maksimum sağlığı ve düşmanın verdiği hasar miktarı için sabitler tanımlayabilirsiniz.

İlk oyuncu sağlığını 100 olarak ayarlayın, maksimum sağlığı 100 olarak tanımlayın ve düşmanın hasarını 20 olarak ayarlayın. Bu değerler, oyununuzun özel ihtiyaçlarına göre ayarlanabilir.

# Oyuncu sağlığı
oyuncu_sağlığı = 100
max_sağlık = 100
düşman_hasarı = 20

Hasar ve İyileştirme Mekaniğini Uygulama

Hasar ve iyileştirme mekaniğini tanıtmak için, oyuncu ile düşman arasındaki çarpışmaları tespit etmeniz ve ilgili sağlık değişikliklerini halletmeniz gerekir. Oyuncuyu ekrandan çıktıklarında iyileştirmek için bir mekanizma da uygulayabilirsiniz.

olup olmadığını kontrol edin oyuncu çarpışması ve düşman, sınırlayıcı dikdörtgenlerini karşılaştırarak. Bir çarpışma tespit edilirse, düşmanın hasar değerini oyuncunun sağlığından çıkarın.

Ek olarak, oyuncu ekranın üstünden çıkarsa (oyuncu_y < 0), sağlığına 10 ekleyin ve maksimum sağlığı aşmadığından emin olun. Bu, bir iyileştirme mekaniği oluşturur ve oyuncunun konumunu ekranın altına sıfırlar.

adlı yeni bir dosya oluşturun. damage-and-healing.py ve aşağıdaki güncellemelerle kodu ekleyin:

# Düşman konumunu güncelledikten sonra oyun döngüsü içinde
# Oyuncu ve düşman arasındaki çarpışmayı algıla
eğer player_x < düşman_x + düşman_genişliği Ve \
player_x + player_width > düşman_x Ve \
player_y < düşman_y + düşman_yüksekliği \
Ve player_y + player_height > düşman_y:
player_health -= düşman_hasarı
yazdır (player_health)

# Oyuncuyu ekrandan çıktıklarında iyileştirin
eğer oyuncu_y < 0:
oyuncu_sağlığı += 10
yazdır (player_health)
eğer player_health > max_health:
player_health = max_health
player_y = pencere_yüksekliği - oynatıcı_yüksekliği - 10

Çıktı aşağıdadır:

Oyuncu Ölümü ve Oyun Bitti Senaryolarını Yönetme

Oyuncunun ölümü ve oyun sonu senaryolarının üstesinden gelmek için oyuncunun sağlığının sıfıra ulaşıp ulaşmadığını kontrol etmeniz gerekir. Varsa, bir göster Oyun bitti mesaj at ve oyunu yeniden başlat.

Oyuncunun sağlığının sıfırın altına düşüp düşmediğini veya sıfıra eşit olup olmadığını görmek için bir kontrol ekleyin. Bu koşul doğruysa yazdır Oyun bitti ve oyuncunun sağlığını ve konumunu sıfırlayın.

adlı yeni bir dosya oluşturun. yönetme-oyuncu-death.py ve kodu aşağıdaki güncellemelerle değiştirin:

# Oyuncunun konumunu güncelledikten sonra

# Oyuncunun sağlığının sıfıra ulaşıp ulaşmadığını kontrol edin
eğer oyuncu_sağlığı <= 0:
Yazdır("Oyun bitti")
player_health = max_health
player_x = pencere_genişliği // 2
player_y = pencere_yüksekliği - oynatıcı_yüksekliği - 10

Ek Özellikler Dahil

Sağlık sistemini daha da geliştirmek için ek özellikler dahil edebilirsiniz. Aşağıda bir örnek verilmiştir:

Güç kaynağını çalıştırın

Güçlendirmenin boyutları ve konumu gibi niteliklerini tanımlayın. Ayrıca oyuncunun güçlendirme ile çarpıştığında kazanacağı bir sağlık değeri belirleyin.

Oyun döngüsü içinde, oyuncu ile açılış arasındaki çarpışmaları tespit edin. Bir çarpışma meydana gelirse, maksimum sağlığı aşmadığından emin olarak oyuncunun sağlığını güçlendirmenin sağlık değeri kadar artırın. Ardından, açılışı ekranda rastgele yeniden konumlandırın. Son olarak, açılış nesnesini mavi bir dikdörtgen kullanarak ekranda çizin.

adlı yeni bir dosya oluşturun. güç-up.py ve aşağıdaki güncellemelerle kodu ekleyin:

# Güçlendirme özniteliklerini tanımlayın
power_up_width, power_up_height = 30, 30
power_up_x, power_up_y = 200,200
power_up_health_value = 50

# Oyuncunun konumunu güncelledikten sonra oyun döngüsünün içinde
# Oyuncu ve açılış arasındaki çarpışmayı algıla
eğer player_x < power_up_x + power_up_width Ve\
player_x + player_width > power_up_x \
Ve player_y < power_up_y + power_up_height\
Ve player_y + player_height > güç_up_y:
player_health += power_up_health_value
eğer player_health > max_health:
player_health = max_health
power_up_x, power_up_y = 200,200

# Açılış nesnesini çiz
pygame.draw.rect (pencere, (0, 0, 255),
(power_up_x, power_up_y,
güç_up_genişliği,
güç_up_height))

Çıktı aşağıdadır:

Her ek özellik için gerekli değişkenleri ve sabitleri tanımlayabilir ve ilgili mekaniği oyun döngüsü içinde uygulayabilirsiniz.

Sağlık Sistemi İçin En İyi Uygulamalar

PyGame'de bir sağlık sistemi uygularken aşağıdaki en iyi uygulamaları aklınızda bulundurun:

Olaya Yönelik Sistemler Uygulayın

Oyun döngüsündeki çarpışmaları veya sağlık değişikliklerini sürekli kontrol etmek yerine, olaya dayalı sistemler kullanmayı düşünün. PyGame, çarpışma olayları veya güç alma olayları gibi belirli olaylara dayalı olarak sağlıkla ilgili eylemleri tetiklemenize olanak tanıyan olay işleme yetenekleri sağlar.

Denge Sağlık Değerleri

Dengeli bir oyun deneyimi sağlamak için oyununuzdaki sağlık değerlerini, hasar değerlerini ve iyileştirme oranlarını ayarlayın. Oyun testi yapmak ve oyunculardan geri bildirim toplamak, optimum oyun deneyimi için bu değerlerde ince ayar yapmanıza yardımcı olabilir.

Geribildirim sağlamak

Oyuncunun sağlık durumuyla ilgili net ve anlamlı geri bildirim aldığından emin olun. Sağlık çubuğunu ekranda belirgin bir şekilde görüntüleyin, hasarı veya iyileşmeyi belirtmek için renk değişiklikleri veya animasyonlar gibi görsel ipuçları kullanın ve sesli veya görsel ipuçları sağlayın oyuncunun sağlığı kritik seviyelere ulaştığında.

Bu en iyi uygulamaları izleyerek, sürükleyici bir oyun deneyimine katkıda bulunan sağlam ve ilgi çekici bir sağlık sistemi oluşturabilirsiniz.

Sağlık Çubuğu ile Oyunları Daha İlgi Çekici Hale Getirin

Bir sağlık sistemi uygulamak, yalnızca bir zorluk katmanı eklemekle kalmaz, aynı zamanda oyunları oyuncular için daha ilgi çekici hale getirir. Sağlık çubukları gibi sağlığın görsel temsillerini birleştirerek oyuncular mevcut durumlarını kolayca değerlendirebilir ve stratejik kararlar alabilir. Ayrıca, oyununuza seviyeler eklemek, oyun deneyimini daha da geliştirebilir.