Mini-project Bagian 3: Character Sheet

Project ini menyatukan semua Bagian 3: variable, string, angka, dan input keyboard.

Program ini meminta beberapa pertanyaan tentang karakter game pengguna, lalu mencetak character sheet yang terformat dengan setiap jawaban ditambah satu nilai yang dihitung sendiri oleh program.

Apa yang perlu dibangun

Sebuah program yang, ketika dijalankan:

  1. Meminta pengguna untuk lima informasi tentang sebuah karakter:

    • Name (teks)
    • Class (teks, misalnya "Warrior", "Mage", "Rogue")
    • Level (bilangan bulat)
    • HP (bilangan bulat — hit points)
    • MP (bilangan bulat — magic points)
  2. Menghitung sebuah nilai yang disebut Power, menggunakan rumus ini:

     power = hp + mp * 2 + level * 10
  3. Mencetak character sheet dalam bentuk kira-kira seperti ini:

     +--------------------------------------+
     | CHARACTER SHEET                      |
     +--------------------------------------+
     | Name : Keiko
     | Class: Mage
     | Level: 7
     | HP   : 95
     | MP   : 60
     | Power: 285
     +--------------------------------------+

Lebar kotak tidak harus persis sama. Yang penting adalah setiap nilai muncul dengan label, dan baris Power menampilkan nilai yang dihitung.

File

Versi starter dan versi selesai ada di projects/02-character-sheet/:

  • starter.py — prompt-prompt yang ditata dengan komentar TODO. Selesaikan agar sheet tercetak di akhir.
  • finished.py — versi yang sudah bekerja. Lihat setelah mencoba punyamu.

Jalankan dengan:

python projects/02-character-sheet/starter.py

Petunjuk

  • Setiap prompt menggunakan input("Label: "). Bungkus nilai apapun yang akan kamu hitung dengan int(), misalnya int(input("HP: ")).
  • Gunakan f-string seperti f"| Name : {name}" untuk baris berlabel — lebih bersih daripada menggabungkan string dengan +.
  • Untuk border, "-" * 38 atau sejenisnya menghemat kamu dari mengetik tanda hubung secara manual.

Yang belum bisa kamu gunakan

  • if untuk memvalidasi input. Jika pengguna mengetik "abc" untuk HP, program akan error. Itu tidak masalah untuk sekarang.
  • Loop. Tulis setiap prompt secara eksplisit.
  • Function buatanmu sendiri. Built-in (input, print, int, str) semuanya boleh digunakan.

Selesai?

Jika sheet menampilkan setiap nilai dengan label dan baris Power adalah jumlah yang benar, kamu sudah selesai. Lanjutkan ke Bab 16 — if / elif / else, di mana validasi input menjadi mungkin.