Kurzusok
/
Julia
Julia
/
Feladatok
/
Annalyn beszivárgása
Annalyn beszivárgása

Annalyn beszivárgása

Tanulófeladat

Bevezetés

Boolean-ok a Juliában

Az igaz és hamis értékeket a Bool típus képviseli. Csak két értéke van: true és false.

julia> true
true

julia> false
false

Boolean operátorok

Három Boolean operátor van a Juliában.

A && a Boolean „és”. true-ra értékelődik ki, ha a && mindkét oldalán álló kifejezés true.

julia> true && true
true

julia> true && false
false

A || a Boolean „vagy”. true-ra értékelődik ki, ha a || valamelyik oldalán álló kifejezés true.

julia> true || true
true

julia> false || true
true

A ! a Boolean „nem”. Felcseréli egymással a true és a false értékeket.

julia> !true
false

julia> !false
true

Hosszabb és bonyolultabb kifejezéseknél a legjobb, ha zárójelekkel teszed egyértelművé a szándékodat.

julia> (true || false) && (false && true)
false

Utasítások

Ebben a feladatban egy olyan videojátékhoz írsz logikát, amelyet egy barátod fejleszt. A játék főszereplője Annalyn, egy bátor lány, akinek van egy vad és hűséges kutyája. Sajnos azonban baj történik: elrabolják a legjobb barátját, miközben az bogyókat keres az erdőben. Annalyn megpróbálja megtalálni és kiszabadítani a barátját, és ehhez elképzelhető, hogy magával viszi a kutyáját is.

Annalyn végül megtalálja a tábort, ahol a barátját fogva tartják, és kiderül, hogy két emberrabló van: egy hatalmas lovag és egy ravasz íjász.

A játékos elé néhány lehetőség kerül, hogy mihez kezdhet ezután. A négy lehetséges lehetőség mindegyikéhez írnod kell egy függvényt, amely megmondja a játéknak, hogy megjelenítse-e az adott lehetőséget.

1. Ellenőrizd, hogy meg kell-e jeleníteni a »Gyors támadás« lehetőséget

Ha a lovag alszik, Annalyn gyorsan be tud támadni a táborba, mielőtt az rendesen felébredne és felvenné a páncélját.

Készíts egy can_do_fast_attack nevű függvényt, amely egy Boolean értéket kap, ami megmutatja, hogy ébren van-e a lovag. A függvény akkor ad vissza true értéket, ha a karakter állapota alapján a »Gyors támadás« művelet elérhető. Ellenkező esetben false értéket ad vissza:

julia> knight_awake = true

julia> can_do_fast_attack(knight_awake)
false

2. Ellenőrizd, hogy meg kell-e jeleníteni a »Kémkedés« lehetőséget

A csoportot akkor lehet kikémlelni, ha legalább az egyikük ébren van. Ellenkező esetben a kémkedés időpazarlás.

Készíts egy can_spy nevű függvényt, amely három Boolean értéket kap, rendre megmutatva, hogy a lovag, az íjász és a fogoly ébren van-e. A függvény akkor ad vissza true értéket, ha a karakterek állapota alapján a »Kémkedés« művelet elérhető. Ellenkező esetben false értéket ad vissza:

# Output suppressed from the next 3 lines
julia> knight_awake = false
julia> archer_awake = true
julia> prisoner_awake = false

julia> can_spy(knight_awake, archer_awake, prisoner_awake)
true

3. Ellenőrizd, hogy meg kell-e jeleníteni a »Jelzés a fogolynak« lehetőséget

A fogolynak madárhangokkal lehet jelezni, ha ébren van, és az íjász alszik. Ha az íjász ébren van, akkor nem lehet biztonságosan jelezni neki, mert az íjász is képzett a madárjelekben.

Készíts egy can_signal_prisoner nevű függvényt, amely két Boolean értéket kap, rendre megmutatva, hogy az íjász és a fogoly ébren van-e. A függvény akkor ad vissza true értéket, ha a karakterek állapota alapján a »Jelzés a fogolynak« művelet elérhető. Ellenkező esetben false értéket ad vissza:

julia> archer_awake = false
julia> prisoner_awake = true

julia> can_signal_prisoner(archer_awake, prisoner_awake)
true

4. Ellenőrizd, hogy meg kell-e jeleníteni a »Fogoly kiszabadítása« lehetőséget

Annalyn megpróbálhat belopakodni a táborba, hogy kiszabadítsa a barátját. Ez kockázatos vállalkozás, és csak kétféleképpen sikerülhet:

  • Ha Annalyn magával hozta a kutyáját, akkor ki tudja menteni a foglyot, ha az íjász alszik. A lovag fél a kutyától, az íjász pedig nem tud felkészülni, mielőtt Annalyn és a barátja elmenekül.

  • Ha Annalyn nincs ott a kutyája, akkor neki és a fogolynak nagyon óvatosnak kell lennie! Annalyn akkor szabadíthatja ki a foglyot, ha az ébren van, a lovag és az íjász pedig alszik. Ha viszont a fogoly alszik, nem lehet kimenteni: Annalyn hirtelen felbukkanása megijesztené, és felébresztené a lovagot meg az íjászt.

Készíts egy can_free_prisoner nevű függvényt, amely négy Boolean értéket kap. Az első három paraméter rendre megmutatja, hogy a lovag, az íjász és a fogoly ébren van-e. Az utolsó paraméter megmutatja, hogy Annalyn kutyája jelen van-e. A függvény akkor ad vissza true értéket, ha a karakterek állapota alapján a »Fogoly kiszabadítása« művelet elérhető. Ellenkező esetben false értéket ad vissza:

julia> knight_awake = false
julia> archer_awake = true
julia> prisoner_awake = false
julia> dog_present = false

julia> can_free_prisoner(knight_awake, archer_awake, prisoner_awake, dog_present)
false
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Julia Exercism

Készen állsz elkezdeni a(z) Annalyn beszivárgása feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Julia nyelvet 35 fogalom128 feladat segítségével, valódi emberi mentorálással, mindez ingyen.