Projekt GUI w Javie “Pacman”

Employer
no avatar
Alekso
Descripción

Napisz program będący realizacją gry w stylu ”Pacman”.

W rozgrywce przeciwnicy raz na 5 sekund z prawdopodobieństwem 25% tworzą ulepszenia

(np. +50% prędkości poruszania się itp.), które gracz może zebrać. Zaimplementuj min. 5 różnych ulepszeń. Program po uruchomieniu wyświetla menu główne składające się z opcji:

• New Game • High Scores • Exit

Po uruchomieniu nowej gry, gracz zostanie zapytany o rozmiar planszy na której chcemy grać. Należy zaimplementować co najmniej 5 różnych plansz różnego rozmiaru.Po wyborze rozmiaru planszy, w nowym oknie wyświetlana jest wygenerowana plansza gry.Należy zapewnić w pełni funkcjonalny interfejs graficzny.CLI może być tylko pomocą informacyjną dla programisty, ale nie może zachodzić tam żadna interakcja, czy wyświetlanie informacji użytkownikom.

Podczas gry musi być widoczny licznik punktów, licznik czasu, licznik żyć i inne potrzebne elementy interfejsu graficznego, które będą aktualizowane na żywo podczas rozgrywki.W projekcie obowiązkowe jest wykorzystanie plików graficznych oraz zrealizowanie spójnego efektu wizualnego całej aplikacji z uwzględnieniem wszystkich okien aplikacji.Zrealizuj ruch postaci i wykonywane zadania poprzez proste poklatkowe animacje (animacja ruchu, animacja jedzenia).Animacje zaimplementuj samodzielnie w oparciu o wątki, a nie np. przez pliki GIF.Wszystkie kwestie związane z czasem należy zrealizować z uwzględnieniem wątków (nie wolno wykorzystywać klasy Timer, Executor i innych).Należy zapewnić przemyślaną i poprawną synchronizację wątków.Nie można łączyć różnych funkcjonalności w jeden wątek.Gra toczy się według wyżej wymienionych zasad.Należy zapewnić możliwość przerwania gry w dowolnym momencie, co spowoduje powrót do menu głównego.Po zakończeniu gry, w nowym oknie gracz proszony jest o nazwę pod jaką ma być zapisany w rankingu.Zapewnij trwałość rankingu wykorzystując interfejs Serializable i zapis do pliku.Po wybraniu opcji rankingu z menu głównego,zostaje on wyświetlony użytkownikowi.Ranking należy zrealizować przy pomocy komponentu JList.

Published
on 2024-06-13
Funciones requeridas:
Termin ostateczny: 14.06.2024

Offers sent (3)

Budget
300,00 PLN
Copyright
-
Expires in
30 days

Recent jobs from category

  • no avatar
    Navia 🔥 Automate 🤖 & Apps 📱 0 deals
    Automation Developer
    Szukamy osoby, która chce tworzyć automatyzacje i aplikacje low-code z wykorzystaniem narzędzi...
    Negotiable
    87 offers
    Expires in 19 days
  • no avatar
    kamil 0 deals
    SKRYPT ALLEGRO
    Zlecę stworzenie skryptu, który przez oficjalne API Allegro będzie codziennie wyszukiwał...
    Negotiable
    79 offers
    Expires in 16 days
  • no avatar
    Gustavo Toscani 0 deals
    Building EyeLabX – Join as a Founding Blockchain & Full-Stack Developer
    At EyeLabX, we’re building the first eye wellness ecosystem that combines digital health, token...
    Negotiable
    26 offers
    Expires in 9 days