import os

#Bagian 1: Konfigurasi
FILE_SKOR = "data_skor.txt"

#Bagian 2: Funsi Backend
def clear_screen():
    #ini untuk membersihkan terminal
    os.system('cls' if os.name == 'nt' else 'clear')

def simpan_data(nama, skor, level):
    """Menyimpan atau mengupdaye skor jika pemain sudah ada."""
    lines = []
    found = False

    if os.path.exists(FILE_SKOR):
        with open(FILE_SKOR, "r") as f:
            lines = f.readlines()

    with open(FILE_SKOR, "w") as f:
        for line in lines:
            if line.startswith(nama + " |"):
                parts = line.split(" | Skor: ")
                if len(parts) > 1:
                    skor_lama = int(parts[1].split(" |")[0])
                    if skor > skor_lama:
                        f.write(f"{nama} | Skor: {skor} | Level: {level}\n")
                    else:
                        f.write(line)
                found = True
            else:
                f.write(line)

        if not found:
            f.write(f"{nama} | Skor: {skor} | Level: {level}\n")

def baca_leaderboard():
    """Membaca dan menampilkan skor dari file."""
    print("\n--- LEADERBOARD SHIRO'QUEST ---")
    if os.path.exists(FILE_SKOR):
        with open(FILE_SKOR, "r") as f:
            print(f.read())
    else:
        print("Belum ada data")

#Bagian 3 Main LOOP (logika game)
def main():
    print("=== SHIRO'S QUEST: MASTER EDITION ===")
    nama = input("Masukkan nama: ")
    level = input("Pilih level (Easy/Hard): ").capitalize()

    # Simulasi logika game
    skor = 0
    nyawa = 3 if level == "Easy" else 1
    
    clear_screen()
    print(f"\nPetualangan dimulai, {nama}! Nyawa kamu: {nyawa}, skor: {skor}")
    while nyawa > 0:
        pilihan = input("Jalan A atau B? (keluar untuk berhenti): ").lower()
        
        if pilihan == "keluar":
            print("kamu mengakhiri petualangan.")
            break

        if pilihan == "a":
            print("Kamu memilih jalan A, kamu menemukan harta!")
            skor += 50
        elif pilihan == "b":
            print("kamu memilih jalan B, kamu jatuh ke jebakan!")
            nyawa -= 1
       
    print(f"\nGame Over! Skor akhir: {skor}")
    simpan_data(nama, skor, level)
    baca_leaderboard()

# Menjalankan program 
if __name__ == "__main__":
    main()