Menu
Coddy logo textTech

Durum Raporu

Coddy'nin Rust Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 22 / 61.

challenge icon

Görev

Kolay

Sanal evcil hayvanın güzel ilerliyor! Şimdi ona nasıl hissettiğini bildirme yeteneği kazandıralım. Bu adımda, evcil hayvanının mevcut durumuna dair eksiksiz bir genel bakış sağlayan bir status metodu ekleyeceksin.

Durum raporu, evcil hayvanının enerji ve açlık seviyelerine göre koşulunu açıklamalıdır. Ona ne kadar iyi baktığına bağlı olarak evcil hayvanın farklı ruh hâllerinde olabilir:

  • Enerji 50 veya üzerindeyse VE açlık 50 veya altındaysa evcil hayvanın mutlu olur
  • Aksi takdirde evcil hayvanın yorgun olur

status yapına, Pet alan ve evcil hayvanının adını, enerjisini, açlığını ve ruh hâlini gösteren tam bir durum raporu yazdıran bir &self metodu ekle.

Durum raporu şu kesin biçimi izlemelidir:

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

main.rs içinde evcil hayvanın adını, enerji ve açlık değerlerini oku, evcil hayvanını bu değerlerle oluştur ve ardından raporu görüntülemek için status metodunu çağır.

Örneğin girdi şuysa:

Buddy
70
30

Çıktı şu olmalıdır:

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

Girdi şuysa:

Max
40
60

Çıktı şu olmalıdır:

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

Bu metot, evcil hayvanının iyilik durumunu istediğin zaman hızlıca kontrol etmeni sağlar!

Kendin dene

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());
}

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Rust derleyicisi