اللعب مع الحيوان الأليف
جزء من قسم Object Oriented Programming في رحلة Rust على Coddy — الدرس 21 من 61.
التحدي
سهلحيوانك الأليف شبعان وسعيد—الآن دعنا نجعله يمارس بعض التمارين! في هذه الخطوة، ستضيف طريقة play تتيح لك التفاعل مع رفيقك الافتراضي.
اللعب مع حيوانك الأليف يجب أن يستهلك طاقة ولكنه يجعله أيضاً أكثر جوعاً. عندما يلعب حيوانك الأليف، تنخفض energy لديه بمقدار 20 وتزداد hunger بمقدار 15. ومع ذلك، يجب ألا تنخفض الطاقة أبداً عن 0، ولا يجب أن يتجاوز الجوع أبداً 100.
ستحتاج أيضاً إلى طريقة لجلب الطاقة energy للتحقق من مدى تعب حيوانك الأليف بعد وقت اللعب.
في ملف main.rs الخاص بك، اقرأ اسم الحيوان الأليف مع قيم الطاقة والجوع الأولية. بعد إعداد حيوانك الأليف، استدعِ play مرة واحدة واعرض مستويات الطاقة والجوع.
يجب أن تطبع طريقة اللعب رسالة توضح أن حيوانك الأليف استمتع باللعب:
{name} had fun playing!ثم يجب أن يعرض ملفك الرئيسي الإحصائيات:
Energy: {energy_level}
Hunger: {hunger_level}على سبيل المثال، إذا كان الإدخال هو:
Buddy
50
30يجب أن يكون المخرج:
Buddy had fun playing!
Energy: 30
Hunger: 45إذا بدأت الطاقة عند 10، فإن اللعب سيجعلها 0 (وليس قيمة سالبة). وإذا بدأ الجوع عند 90، فإن اللعب سيجعله بحد أقصى 100.
ستحتاج إلى إضافة طريقة set_energy جنباً إلى جنب مع set_hunger الموجودة لديك لتهيئة كلتا القيمتين للاختبار.
جرّب بنفسك
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
1الأساليب والسلوك
مقدمة في كتل التنفيذمعامل Selfالأساليب القابلة للتعديلالدوال المرتبطةكتل تنفيذ متعددةتسلسل الأساليبمراجعة - إجراءات المستطيل4مشروع: حيوان أليف افتراضي
تعريف الحيوان الأليفإطعام الحيوان الأليف2التغليف والوحدات البرمجية
أساسيات الوحدات البرمجيةالكلمة المفتاحية Publicالحقول الخاصةدوال Gettersدوال Settersمراجعة - الخزانة الآمنة5الأنواع العامة (Generics)
الـ Structs العامةالـ Methods العامةأنواع عامة متعددةالـ Functions العامةمراجعة - Coordinate Point3التعدادات المتقدمة (Advanced Enums)
التعدادات مع البياناتالأساليب (Methods) في التعداداتمطابقة حالات البياناتمراجعة التعداد Optionملخص - التعداد Shape6تعريف الـ Traits
ما هي الـ Trait؟تنفيذ الـ Traitsالتنفيذات الافتراضيةتجاوز التنفيذات الافتراضيةالـ Traits مع المعاملاتملخص - مشغل الوسائط