Menu
Coddy logo textTech

Evcil Hayvanla Oyun Oynama

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

challenge icon

Görev

Kolay

Evcil hayvanınız beslendi ve mutlu; şimdi ona biraz egzersiz yaptıralım! Bu adımda, sanal dostunuzla etkileşime girmenizi sağlayan bir play metodu ekleyeceksiniz.

Evcil hayvanınızla oynamak enerji harcamalı ama aynı zamanda onu daha çok acıktırmalıdır. Evcil hayvanınız oynadığında, energy değeri 20 azalır ve hunger değeri 15 artar. Ancak, enerji asla 0'ın altına düşmemeli ve açlık asla 100'ü geçmemelidir.

Ayrıca, oyun süresinden sonra evcil hayvanınızın ne kadar yorgun olduğunu kontrol etmek için bir energy getter metoduna ihtiyacınız olacak.

main.rs dosyanızda, evcil hayvanın adını, başlangıç enerji ve açlık değerleriyle birlikte okuyun. Evcil hayvanınızı kurduktan sonra, bir kez play metodunu çağırın ve hem enerji hem de açlık seviyelerini görüntüleyin.

Play metodu, evcil hayvanınızın eğlendiğini gösteren bir mesaj yazdırmalıdır:

{name} had fun playing!

Ardından ana dosyanız istatistikleri görüntülemelidir:

Energy: {energy_level}
Hunger: {hunger_level}

Örneğin, girdi şu şekildeyse:

Buddy
50
30

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

Buddy had fun playing!
Energy: 30
Hunger: 45

Eğer enerji 10 ile başlarsa, oynamak onu 0'a getirir (negatif değil). Eğer açlık 90 ile başlarsa, oynamak onu 100 ile sınırlandırır.

Test için her iki değeri de başlatmak üzere mevcut set_hunger metodunuzun yanına bir set_energy metodu eklemeniz gerekecektir.

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