Piotr Siwek

ostatnia aktualizacja: 02.04.2021

Donald & Duck vs Communism

Screen z dema D&DvsC.
kaczor dumnie pozuje z AK do zdjęcia

Tworząc tą grę zakładałem zrobienie strzelanki 2D w roli głównej z Jarosławek K. i Donaldem T, którzy walczyliby razem przeciwko falom przeciwników. Gra okazała się sporym wyzwaniem. Od samego początku skupiłem się na wielokrotnym wykorzystaniu jednej klasy. Wykorzystywałem różne odmiany wzorców projektowych. Skupiałem się na miejscach, które mogą się zmieniać. Dlatego istnieje możliwość zmian otoczenia, postaci, przeciwników, broni, przedmiotów w grze.

Sporo roboczogodzin spędziłem na niej, ale głównie na przekształceniach i ruchu obrazów. To pierwszy mój projekt z tak dużą ilością obiektów w javie, które non stop oddziałują na siebie. Jeśli coś mnie nie miło zaskoczyło podczas tworzenia tego programu, to classa java.awt.Point. Myląca jest w niej możliwość poddawania parametrów w 'double', które i tak zostają przekształcone w 'int'. Z tego co zrezygnowałem z braku czasu to przedwszystkim menu, usprawnić model wykrywania przeszkód u wrogów i ruch rzutu granatem. Zdecydowałem się skończyć ten projekt na wersji demonstracyjnej i zacząć nowy projekt.

  • program napisany w Javie,
  • ilość klas: 73,
  • wykorzystuje różne wzorce projektowe, m.in.: fabryka, strategia, dekorator, obserwator;
  • testy jednostkowe(trochę):
    • JUnit5,
    • Hamcrest,
    • Jacoco;
  • kod pisany pod możliwość zmiany,
  • zawiera klasę która przetwarza część obrazu na przezroczystą,
  • działanie wielu wątków naraz,
  • możliwość podnoszenia różnych przedmiotów,
  • przeciwnicy, budynki, przeszkody generowani losowo,
  • Przeciwnicy:
    • mogą mieć różne zachowanie,
    • sami mogą się rozglądać(gdy nie stwierdzają obecności gracza w obrębie ich pola widzenia),
    • sami wybierają kierunek ruchu,
    • mogą mieć różną broń, strój;
    • wykrwawiają się i wydają odgłosy,
  • poruszanie nóg w wyniku ruchu postaci,
  • odrzut postaci w wyniku postrzelenia, wybuchu,
  • zdobywanie punktów za zabicie przeciwnika,
  • bomba kasetonowa Konstytucji! - rozpada się na losową ilość kartek i w losowe miejsca,
  • animacja wybuchu,
  • dodana biblioteka JACO MP3 - do odtwarzania plików mp3.
GitHub: https://github.com/piotrsiwekjava/Donald_and_Duck
Link do filmu: https://www.youtube.com/watch?v=ZiBtREVE8xg

Screen z dema D&DvsC. Screen z dema D&DvsC. Screen z dema D&DvsC. Screen z dema D&DvsC.