1.3. Dragon v2.0¶
Assignment: Dragon v2.0
Complexity: medium
Lines of code: 120 lines
Time: 60 min (±10 min), then 30 min live coding with instructor
Warning: Don't delete code, assignment will be continued

Figure 1.14. Firkraag dragon from game Baldur's Gate II: Shadows of Amn¶
1.3.1. English¶
1.3.2. Polish¶
Zmodyfikuj smoka z pierwszej części
Smok nie może wyjść poza obszar ekranu (1024x768)
Jeżeli dojdzie do granicy ekranu, to przesuwając dalej, pozycja będzie ustawiona na maks
Zmień smokowi punkty życia na losowy
int
z zakresu 100 do 150Stwórz bohatera "Pan Twardowski":
losowe punkty życia (200-250)
zadaje losowe obrażenia (1-15)
klasa postaci (domyślnie "Warrior")
Bohater może przyjmować obrażenia
Bohater może zginąć
Bohater może poruszać się po planszy
Wszystkie istoty mają statusy:
"Full Health" - gdy punkty życia 100% (zastąp status "alive")
"Injured" - gdy punkty życia 99% - 75%
"Badly Wounded" - gdy punkty życia 74% - 25%
"Near Death" - gdy punkty życia 24% - 1%
"Dead" - gdy punkty życia poniżej lub równe 0%
Bohater przejmuje złoto smoka, jeżeli go zabije
Przeprowadź walkę, tak długo aż ktoś pierwszy nie zginie
Kiedy punkty życia dowolnej postaci (smok lub bohater) spadną do lub poniżej zera:
Postaci nie można zadawać obrażeń
Postać nie może zadawać obrażeń
Postać nie może się poruszać
- 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.3.3. Solution¶
EN: Note, that this will spoil your fun and learning
PL: Zwróć uwagę, że to zepsuje Twoją zabawę i naukę
Solution