Menu
CoddyTech

Laporan Status

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

challenge icon

Tantangan

Mudah

Hewan peliharaan virtualmu berkembang dengan baik! Sekarang, mari kita beri kemampuan untuk melaporkan kondisinya. Pada langkah ini, kamu akan menambahkan method status yang memberikan gambaran lengkap tentang keadaan hewan peliharaanmu saat ini.

Laporan status harus menjelaskan kondisi hewan peliharaanmu berdasarkan tingkat energi dan rasa laparnya. Hewan peliharaanmu bisa memiliki suasana hati yang berbeda, tergantung seberapa baik kamu merawatnya:

  • Jika energi bernilai 50 atau lebih DAN rasa lapar bernilai 50 atau kurang, hewan peliharaanmu merasa happy
  • Jika tidak, hewan peliharaanmu merasa tired

Tambahkan method status ke Pet yang menerima &self dan mencetak laporan status lengkap yang menampilkan nama, energi, rasa lapar, dan suasana hati hewan peliharaan.

Laporan status harus mengikuti format persis berikut:

--- Status Report ---
Name: {name}
Energy: {energy}
Hunger: {hunger}
Mood: {mood}

Di main.rs, baca nama, nilai energi, dan rasa lapar hewan peliharaan, siapkan hewan peliharaanmu dengan nilai-nilai tersebut, lalu panggil method status untuk menampilkan laporan.

Contohnya, jika inputnya adalah:

Buddy
70
30

Outputnya seharusnya:

--- Status Report ---
Name: Buddy
Energy: 70
Hunger: 30
Mood: happy

Jika inputnya adalah:

Max
40
60

Outputnya seharusnya:

--- Status Report ---
Name: Max
Energy: 40
Hunger: 60
Mood: tired

Method ini memberimu cara cepat untuk memeriksa kesejahteraan hewan peliharaanmu kapan saja!

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