E-Sport Kvalifikáció
Kategória: python - közép (előfizetőknek)
Feladat leírása
Egy feltörekvő e-sportoló vagy, aki a népszerű "Kiber-Vívók" című játékban szeretne profi szintre lépni. A következő nagy online bajnokságra való kvalifikációhoz egy programot kell írnod, ami elemzi a felkészülési időszakod alatt nyújtott teljesítményedet. A programnak értékelnie kell a napi rangsorpontszámod (SR) változását, a lejátszott meccstípusokból származó stratégiai pontokat, és a támogatóidtól kapott "kreditek" beváltását.
Készíts programot az alábbi leírás szerint, amely modellezi és kiértékeli a teljesítményedet! A program forráskódját mentsd kvalifikacio néven!
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 szükséged van a továbbiakban, akkor add meg manuálisan a hiányzó értéket, és azzal dolgozz tovább!
Minta a szöveges kimenet kialakításához:
Hány napos a felkészülési időszak? 5
Mi a cél Skill Rating (SR)? 2800
Add meg a napi meccstípusokat egy szövegben (A: agilis, V: védekező, T: taktikai, K: kombó): AVTKK
1. nap végi SR: 2500
2. nap végi SR: 2650
3. nap végi SR: 2580
4. nap végi SR: 2810
5. nap végi SR: 2900
--- TELJESÍTMÉNY JELENTÉS ---
1. Cél Elérése:
A cél SR-t a 4. napon érted el.
A felkészülés során 1 alkalommal csökkent az SR-ed.
2. Stratégiai Elemzés:
A meccstípusokért kapott stratégiai pontszám: 44 pont.
Mivel minden stílusban játszottál, 10 bónuszpontot kapsz!
A végleges stratégiai pontszámod: 54 pont. Gratulálok, a kihívás teljesítve!
3. Energia Cella Feltöltés:
A fázisokban feldolgozott energia: 9 5 9 9 9 5 8 8 7
A feltöltéshez szükséges fázisok száma: 9
4. Végső Kvalifikáció:
A rendszerellenőrzés során 0 hiba történt.
A kvalifikációhoz szükséges pontszámot sajnos nem érted el.
Részfeladatok
1.
Kérd be a felhasználótól, hogy hány napos a felkészülési időszak.2.
Kérd be, hogy mi a célként kitűzött Skill Rating (SR) pontszám. Ez egy lebegőpontos szám is lehet.3.
Kérd be egyetlen karaktersorozatban (szövegben) a napi meccstípusokat! A karakterek jelentése: A (agilis), V (védekező), T (taktikai), K (kombó). Például egy 5 napos időszakra: AVTKK.4.
Egy ciklus segítségével kérd be minden napra az aznapi SR-értéket!5.
A programnak meg kell jegyeznie, hogy a játékos SR-pontszáma hányszor csökkent az előző naphoz képest.6.
A programnak azt is figyelnie kell, hogy legkorábban melyik napon érte el vagy haladta meg a célként kitűzött SR-t. Ha egyszer elérte, a további napokon már nem kell ezt vizsgálni.7.
Az eredményt a minta szerint írd ki! Ha a játékos soha nem érte el a cél SR-t, akkor írd ki, hogy "Sajnos nem sikerült elérni a cél SR-t."8.
A program számolja ki a "stratégiai pontszámot" a megadott meccstípus-karaktersorozat alapján a következőképpen:a)
A: 1 pontb)
V: 1 pontc)
T: 2 pontd)
K: 10 pont
9.
Ha a játékos a felkészülési időszak alatt legalább egyszer játszott mind a négy (A, V, T, K) stílusban, akkor kap 10 bónuszpontot.10.
Írd ki a szerzett pontszámot, a bónusz tényét, és a végső pontszámot!11.
Ha a végső pontszám eléri vagy meghaladja a 40-et, gratulálj a kihívás teljesítéséhez, egyébként írd ki, hogy "Legközelebb sikerül!".12.
A felkészülés során a támogatóidtól különböző méretű energia cellákat kapsz. A programod tartalmazzon egy beépített listát, ami ezeknek az energiaértékét tárolja: energia_cellak = [7, 2, 5, 8, 1, 9, 3, 6, 4, 1, 8, 3, 5, 7]13.
A felszerelésed egy speciális "töltőpufferrel" rendelkezik, ami egyszerre maximum 10 egységnyi energiát képes kezelni. Az energia cellákat egymás után kell a pufferbe juttatnod. Ha a következő cella már nem férne be a pufferbe anélkül, hogy túllépné a 10 egységes limitet, akkor a puffer kisül, és egy új "töltési fázis" kezdődik a soron következő cellával.14.
Számítsd ki, összesen hány töltési fázisra van szükség az összes cella energiájának feldolgozásához! Írd ki a képernyőre egy sorba, szóközzel elválasztva az egyes fázisokban feldolgozott összesített energia mennyiségét!15.
Vegyük a 3. feladatban kiszámolt (bónusz nélküli) stratégiai pontszámot. Ez a "kvalifikációs alap pontszám".16.
Szimulálj egy "rendszerellenőrzést"! Ha a kvalifikációs pontszám osztható 10-zel, az "rendszerhibát" okoz, és le kell vonni 3 pontot a pontszámból. Számold meg, a folyamat során ez hányszor történik meg! A kiinduló pontszámot addig vizsgáld és csökkentsd, amíg már nem osztható 10-zel. (Példa: ha a pontszám 30, akkor levonsz 3-at, az új pontszám 27 lesz. A hibák száma 1.)17.
Ha a végső, módosított pontszám eléri vagy meghaladja a 45-öt, akkor a játékos kvalifikálta magát. Írd ki az eredményt a minta szerint!