Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

إطعام الحيوان الأليف

جزء من قسم Object Oriented Programming في رحلة Rust على Coddy — الدرس 20 من 61.

challenge icon

التحدي

سهل

الآن بعد أن أصبح حيوانك الأليف موجوداً، حان الوقت لمنحه القدرة على الأكل! في هذه الخطوة، ستضيف طريقة feed تتيح لك العناية بجوع حيوانك الأليف.

بناءً على وحدة pet.rs الحالية، أضف طريقة feed التي تقلل من مستوى جوع الحيوان الأليف. عند إطعامه، يجب أن ينخفض جوع الحيوان الأليف بمقدار 30، ولكن يجب ألا يقل أبداً عن 0. بعد الإطعام، يجب أن تطبع الطريقة رسالة توضح أن الحيوان الأليف استمتع بوجبته.

ستحتاج أيضاً إلى طريقة لجلب القيمة (getter) تسمى hunger حتى تتمكن من التحقق من مستوى جوع الحيوان الأليف من خارج الوحدة.

في main.rs، ستقرأ اسم الحيوان الأليف وقيمة الجوع الأولية. أنشئ حيوانك الأليف، واضبط جوعه الأولي، وأطعمه مرة واحدة، ثم اعرض مستوى الجوع المحدث.

يجب أن يتبع المخرج هذا التنسيق:

{name} enjoyed the meal!
Hunger: {hunger_level}

على سبيل المثال، إذا كان الإدخال هو:

Buddy
50

يجب أن يكون المخرج:

Buddy enjoyed the meal!
Hunger: 20

وإذا بدأ الجوع عند 20، فإن الإطعام سيجعله 0 (وليس سالباً):

Buddy enjoyed the meal!
Hunger: 0

ستحتاج إلى إضافة طريقة set_hunger لتهيئة الجوع لأغراض الاختبار، حيث أن منشئ new يضبط الجوع على 0 بشكل افتراضي.

جرّب بنفسك

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 my_pet = Pet::new(name);

    println!("Pet name: {}", my_pet.name());
}

جميع دروس Object Oriented Programming