Menu
CoddyTech

Bermain dengan Hewan Peliharaan

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Rust di Coddy. Pelajaran 21 dari 61.

challenge icon

Tantangan

Mudah

Hewan peliharaanmu sudah diberi makan dan senang: sekarang mari ajak berolahraga! Di langkah ini, kamu akan menambahkan method play agar kamu bisa berinteraksi dengan teman virtualmu.

Bermain dengan hewan peliharaanmu akan menghabiskan energi, tetapi juga membuatnya lebih lapar. Saat hewan peliharaanmu bermain, energy-nya berkurang 20 dan hunger-nya bertambah 15. Namun, energi tidak boleh kurang dari 0, dan rasa lapar tidak boleh melebihi 100.

Kamu juga perlu method getter energy untuk memeriksa seberapa lelah hewan peliharaanmu setelah waktu bermain.

Di main.rs, baca nama hewan peliharaan beserta nilai awal energi dan rasa laparnya. Setelah menyiapkan hewan peliharaanmu, panggil play satu kali dan tampilkan tingkat energi serta rasa laparnya.

Method play harus menampilkan pesan yang menunjukkan bahwa hewan peliharaanmu bersenang-senang:

{name} had fun playing!

Lalu, file utamamu harus menampilkan statistik berikut:

Energy: {energy_level}
Hunger: {hunger_level}

Contohnya, jika inputnya adalah:

Buddy
50
30

Output-nya seharusnya:

Buddy had fun playing!
Energy: 30
Hunger: 45

Jika energi dimulai dari 10, bermain akan menguranginya menjadi 0, bukan nilai negatif. Jika rasa lapar dimulai dari 90, bermain akan membatasinya hingga 100.

Kamu perlu menambahkan method set_energy di samping set_hunger yang sudah ada untuk menginisialisasi kedua nilai tersebut saat pengujian.

Coba sendiri

mod pet;

use pet::Pet;

fn main() {
    let mut name = String::new();
    std::io::stdin().read_line(&mut name).expect("Failed to read line");
    let name = name.trim().to_string();

    let mut energy_input = String::new();
    std::io::stdin().read_line(&mut energy_input).expect("Failed to read line");
    let initial_energy: u32 = energy_input.trim().parse().expect("Failed to parse energy");

    let mut hunger_input = String::new();
    std::io::stdin().read_line(&mut hunger_input).expect("Failed to read line");
    let initial_hunger: u32 = hunger_input.trim().parse().expect("Failed to parse hunger");

    let mut my_pet = Pet::new(name);
    my_pet.set_energy(initial_energy);
    my_pet.set_hunger(initial_hunger);
    my_pet.play();

    println!("Energy: {}", my_pet.energy());
    println!("Hunger: {}", my_pet.hunger());
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Rust online