Projekt GUI w Javie “Pacman”

Employer
no avatar
Alekso
Description

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
Category
Required functions:
Termin ostateczny: 14.06.2024

Offers sent (3)

Budget
300.00 PLN
Copyright
-
Expires in
30 days

Recent jobs from category

  • no avatar
    Calvin 0 deals
    Paid Terminal Bench project
    This project proposes a Terminal-Bench task focused on financial operations and spreadsheet...
    150.00 USD
    17 offers
    Expires in 23 days
  • no avatar
    Michael 0 deals
    Building RLHF sandbox
    Build a sandbox with dockerfile where coding AI agents will be trained with proper rubrics
    Negotiable
    20 offers
    Expires in 27 days
  • no avatar
    Kamil Lee 0 deals
    STEM/Coding Experts Needed: Build Research Tasks for AI Evaluation
    I need help building realistic, terminal-based STEM research tasks used to evaluate frontier AI...
    100.00 USD
    10 offers
    Expires in 22 days
  • no avatar
    skaner 0 deals
    Airtable Consultancy
    # Request for Quotation — Airtable consultancy ## About us We are a rental management company...
    Negotiable
    21 offers
    Expires in 22 days
  • no avatar
    regansen 33 deals
    2 PDF / Report Builder w systemie ERP/SaaS
    Poszukujemy doświadczonego Frontend Developera (Angular) do rozbudowy istniejącego modułu Report...
    Negotiable
    27 offers
    Expires in 8 days