Menu
Coddy logo textTech

Son Etkileşim

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

challenge icon

Görev

Kolay

Virtual Pet'inizi oluşturduğunuz için tebrikler! Bu son adımda, yazdığınız her metodun yan yana çalışması için evcil hayvanınızla tam bir etkileşim oturumunu simüle ederek her şeyi bir araya getireceksiniz.

pet.rs modülü size eksiksiz olarak verilir: new, getter'lar, set_energy, set_hunger, feed, play ve status. Yalnızca main.rs dosyasını yazacaksınız.

Önceki adımlardaki üç girdinin aynısını alacaksınız:

  1. Evcil hayvanın adı
  2. Evcil hayvanın başlangıçtaki enerjisi
  3. Evcil hayvanın başlangıçtaki açlığı

main.rs içinde şu sıralamayı gerçekleştirin:

  1. Verilen adla evcil hayvanı oluşturun, ardından enerjisini ve açlığını girdiden ayarlayın
  2. Durum raporunu görüntüleyin
  3. Evcil hayvanınızla iki kez oynayın
  4. Evcil hayvanınızı bir kez besleyin
  5. --- After Activities --- ayraç satırını yazdırın
  6. Durum raporunu tekrar görüntüleyin

İstatistiklerin nasıl değiştiğini hatırlayın: oynamak 20 enerjiye mal olur ve açlığı 15 artırır, beslemek açlıktan 30 çıkarır, enerji hiçbir zaman 0'ın altına düşmez ve açlık hiçbir zaman 100'ün üzerine çıkmaz. Enerji happy veya daha fazla ve açlık 50 veya daha az olduğunda ruh hâli 50, aksi takdirde tired olur; bu nedenle bir evcil hayvan oturuma mutlu başlayıp oturumu yorgun bitirebilir.

Örneğin, girdiler Luna, 50 ve 50 olduğunda:

--- Status Report ---
Name: Luna
Energy: 50
Hunger: 50
Mood: happy
Luna had fun playing!
Luna had fun playing!
Luna enjoyed the meal!
--- After Activities ---
--- Status Report ---
Name: Luna
Energy: 10
Hunger: 50
Mood: tired

Bu son meydan okuma, oluşturduğunuz eksiksiz Virtual Pet sistemini gösterir: özel alanlara, getter'lara, setter'lara ve tek bir etkileşimli oturum olarak birlikte çalışan metotlara sahip bir modül.

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");

    // TODO: pet'i oluştur ve energy ile hunger değerlerini girdiden ayarla

    // TODO: print the first status report

    // TODO: iki kez play, sonra bir kez feed

    // TODO: print the separator "--- After Activities ---"

    // TODO: print the final status report
}

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

Kendi başına pratik yap: Online Rust derleyicisi