Menu
Coddy logo textTech

Кормление питомца

Часть раздела Object Oriented Programming путешествия по Rust на Coddy — урок 20 из 61.

challenge icon

Задание

Легко

Теперь, когда ваш питомец существует, пришло время дать ему возможность есть! На этом этапе вы добавите метод feed, который позволит вам позаботиться о голоде вашего питомца.

Опираясь на существующий модуль pet.rs, добавьте метод feed, который уменьшает уровень голода питомца. При кормлении голод питомца должен уменьшаться на 30, но он никогда не должен опускаться ниже 0. После кормления метод должен вывести сообщение о том, что питомцу понравилась еда.

Вам также понадобится геттер-метод 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