Menu
Coddy logo textTech

Durum Raporu

Coddy'nin Rust Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 22 / 61.

challenge icon

Görev

Kolay

Sanal evcil hayvanınız gayet iyi ilerliyor! Şimdi ona nasıl hissettiğini bildirme yeteneği verelim. Bu adımda, evcil hayvanınızın mevcut durumuna dair tam bir genel bakış sağlayan bir status metodu ekleyeceksiniz.

Durum raporu, evcil hayvanınızın durumunu enerji ve açlık seviyelerine göre tanımlamalıdır. Evcil hayvanınız, ona ne kadar iyi baktığınıza bağlı olarak farklı ruh hallerinde olabilir:

  • Eğer enerji 50 veya üzerindeyse VE açlık 50 veya altındaysa, evcil hayvanınız happy (mutlu)
  • Aksi takdirde, evcil hayvanınız tired (yorgun)

Pet yapınıza &self alan ve evcil hayvanın adını, enerjisini, açlığını ve ruh halini gösteren tam bir durum raporu yazdıran bir status metodu ekleyin.

Durum raporu tam olarak şu formatı izlemelidir:

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

main.rs dosyanızda, evcil hayvanın adını, enerji ve açlık değerlerini okuyun, evcil hayvanınızı bu değerlerle kurun ve ardından raporu görüntülemek için status metodunu çağırın.

Örneğin, girdi şu şekildeyse:

Buddy
70
30

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

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

Ve eğer girdi şu şekildeyse:

Max
40
60

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

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

Bu metod, evcil hayvanınızın sağlığını istediğiniz zaman hızlıca kontrol etmenizi 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());
}

Object Oriented Programming bölümündeki tüm dersler