Arkanoid w c++

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Witam!

Orientuje się ktoś jak do gry typu arkanoid (piłeczka odbija się od paletki i zbija cegiełki) wstawić funkcję dzięki której będą naliczane punkty po tym jak piłeczka zbije cegiełkę?

MasterBLB
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1454
1

Coś w tym stylu

Kopiuj
if (collisionDetected(ball, brick))
{
    addPoints(brick);
}

ewentualnie

Kopiuj
class Brick
{
   brickHitValue = X;

   void collisionEvent()
   {
        global::addPoints(brickHitValue);
   }
}
D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Bardzo dziękuję za pomoc! :)

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

A czy mógłby Pan jeszcze mniej więcej wytłumaczyć tą funkcję? tzn. dlaczego jest tak a nie inaczej :)

MasterBLB
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1454
1

Tutaj sobie nie "panujemy".
Co do przypadku nr 1 to tak:
Żeby gra Arkanoidopodobna w ogóle działała to musi istnieć wykrywanie kolizji między piłką a obiektami planszy - ścianami, platformą gracza, oraz cegiełkami. Skoro istnieje detekcja kolizji między piłką a klockiem to w tym miejscu właśnie należy dopisać naliczanie punktów.

Przypadek nr 2:
Sposób nieco bardziej zaawansowany to użycie klasy obsługującej zdarzenia - na przykład klasa platformy gracza będzie dostawać zdarzenia wciśnięcia klawisza lewo/prawo, albo ruchów myszki. W takim wypadku może być tak, że klasa cegiełki dostanie nowy typ zdarzenia wywoływany wtedy, kiedy trafi w nią piłka - w takim wypadku można użyć funkcji obsługującej zdarzenie kolizji do dodania punktów.

Oba przypadki są bardzo ogólne, i wymagają oparcia w szczegółach implementacyjnych.

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Dziękuję! :)

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.