1.4. Dragon v3.0¶
Assignment: Dragon v3.0
Complexity: hard
Lines of code: 50 lines
Time: 21 min

Figure 1.14. Firkraag dragon from game Baldur's Gate II: Shadows of Amn¶
1.4.1. English¶
1.4.2. Polish¶
Dodaj możliwość poruszania się smoka i bohatera w 3 wymiarach
Bohater może należeć do drużyny, który może składać się maks z 6 postaci (różnych klas)
Żadna z istot na planszy nie może wyjść poza zakres ekranu
Bohater może dodatkowo założyć ekwipunek i może być to wiele obiektów na raz
Każdy z przedmiotów ma swoją nazwę, typ oraz modyfikator
zbroję (dodatkowe punkty obrony, np. +10%)
tarczę (dodatkowe punkty obrony, np. +5%)
miecz (dodatkowe punkty ataku, np. +5%)
Zbroja i tarcza chroni przed uderzeniami obniżając ilość obrażeń o wartość obrony
Miecz zwiększa ilość zadawanych obrażeń
Obrażenia smoka maleją z sześcianem odległości (zianie ogniem)
Bohater nie może zadawać obrażeń jak jest dalej niż 50 punktów od przeciwnika
Wszystkie istoty mogą levelować a bazowe punty życia i obrażeń się zmieniają z poziomem
Przeprowadź symulację walki. Kto zginie pierwszy?
Wymagania niefunkcjonalne:
Zadanie jest symulacją procesu developmentu
Trener zachowuje się jak Product Owner z niewielką techniczną wiedzą
Ty jesteś inżynierem oprogramowania, który musi podejmować decyzje i ponosić ich konsekwencje
Zadanie jest tylko narracją do demonstracji OOP i dobrych praktyk programowania
Wyliczona pozycja Smoka na końcu gry powinna być x=20, y=40
Możesz wprowadzać dodatkowe pola, metody, funkcje, zmienne, stałe, klasy, obiekty, co tylko chcesz
Nie korzystaj z modułów spoza standardowej biblioteki Pythona
Zadanie jest specyfikacją wymagań biznesowych, a nie dokumentacją techniczną, tj. "co Smok ma robić, a nie jak to ma robić"
Nie musisz trzymać się kolejności punktów i podpunktów w zadaniu
Jest to wersja alpha więc bez dodatkowych funkcjonalności (np. sprawdzanie koordynatów, wychodzenia poza planszę itp.)
Możesz stworzyć testy, np. unittest lub doctest
Nie przeglądaj rozwiązań ani treści kolejnych części zadania; jeżeli zaglądniesz w przód, to zepsujesz sobie zabawę i naukę
1.4.3. Solution¶
EN: Note, that this will spoil your fun and learning
PL: Zwróć uwagę, że to zepsuje Twoją zabawę i naukę
Solution