Menu
Coddy logo textTech

Son Etkileşim

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

challenge icon

Görev

Kolay

Sanal Evcil Hayvanınızı oluşturduğunuz için tebrikler! Bu son adımda, evcil hayvanınızla eksiksiz bir etkileşim oturumu simüle ederek her şeyi bir araya getireceksiniz. Burası tüm metotlarınızın uyum içinde çalıştığı yerdir!

Evcil hayvan modülünüz zaten ihtiyacı olan her şeye sahip: besleme, oyun oynama ve durum raporlama. Şimdi sanal dostunuzun hayatından bir günü gösteren bir simülasyon oluşturacaksınız.

main.rs dosyanızda, evcil hayvanınızın adını okuyacak ve ardından bir dizi etkileşim gerçekleştireceksiniz:

  1. Verilen isimle yeni bir evcil hayvan oluşturun
  2. Başlangıç durum raporunu görüntüleyin
  3. Evcil hayvanınızla iki kez oynayın
  4. Evcil hayvanınızı bir kez besleyin
  5. Son durum raporunu görüntüleyin

İki durum raporu arasında, geçişi göstermek için bir ayırıcı satır yazdırın:

--- After Activities ---

Örneğin, girdi şu şekildeyse:

Buddy

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

--- Status Report ---
Name: Buddy
Energy: 100
Hunger: 0
Mood: happy
Buddy had fun playing!
Buddy had fun playing!
Buddy enjoyed the meal!
--- After Activities ---
--- Status Report ---
Name: Buddy
Energy: 60
Hunger: 0
Mood: happy

İstatistiklerin nasıl değiştiğini unutmayın: oyun oynamak her seferinde 20 enerji harcar ve 15 açlık ekler, beslemek ise açlığı 30 azaltır. İki oyun seansı ve bir beslemeden sonra, evcil hayvanınızın enerjisi 100'den 60'a düşer ve açlık 0'dan 30'a çıkar, ardından tekrar 0'a iner.

Bu son görev, oluşturduğunuz eksiksiz Sanal Evcil Hayvan sistemini sergiliyor; özel alanlar (private fields), getter'lar, setter'lar ve etkileşimli bir deneyim oluşturmak için birlikte çalışan metotlarla tam kapsüllenmiş 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");

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

    my_pet.status();
}

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