최종 상호작용
Coddy Rust 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨. 61개 중 23번째.
챌린지
쉬움가상 반려동물을 만든 것을 축하합니다! 이 마지막 단계에서는 반려동물과의 전체 상호작용 세션을 시뮬레이션하여 지금까지 작성한 모든 메서드가 함께 작동하도록 합니다.
pet.rs 모듈은 new, getter, set_energy, set_hunger, feed, play, status가 모두 완성된 상태로 제공됩니다. 여러분은 main.rs만 작성합니다.
이전 단계와 동일하게 세 가지 입력을 받습니다:
- 반려동물의 이름
- 반려동물이 처음 갖는 에너지
- 반려동물이 처음 갖는 hunger
main.rs에서 다음 순서를 수행하세요:
- 입력으로 주어진 이름으로 반려동물을 만든 다음, 입력에서 에너지와 hunger를 설정합니다
- 상태 보고서를 표시합니다
- 반려동물과 두 번 놀아 줍니다
- 반려동물에게 한 번 먹이를 줍니다
- 구분선
--- After Activities ---를 출력합니다 - 상태 보고서를 다시 표시합니다
상태 값이 어떻게 변하는지 기억하세요. 놀이는 에너지 20을 소모하고 hunger를 15만큼 증가시키며, 에너지는 절대로 0 미만으로 내려가지 않고 hunger는 절대로 100을 초과하지 않습니다. 에너지가 50 이상이고 hunger가 50 이하일 때 mood는 happy이며, 그 외에는 tired입니다. 따라서 반려동물이 happy 상태로 시작해서 세션을 tired 상태로 끝낼 수도 있습니다.
예를 들어 입력이 Luna, 50, 50인 경우:
--- Status Report ---
Name: Luna
Energy: 50
Hunger: 50
Mood: happy
Luna had fun playing!
Luna had fun playing!
Luna enjoyed the meal!
--- After Activities ---
--- Status Report ---
Name: Luna
Energy: 10
Hunger: 50
Mood: tired이 마지막 과제는 여러분이 만든 완전한 가상 반려동물 시스템을 보여 줍니다. 비공개 필드, getter, setter 및 메서드가 하나의 상호작용 세션으로 함께 작동하는 모듈입니다.
직접 해보기
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");
// TODO: 펫을 생성하고 입력에서 에너지와 배고픔을 설정하세요
// TODO: print the first status report
// TODO: 두 번 놀게 한 다음, 한 번 먹이를 주세요
// TODO: print the separator "--- After Activities ---"
// TODO: print the final status report
}
객체 지향 프로그래밍의 모든 레슨
직접 연습해 보세요: 온라인 Rust 컴파일러