packman i funkcja sleep

packman i funkcja sleep
  • Rejestracja: dni
  • Ostatnio: dni
0

Cześć,

Robimy ze znajomym packman'a w Java,

napotkaliśmy na problem, ponieważ chcemy zrobić losowe wyświetlanie się owocu, wszystko jest przygotowane, ale gdy używamy funkcji sleep, to cała gra, korzysta z tej samej funkcji. tzn jeśli jest 10tys ms to packman rusza się również co 10tys ms.

o to sleep:

Kopiuj
   public void PlayGame(Graphics2D g2d) {
 try{           
            DrawOwoc(g2d, 4,4);
            
  Thread.currentThread().sleep(1000)  ;        
       }
 catch (Exception e)
 {
     }
 
        if (dying) {
            Death();
            
        
        } else {
            
                 
       MovePacMan();
            DrawPacMan(g2d);
            moveGhosts(g2d);
 CheckMaze();
            
     
            
       
        }
    }

pomoże ktoś nam rozwiązać ten problem ?:)

Richard Stallman
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 43
1

hej packman to jakaś nowa wersja pacman'a? Co on robi zjada paczki a nie duszki?

UT
  • Rejestracja: dni
  • Ostatnio: dni
0

Użyj timera, zamiast sleep'a.

  • Rejestracja: dni
  • Ostatnio: dni
0
Richard Stallman napisał(a):

hej packman to jakaś nowa wersja pacman'a? Co on robi zjada paczki a nie duszki?

generalnie ma jeść owoce, więc coś w tym jest :D

btw literówka

timer'a, tzn?

  • Rejestracja: dni
  • Ostatnio: dni
0
iveldion7 napisał(a):

chcemy zrobić losowe wyświetlanie się owocu

praca szarych komórek na max chodzi o to, żeby owoc migał? Czy może ma się wyświetlać w losowych miejscach?

  • Rejestracja: dni
  • Ostatnio: dni
0

wyświetlał się w losowych meijscach co jakiś czas. np. co 5 sekund.

  • Rejestracja: dni
  • Ostatnio: dni
0

tutaj jest funkcja drawowoc

Kopiuj
public void DrawOwoc(Graphics2D g2d, int x, int y) {
      Random r = new Random(); 
int a = r.nextInt(360);
        int b = r.nextInt(360);
 
        g2d.drawImage(owoc, a , b, this);
    }
bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

To utwórzcie Timer, który co 5 sekund wywoła metodę repaint(). A czy przy rysowaniu nowego owocu, poprzedni ma zniknąć?
P.S. nazwa metody DrawOwoc wykręca mi wnetrzności, może drawFruit lub rysujOwoc.

  • Rejestracja: dni
  • Ostatnio: dni
0

Ja bym zaczął od rozdzielenia logiki od prezentacji gry. Na przykład - lista owoców, do której co 5 sekund dodajesz owoc w losowej pozycji. Potem taką listę owoców wyświetlasz.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.