Menu
Coddy logo textTech

Relatório de Status

Parte da seção Object Oriented Programming do Journey de Rust da Coddy. Lição 22 de 61.

challenge icon

Desafio

Fácil

Seu animal de estimação virtual está progredindo bem! Agora vamos dar a ele a capacidade de relatar como está se sentindo. Nesta etapa, você adicionará um método status que fornece uma visão geral completa do estado atual do seu animal de estimação.

O relatório de status deve descrever a condição do seu animal de estimação com base em seus níveis de energia e fome. Seu animal de estimação pode estar em diferentes humores, dependendo de quão bem você tem cuidado dele:

  • Se a energia for 50 ou superior E a fome for 50 ou inferior, seu animal de estimação está happy
  • Caso contrário, seu animal de estimação está tired

Adicione um método status ao seu Pet que receba &self e imprima um relatório de status completo mostrando o nome, energia, fome e humor do animal de estimação.

O relatório de status deve seguir este formato exato:

--- Status Report ---
Name: {name}
Energy: {energy}
Hunger: {hunger}
Mood: {mood}

No seu main.rs, leia o nome, a energia e os valores de fome do animal de estimação, configure seu animal de estimação com esses valores e, em seguida, chame o método status para exibir o relatório.

Por exemplo, se a entrada for:

Buddy
70
30

A saída deve ser:

--- Status Report ---
Name: Buddy
Energy: 70
Hunger: 30
Mood: happy

E se a entrada for:

Max
40
60

A saída deve ser:

--- Status Report ---
Name: Max
Energy: 40
Hunger: 60
Mood: tired

Este método oferece uma maneira rápida de verificar o bem-estar do seu animal de estimação a qualquer momento!

Experimente você mesmo

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());
}

Todas as lições de Object Oriented Programming

Pratique por conta própria: Compilador de Rust online