Menu
Coddy logo textTech

ペットに餌をあげる

CoddyのRustジャーニー「Object Oriented Programming」セクションの一部 — レッスン 20/61。

challenge icon

チャレンジ

簡単

ペットが存在するようになったので、次は食事をさせる機能を追加しましょう!このステップでは、ペットの空腹をケアするための feed メソッドを追加します。

既存の pet.rs モジュールを基に、ペットの空腹度(hunger)を減少させる 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

new コンストラクタはデフォルトで空腹度を 0 に設定するため、テスト目的で空腹度を初期化するための 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 my_pet = Pet::new(name);

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

Object Oriented Programmingのすべてのレッスン