Kurzusok
/
Swift
Swift
/
Feladatok
/
Szárnyak küldetése
Szárnyak küldetése

Szárnyak küldetése

Tanulófeladat

Bevezetés

A Swift beépített Bool típust kínál az igazságértékek, a true és a false reprezentálására.

Logikai operátorok

A Swift három logikai operátort (!, && és ||) kínál Boolean kifejezések kombinálására és kiértékelésére.

Logikai ÉS (&&)

Az és operátor (&&) csak akkor ad vissza true-t, ha mindkét operandus true. Ha valamelyik operandus false, akkor false-t ad vissza. A && jel mindkét oldalára tegyél egy kifejezést vagy egy Boolean értéket:

true && true  // true
true && false // false

Logikai VAGY (||)

A vagy operátor (||) akkor ad vissza true-t, ha az operandusok közül legalább az egyik true. Csak akkor ad vissza false-t, ha mindkét operandus false. A || jel mindkét oldalára tegyél egy kifejezést vagy egy Boolean értéket:

true || true   // true
true || false  // true
false || false // false

Logikai NEM (!)

A nem operátor (!) megfordítja a Boolean értéket. true-t ad vissza, ha az érték false, és false-t, ha az érték true. A ! operátort közvetlenül az érték vagy a kifejezés elé helyezd:

!true  // false
!false // true

A zárójelek használata (())

A zárójelek segítségével csoportosíthatod a kifejezéseket, és szabályozhatod a kiértékelés sorrendjét. A Swiftben először a zárójelben lévő kifejezések értékelődnek ki:

true && false && false || true   // true
true && false && (false || true) // false

A zárójelezés azt is meghatározza, hogyan vonatkozik a NEM operátor az összetett kifejezésekre:

!true && false   // false (evaluates (!true) first, then false && false)
!(true && false) // true  (evaluates (true && false) first to false, then !false)
Note

Akkor használj zárójelet, ha tisztázni szeretnéd a kiértékelés sorrendjét, vagy egy összetett feltételt könnyebben olvashatóvá szeretnél tenni. Kerüld a felesleges zárójeleket, amikor az alapértelmezett műveleti elsőbbség egyébként is egyértelmű.

Utasítások

Éppen az új, nagyra becsült Wings Quest játékot fejleszted. A játékban egy madár vagy, amely ide-oda mozog, és magokat gyűjt. A játékos akkor nyer, ha felszedi az összes magot. Ha a játékos kapcsolatba kerül egy sassal, elveszíti az összes magját, és veszít. Ez alól a szabály alól van egy kivétel: a játékosnak lehet aktív power-upja, amitől magasabban repül, mint a többi madár.

A feladatod, hogy megírj néhány szabályt, amelyeket a játékban használni fognak.

1. Határozd meg, hogy a madár kap-e bónuszpontokat

A játékban a madár bónuszpontokat kap, ha úgy ér hozzá egy sashez, hogy közben aktív a power-upja.

Definiáld a bonusPoints(powerUpActive:touchingEagle:) függvényt, amely két argumentumot vár: a powerUpActive argumentum azt jelzi, hogy a madárnak aktív-e a power-upja, a touchingEagle argumentum pedig azt, hogy a madár hozzáér-e egy sashez. A függvény csak akkor adjon vissza true értéket, ha a madárnak aktív a power-upja, és hozzáér egy sashez, egyébként false értéket.

bonusPoints(powerUpActive: false, touchingEagle: true)
// Returns false

2. Határozd meg, hogy a madár szerez-e pontot

A játékban a játékos pontot kap, amikor felvesz egy magot vagy egy power-upot.

Definiáld a score(touchingPowerUp:touchingSeed:) függvényt, amely két argumentumot vár: a touchingPowerUp argumentum azt jelzi, hogy a madár hozzáér-e egy power-uphoz, a touchingSeed argumentum pedig azt, hogy hozzáér-e egy maghoz. A függvény akkor adjon vissza true értéket, ha a madár hozzáér egy power-uphoz vagy egy maghoz, egyébként false értéket.

score(touchingPowerUp: true, touchingSeed: true)
// Returns true

3. Határozd meg, hogy a madár veszít-e

Definiáld a lose(powerUpActive:touchingEagle:) függvényt, amely két argumentumot vár: a powerUpActive argumentum azt jelzi, hogy a madárnak aktív-e a power-upja, a touchingEagle argumentum pedig azt, hogy a madár hozzáér-e egy sashez. A függvény akkor adjon vissza true értéket, ha a szereplő hozzáér egy sashez, és nincs aktív power-upja, egyébként false értéket.

lose(powerUpActive: false, touchingEagle: true)
// Returns true

4. Határozd meg, hogy a madár nyer-e

Definiáld a win(hasPickedUpAllSeeds:powerUpActive:touchingEagle:) függvényt, amely a következő argumentumokat várja:

  • hasPickedUpAllSeeds: hogy a madár felszedte-e az összes magot.
  • powerUpActive: hogy a madárnak aktív-e a power-upja.
  • touchingEagle: hogy a madár hozzáér-e egy sashez.

A függvény akkor adjon vissza true értéket, ha a madár összegyűjtötte az összes magot, és a 3. részben meghatározott argumentumok alapján nem veszített, egyébként false értéket.

win(hasPickedUpAllSeeds: false, powerUpActive: true, touchingEagle: false)
// Returns false
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Swift Exercism

Készen állsz elkezdeni a(z) Szárnyak küldetése feladatot?

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