Problem z piłką - Pong

0

Hej, mam problem z "AI" piłki. Chcę zmienić (odwrócić) tor lotu piłki, jednak nie mam żadnego pomysłu.
Tak to wygląda u mnie, no, mniej więcej:

int speed = 1;
int ball_x = 320;
int ball_y = 240;

Gdzieś tam w nieskończonej pętli:

  if(KOLIZJA_TRÓ){ 
        		 speed = -speed; //jeżeli kolizja doszła do skutku to prędkość jest -1, czyli w drugą stronę
        	  }else{
	        	  ball_x-=speed; //przy kolizji ball_X = 1, wtedy też zamiast -1 powinno być --1, czyli +1 - mylę się?
//niestety to tak nie działa ci piłka utyka przed deską
        	  }

Pozdrawiam

0

Jeżeli speed jest równy 1:

int speed = 1;

I zrobisz

  speed = -speed;

To speed będzie równy speed = -1 czyli 1-1 = 0;

Jeżeli speed równy zero piłka stoi w miejscu.

Musiałbyś zrobić coś w rodzaju:

  speed -= 2
0

W moim wypadku piłka nie stoi w miejscu, ale skacze co piksel, tzn.
1 - 2, 2 -1, 1 - 2, ona chce się odbić, ale nie może, bo coś ją trzyma przy desce.

0

to powinno wyglądać mniej więcej tak:

if (kolizja) {
    speed = -speed;
}
ball_x += speed;

podczas kolizji zmienia się tylko zwrot prędkości

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