diff --git a/3.js b/3.js index ee9b615..c60e299 100644 --- a/3.js +++ b/3.js @@ -1,20 +1,39 @@ -export function canExecuteFastAttack(knightIsAwake) { - -} - +var knightIsAwake = false; +var archerIsAwake = true; +var prisonerIsAwake = false; export function canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake) { - + return knightIsAwake || archerIsAwake || prisonerIsAwake; } +/** + * You'll get caught by the archer if you signal while they're awake. + * + * @param {boolean} archerIsAwake + * @param {boolean} prisonerIsAwake + * + * @returns {boolean} Whether or not you can send a signal to the prisoner. + */ +var archerIsAwake = false; +var prisonerIsAwake = true; export function canSignalPrisoner(archerIsAwake, prisonerIsAwake) { - + return prisonerIsAwake && !archerIsAwake; } -export function canFreePrisoner( +/** + * The final stage in the plan: freeing Annalyn's best friend. + * + * @param {boolean} knightIsAwake + * @param {boolean} archerIsAwake + * @param {boolean} prisonerIsAwake + * @param {boolean} petDogIsPresent + * + * @returns {boolean} Whether or not you can free Annalyn's friend. + */ +export function canFreePrisoner( knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent - ) { - +) { + return (!archerIsAwake && petDogIsPresent) || (prisonerIsAwake && !archerIsAwake && !knightIsAwake); }