Історія
У цій вправі ми реалізуємо логіку квестів для нової RPG-гри, яку розробляє друг. Головна героїня гри - Анналін, відважна дівчина, у якої є грізний і відданий пес. На жаль, трапляється лихо: її найкращого друга викрали, коли він шукав у лісі ягоди. Анналін спробує знайти і визволити найкращого друга, а в цьому квесті може взяти з собою пса.
Поблукавши деякий час слідом за найкращим другом, вона знаходить табір, у якому його тримають увʼязненим. Виявляється, викрадачів двоє: могутній лицар і хитрий лучник.
Знайшовши викрадачів, Анналін міркує, яку з наведених нижче дій вона може вчинити:
- Швидка атака
- Шпигування
- Подати сигнал увʼязненому
- Визволити увʼязненого
Завдання
Ось приклади завдань, які пасують до історії про те, як Анналін рятує найкращого друга:
- Реалізуйте перевірку для швидкої атаки: швидку атаку можна здійснити, якщо лицар спить, адже йому потрібен час, щоб одягнути обладунки, тож він буде вразливим.
- Реалізуйте перевірку для шпигування: за групою можна шпигувати, якщо хоча б один із них не спить. Інакше шпигування не має сенсу.
- Реалізуйте перевірку для подання сигналу увʼязненому: увʼязненому можна подати сигнал пташиними звуками, якщо увʼязнений не спить, а лучник спить, адже лучників навчають пташиного сигналювання, тож вони могли б перехопити повідомлення.
- Реалізуйте перевірку для визволення увʼязненого: Анналін може спробувати пробратися в табір, щоб визволити увʼязненого.
Це ризикована справа, і вона може вдатися лише одним із двох способів:
- Якщо Анналін бере з собою свого пса, вона може врятувати увʼязненого, коли лучник спить.
Лицар боїться пса, а лучник не встигне приготуватися, перш ніж Анналін і увʼязнений утечуть.
- Якщо Анналін без пса, то їй і увʼязненому доведеться діяти дуже обережно!
Анналін може визволити увʼязненого, якщо увʼязнений не спить, а лицар і лучник обоє сплять. Але якщо увʼязнений спить, його не врятувати: він злякається раптової появи Анналін і розбудить лицаря з лучником.
Термінологія
Це рекомендації, а не правила, щодо повторюваної термінології в інструкціях (зокрема в коментарях у заготовці).
- Головна героїня - Анналін, і для неї використовують займенники she/her. Якщо потрібно позначити персонажа, використовуйте імʼя або звертайтеся до неї за допомогою займенника (займенників).
- Замість
boolean (або відповідного типу даних) використовуйте can {action} або can perform {action}.
- Увʼязнений - це її найкращий друг, і для нього використовують займенники they/their.
-
Не звертайтеся до Анналін, увʼязненого, лучника, лицаря чи пса Анналін займенниками, бо значення, найімовірніше, буде неоднозначним; натомість використовуйте саме виділені позначення.
Реалізації
Повʼязане