Tantangan Coding: Logika Multi-Kondisi
Di materi Battle 1v1 sebelumnya, pertarungan berjalan otomatis ("Auto-Battle"). Tapi game RPG sejati memberi pemain Pilihan Aksi (Action Menu)!
Tantangan kali ini: Di setiap ronde, kamu (sebagai Hero) akan diberi pilihan input(). Apakah ingin menyerang, atau menggunakan Potion untuk menambah HP?
Aturan Baru: Hero punya 3 Potion. Boss tidak punya potion, tapi serangannya sangat kuat! Kita butuh banyak if-elif-else untuk mengatur ini.
Tantangan Rumpang: Deklarasikan variabel HP seperti biasa, tapi kali ini tambahkan variabel jumlah Potion untuk Hero!
import ____
import time
hp_hero = 100
hp_boss = 150 # Boss lebih tebal nyawanya!
# 1. Berikan Hero 3 buah Potion
potion_hero = ____
print("=== BOS BATTLE DIMULAI ===")
# Membuka arena pertarungan
while ____:
print("\n-- RONDE BARU --")
print("HP Hero:", hp_hero, "| Potion:", potion_hero)
print("HP Boss:", hp_boss)
Tantangan Rumpang Kritis: Tangkap input pemain, lalu buat 2 cabang kondisi: "1" untuk Serang, "2" untuk Heal (tambah 30 HP & kurangi jumlah potion!).
aksi = input("Pilih Aksi: [1] Serang, [2] Heal: ")
# Kondisi Aksi 1: Menyerang
if aksi == "1":
dmg_hero = ____.randint(15, 30)
hp_boss = hp_boss - ____
print("โ๏ธ Kamu menyerang boss! Damage:", dmg_hero)
# Kondisi Aksi 2: Heal (Cek dulu potionnya masih ada atau tidak!)
elif aksi == "2" and potion_hero > 0:
hp_hero = hp_hero + 30
# Kurangi jumlah potion sebesar 1
potion_hero = ____ - ____
print("๐ Kamu meminum Potion! HP Bertambah 30!")
else:
print("Aksi gagal atau Potion habis! Kesempatan terbuang.")
Tantangan Rumpang: Ingat, setelah Hero bergerak, Boss AKAN membalas! Dan jangan lupa rem darurat break untuk Game Over.
time.sleep(1)
# Boss menyerang balik (Damage 10-35)
dmg_boss = random.randint(10, 35)
____ = hp_hero - dmg_boss
print("๐ฅ Boss menyerang balik! Damage:", dmg_boss)
time.sleep(1)
# Cek siapa yang mati
if hp_boss ____ 0:
print("๐ BOSS DIKALAHKAN! KAMU MENANG!")
____
elif ____ ____ 0:
print("๐ KAMU MATI! GAME OVER!")
____
Ini adalah ujian terberatmu. Saya tidak memberikan kode lengkap kali ini!
while True: harus menjorok ke dalam (di-Tab)!Jika berhasil, selamat! Kamu sudah mampu membangun kerangka dasar sistem pertarungan RPG profesional (seperti Final Fantasy atau Pokemon klasik)!