Menu
Coddy logo textTech

משחק עם חיית המחמד

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Rust של Coddy. שיעור 21 מתוך 61.

challenge icon

אתגר

קל

חיית המחמד שלך שבעה ומאושרת: עכשיו בואו נעשה קצת פעילות גופנית! בשלב הזה תוסיף מתודת play שתאפשר לך לקיים אינטראקציה עם בת הלוויה הווירטואלית שלך.

משחק עם חיית המחמד שלך אמור לצרוך אנרגיה, אבל גם להגביר את הרעב שלה. כשהיא משחקת, הenergy שלה פוחתת ב־20 והhunger שלה עולה ב־15. עם זאת, האנרגיה לעולם לא אמורה לרדת מתחת ל־0, והרעב לעולם לא אמור לעלות מעל 100.

תצטרך גם מתודת getter בשם 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());
}

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר Rust אונליין