최종 상호작용
Coddy Rust 여정의 Object Oriented Programming 섹션에 포함된 레슨 — 61개 중 23번째.
챌린지
쉬움가상 반려동물을 만드신 것을 축하드립니다! 이 마지막 단계에서는 반려동물과의 전체 상호작용 세션을 시뮬레이션하여 모든 것을 하나로 합쳐볼 것입니다. 여러분이 만든 모든 메서드들이 조화롭게 작동하는 단계입니다!
반려동물 모듈에는 이미 먹이 주기, 놀아주기, 상태 보고 등 필요한 모든 기능이 갖춰져 있습니다. 이제 가상 동반자의 하루 일과를 보여주는 시뮬레이션을 만들어 보겠습니다.
main.rs에서 반려동물의 이름을 입력받은 후, 다음과 같은 일련의 상호작용을 수행합니다:
- 입력받은 이름으로 새로운 반려동물을 생성합니다.
- 초기 상태 보고서를 표시합니다.
- 반려동물과 두 번 놀아줍니다.
- 반려동물에게 한 번 먹이를 줍니다.
- 최종 상태 보고서를 표시합니다.
두 상태 보고서 사이에 전환을 보여주는 구분선을 출력하세요:
--- After Activities ---예를 들어, 입력값이 다음과 같다면:
Buddy출력값은 다음과 같아야 합니다:
--- Status Report ---
Name: Buddy
Energy: 100
Hunger: 0
Mood: happy
Buddy had fun playing!
Buddy had fun playing!
Buddy enjoyed the meal!
--- After Activities ---
--- Status Report ---
Name: Buddy
Energy: 60
Hunger: 0
Mood: happy상태 수치가 어떻게 변하는지 기억하세요: 놀아줄 때마다 에너지가 20 감소하고 허기가 15 증가하며, 먹이를 주면 허기가 30 감소합니다. 두 번의 놀이와 한 번의 식사 후, 반려동물의 에너지는 100에서 60으로 떨어지고, 허기는 0에서 30이 되었다가 다시 0이 됩니다.
이 마지막 챌린지는 여러분이 구축한 완전한 가상 반려동물 시스템을 보여줍니다. 비공개 필드, 게터(getters), 세터(setters), 그리고 상호작용 경험을 만들기 위해 함께 작동하는 메서드들을 갖춘 완벽하게 캡슐화된 모듈입니다!
직접 해보기
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.status();
}