스토리
이 연습 문제에서는 친구가 개발 중인 새로운 RPG 게임의 퀘스트 로직을 구현해요. 게임의 주인공은 Annalyn이에요. Annalyn은 사납고 충직한 반려견과 함께하는 용감한 소녀죠. 그런데 안타깝게도, 가장 친한 친구가 숲에서 열매를 찾던 중 납치되는 불행이 닥쳐요. Annalyn은 가장 친한 친구를 찾아 풀어 주려고 하고, 원한다면 이 퀘스트에 반려견을 데리고 갈 수도 있어요.
한참 동안 가장 친한 친구의 흔적을 따라간 끝에, 친구가 갇혀 있는 야영지를 찾아내요. 알고 보니 납치범은 둘이에요. 힘센 기사와 교활한 궁수죠.
납치범들을 찾은 Annalyn은 다음 행동 중 무엇을 할 수 있을지 생각해요:
- 빠른 공격
- 첩보
- 죄수에게 신호 보내기
- 죄수 구출하기
작업
다음은 가장 친한 친구를 구하는 Annalyn의 이야기에 어울리는 예시 작업이에요:
-
빠른 공격 확인을 구현해요: 기사가 잠들어 있으면 빠른 공격을 할 수 있어요. 갑옷을 입는 데 시간이 걸려서 기사는 무방비 상태가 되거든요.
-
첩보 확인을 구현해요: 일행 중 적어도 한 명이 깨어 있으면 첩보를 할 수 있어요. 그렇지 않으면 첩보는 시간 낭비예요.
-
죄수에게 신호 보내기 확인을 구현해요: 죄수가 깨어 있고 궁수가 잠들어 있으면 새 소리로 죄수에게 신호를 보낼 수 있어요. 궁수는 새 소리 신호를 배웠기 때문에 메시지를 가로챌 수도 있거든요.
-
죄수 구출하기 확인을 구현해요: Annalyn은 야영지에 몰래 들어가 죄수를 구하려고 시도할 수 있어요.
위험한 시도이고, 두 가지 방법 중 하나로만 성공할 수 있어요:
- Annalyn이 반려견을 데리고 있으면 궁수가 잠들어 있을 때 죄수를 구출할 수 있어요.
기사는 개를 무서워하고, 궁수는 Annalyn과 죄수가 도망치기 전에 준비할 시간이 없어요.
- Annalyn이 반려견을 데리고 있지 않으면, Annalyn과 죄수는 아주 조심스러워야 해요!
죄수가 깨어 있고 기사와 궁수가 둘 다 잠들어 있으면 Annalyn은 죄수를 구할 수 있어요. 하지만 죄수가 잠들어 있으면 구할 수 없어요. Annalyn이 갑자기 나타나면 죄수가 놀라서 기사와 궁수를 깨우고 말 거예요.
용어
이것은 안내문(스텁 주석 포함)에서 반복되는 용어에 대한 권장 사항이고, 규칙은 아니에요.
- 주인공은 Annalyn이고, 그녀를 가리키는 대명사는 she/her예요. 인물을 가리켜야 할 때는 이름을 쓰거나 그녀의 대명사를 사용해요.
-
boolean(또는 그에 해당하는 데이터 타입) 대신 can {action} 또는 **can perform {action}**를 사용해요.
- 죄수는 Annalyn의 가장 친한 친구이고, 죄수를 가리키는 대명사는 they/their예요.
-
Annalyn, 죄수, 궁수, 기사, Annalyn의 반려견을 대명사로 가리키지 마세요. 의미가 대부분 모호해지기 때문이에요. 대신 강조된 지시어를 그대로 사용해요.
구현
관련