Pacman - wizja projektu- ocena

0

Siemka

Mam do napisania w tym miesiącu, większy projekt w Javie - gra, standardowy Pacman(plus najlepsze wyniki wysyłane na serwer, pobieranie leveli z serwera, skalowanie okna )

Ogólnie moja wizja jest taka:

  • klasa głowna JFrame, która ma w sobie obiekt największej chyba klasy JPanel - wszyskie głowne funkcje
  • klasa "actor" - która ma aktualna pozycje, image, oczywiscie wszyskie funkcje zwracajace wartosci, poruszanie itp
  • klasa pacman - dziedziczy po actor, jeden obiekt tej klasy
  • klasa ghost - dziedziczy po actor, kilku obiektów tej klasy
  • klasa wall - kilkanaście obiektów - jeden obiekt jedna kostka ściany

Na razie nie myślę jeszcze o sieci.

Oprócz tego do obsługi na razie myślałem o dwóch wątkach,

  1. obliczanie kolejnych pozycji duchów, sprawdzanie ewentualnych kolizji
  2. odpowiedzialny za rysowanie wszystkiego

Ogolnie muszą dobrze w czasie się rozłożyć zeby nie zostało np coś narysowane przed wyliczeniem pozycji

Nie mam zbytnio pojęcia jak robić plansze, nie wiem na pałę wyrysowywać jakieś bloki i sprawdzać kolizję, czy może możecie polecić jakiś sprytny sposób? Wiąże się to z tym że okno gry ma być w pełni skalowane, także wielkości obiektów rysowanych itp, i żeby to wszystko się nie porąbało po przeskalowaniu.

Powiedzcie mi czy dobrze wszystko z bardzo grubsza zaplanowałem. Jest to gruby szkic tej aplikacji, a nie chciałbym zaczynać po 5 razy.

Bardzo dziękuję za wszelkie uwagi, pomoce.

0

Sam plan jest w porządku (sam nie ułożyłbym lepszego), jednak nie pomogę ci za bardzo. Mogę ci jedynie zaproponować kod sprawdzający kolizję ghosta z pacmanem.
gx, gy - położenie x i y ghosta
px, py - położenie x i y pacmana.
Zderzenie() to metoda, która przedstawia, co się dzieje, gdy nastąpi zderzenie.

if (px == gx)
{
	if (py == gy)
	{
		Zderzenie zderzenie = new Zderzenie();
	}
}

To na razie dość prosta wersja, ponieważ punkty gx, gy, px i py wskazują dokładnie na środkowy punkt pacmana i ghosta, więc zwykłe zetknięcie ich nic nie da, muszą się zetknąć tym punktem centralnym. Myślę jednak, że możesz to uznać za podstawowy projekt, który musisz rozwinąć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1