Und zwar programmiere ich jetzt seit ungefähr 2 Tagen Pong. Und zwar nicht, weil ich mal Spieleentwickler werden wollte, sondern weil ich irgendwie, mit visuellen Ergebnissen, meine C-Kentnisse nicht einrosten lassen will und ein bisschen C++ üben möchte.
Lange Rede kurzer Sinn, ich habe ein Problem seit gestern Abend: Und zwar ist die "Spiegelung", also praktisch der Richtungswechsel, des Balles ziemlich random bei mir und wenn der Ball den Pong trifft, ist das Spiel vorbei(weil er davon ausgeht, den Bildschirmrand zu treffen). Ich konnte das Problem schon weiter einkreisen, es müsste eigentlich an meiner isSameHeight function liegen. Allerdings hat mich nun ca. 60 minütiges rumdenken nicht weitergebracht. Dementsprechend frage ich mal, ob mir jemand einen Stubser in die richtige Richtung geben könnte.
Die Files ist leicht unübersichtlich und ich hoffe ihr findet den Teil, den ich meine.
Ich kann ja auch mal schreiben, was nach dem heutigen 60 Minuten denken heraus kam. Zumindest bei der isSameHeight function. Leider kackt das Game, wenn ich die function so umschreibe, beim Start direkt ab.
Code: Alles auswählen
bool isSameHeight( Ball ball, Sprite pong )
{
SDL_Rect *ball_pos = new SDL_Rect;
SDL_Rect *pong_pos = new SDL_Rect;
ball_pos = ball.get_position();
pong_pos = pong.get_position();
if( ball_pos->y + ball.bmp->h + 1 < pong_pos->y || ball_pos->y - 1 > pong_pos->y + pong.bmp->h )
{
delete pong_pos;
delete ball_pos;
return false;
}
delete pong_pos;
delete ball_pos;
return true;
}
€dit: kurzer file-update