A Kalandor Küldetése
Kategória: python - közép (előfizetőknek)
Feladat leírása
Képzeld el, hogy egy bátor kalandor vagy egy fantasy világban, akire egy veszélyes küldetés vár: le kell győznöd a sötét erdőben rejtőző szörnyeket. A szörnyeknek különböző erősségi szintjeik vannak. A harc előtt lehetőséged van mágikus rúnák segítségével megnövelni az erődet. A rúnák azonban csak akkor működnek, ha egy láncot alkotnak: minden újabb rúna szónak az előző szó utolsó betűjével kell kezdődnie.
Készíts egy programot kalandor.py néven, amely modellezi ezt a kalandot! A program először elemzi a rád váró szörnyeket, majd levezényel egy rúna-kihívást, hogy bónusz erőt szerezz, végül pedig csoportosítja a szörnyeket, hogy lásd, mekkora hordákkal kell megküzdened.
A képernyőre írást igénylő feladatoknál az ékezetmentes kiírás is elfogadott. Ha egy feladatot nem tudsz megoldani, haladj tovább a következőre. Ha egy feladat eredményére a későbbiekben szükséged van, akkor add meg te a hiányzó értéket, és azzal dolgozz tovább!
Minta a szöveges kimenet kialakításához:
1. feladat: A szörnyek felmérése
A szörnyek összesített ereje: 89 pont.
A legerősebb szörny 16 erőt képvisel, és a 1. a sorban.
2. feladat: A Rúna-kihívás
Add meg az 1. rúnát (4 betűs szó): kard
Add meg a 2. rúnát (4 betűs szó): dako
Add meg a 3. rúnát (4 betűs szó): orok
Add meg a 4. rúnát (4 betűs szó): keze
A rúnák nem illeszkedtek!
A sikeres rúnák száma: 3.
Szinted: közepes mágus. Kapsz +5 bónusz erőt.
3. feladat: A hordák
A szörnyek hordákba verődve várnak:
1. horda ereje: 16
2. horda ereje: 8 9
3. horda ereje: 4 3 2 4
4. horda ereje: 7 7
5. horda ereje: 12 3 5
6. horda ereje: 4 3 2
Összesen 6 hordával kell megküzdened.
Részfeladatok
1.
A programodban legyen egy lista, ami a szörnyek erősségi szintjeit tárolja! A lista neve legyen szörnyek_ereje, és a következő értékeket tartalmazza: [16, 8, 9, 4, 3, 2, 4, 7, 7, 12, 3, 5, 4, 3, 2].2.
Számítsd ki és írasd ki a képernyőre a szörnyek összesített erejét a minta szerint!3.
Keresd meg a legerősebb szörnyet a listában! Írasd ki a képernyőre az erejét és azt, hogy hanyadik a sorban (az első elem az 1. a sorban, nem a 0.).4.
Indíts egy ciklust, amelyben a program bekéri a felhasználótól a mágikus rúnákat! A program minden körben írja ki, hanyadik rúnát kéri éppen be.5.
A ciklus addig fusson, amíg a felhasználó egy 4 betűs szót ír be. Ha a beírt szó hossza nem 4, a ciklus álljon le!6.
A ciklusban vizsgáld meg, hogy az újonnan beírt rúna első karaktere megegyezik-e az előzőleg beírt rúna utolsó karakterével! Ha nem, szakítsd meg a ciklust a break paranccsal, és írd ki, hogy "A rúnák nem illeszkedtek!".7.
Számold meg, hány sikeresen összekapcsolt rúnát adott meg a felhasználó!8.
A rúna-kihívás végén írasd ki a sikeres lépések számát!9.
Egy if-elif-else szerkezet segítségével állapítsd meg a játékos mágia-szintjét és a kapott bónusz erőt a sikeres rúnák száma alapján:a)
Ha a sikeres rúnák száma 2 vagy kevesebb: "kezdő mágus", bónusz: +2 erő.b)
Ha a sikeres rúnák száma 3 vagy 4: "közepes mágus", bónusz: +5 erő.c)
Ha a sikeres rúnák száma 5 vagy több: "haladó mágus", bónusz: +10 erő.
10.
Írasd ki a képernyőre a játékos szintjét és a kapott bónusz erőt a minta szerint!11.
A kalandod során a szörnyek kisebb-nagyobb hordákba verődnek. Egy hordába annyi szörny állhat össze, amíg az együttes erejük nem haladja meg a 20 pontot.12.
Egy for ciklussal járj végig a szörnyek_ereje listán, és szimuláld a szörnyek csoportosítását!13.
Írasd ki a képernyőre az egyes hordákban lévő szörnyek erejét egy sorba, szóközzel elválasztva, a print() parancs end paraméterének használatával! Amikor egy horda megtelik (a következő szörny már nem férne bele), zárd le a sort, és kezdd a következőt!14.
Számold meg és a végén írasd ki, hogy összesen hány hordával kell megküzdened a küldetés során!