Arkanoid w c++

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ę?

1

Coś w tym stylu

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

ewentualnie

class Brick
{
   brickHitValue = X;

   void collisionEvent()
   {
        global::addPoints(brickHitValue);
   }
}
0

Bardzo dziękuję za pomoc! :)

0

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

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.

0

Dziękuję! :)

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