⚔️ Simulasi Battle 1v1

Variabel Dinamis & Loop (Hero vs Boss)

Ujian Akhir Logika Python

🛡️ Mekanik Arena Pertarungan

Dalam game MOBA atau RPG, setiap karakter memiliki HP (Hit Points / Nyawa). Saat diserang, nilai HP ini akan berkurang berdasarkan Damage dari lawan.

Pertarungan ini terjadi di dalam sebuah While True, dan hanya akan berhenti (break) jika HP salah satu karakter menyentuh angka 0 atau lebih kecil!

Kita akan menggunakan random.randint() agar Damage setiap serangan bisa bervariasi (terkadang serangan biasa, terkadang serangan Critical!).

🧩 Latihan 1: Menyiapkan Arena & HP

Misi: Buat variabel HP untuk Hero dan Boss. Keduanya memulai dengan 100 HP.

import random
import time # Library baru untuk memberi jeda/delay waktu

print("=== BATTLE DIMULAI ===")

# 1. Tentukan HP Awal
hp_hero = ____
hp_boss = ____

# Membuka arena pertarungan tanpa batas waktu
while ____:
    print("--- RONDE BARU ---")
    time.sleep(1) # Jeda 1 detik agar game tidak terlalu cepat

🧩 Latihan 2: Saling Serang (Damage)

Misi: Di dalam while, kurangi HP masing-masing petarung dengan nilai Damage yang diacak dari 10 sampai 30!

    # Hero menyerang Boss
    damage_hero = random.randint(____, ____)
    hp_boss = hp_boss - damage_hero
    print("💥 Hero menyerang Boss! Damage:", damage_hero)
    
    # Boss membalas menyerang Hero
    damage_boss = random.randint(____, ____)
    
    # Kurangi hp_hero dengan damage_boss
    ____ = ____ - damage_boss
    print("🔥 Boss menyerang Hero! Damage:", damage_boss)
    
    print("Sisa HP -> Hero:", hp_hero, "| Boss:", hp_boss)

🧩 Latihan 3: Menentukan Pemenang

Misi: Pertarungan harus berhenti! Gunakan `if` untuk mengecek apakah HP menyentuh `<= 0`, lalu gunakan rem darurat `break`.

    # Cek apakah Boss kalah (HP kurang dari atau sama dengan 0)
    if hp_boss <= 0:
        print("🏆 HERO MENANG! Boss telah dikalahkan!")
        ____
        
    # Cek apakah Hero kalah
    elif ____ <= 0:
        print("💀 HERO GUGUR! Boss memenangkan pertarungan!")
        ____

🚀 Kode Lengkap: Auto-Battle Simulator

Salin kode ini dan jalankan! Kamu bisa menjadi "penonton" dan melihat siapa yang akan menang secara acak berkat library random.

import random
import time

hp_hero = 100
hp_boss = 100
print("=== PERTARUNGAN DIMULAI ===")

while True:
    print("
⚔️ Tringg! Saling Serang!")
    time.sleep(1.5) 
    
    dmg_hero = random.randint(10, 30)
    hp_boss = hp_boss - dmg_hero
    print("Hero memberi damage:", dmg_hero)
    
    dmg_boss = random.randint(10, 30)
    hp_hero = hp_hero - dmg_boss
    print("Boss memberi damage:", dmg_boss)
    
    print(">> HP HERO:", hp_hero, " | HP BOSS:", hp_boss)
    
    if hp_hero <= 0 and hp_boss <= 0:
        print("DRAW! Keduanya gugur bersamaan!")
        break
    elif hp_boss <= 0:
        print("🏆 HERO MENANG!")
        break
    elif hp_hero <= 0:
        print("💀 GAME OVER. BOSS MENANG!")
        break
1 / 6