Poniższy kod powinien działać , jednak działa do pewnego czasu , w pewnym momencie przestaje działać dla jekiegoś któregoś z kolei sprajta i za chwile znowu wszystko pięknie( wszystkie następne działają , a żeby zrobić zderzenie z niedziałającym trzeba poświęcić conajmniej parenaście prób) , jakieś pomysły?
for(int i = 2 ; i<=20 ; ++i)
{
volatile bool a =( weza[0].GetPosition().x == jabko.GetPosition().x or weza[0].GetPosition().x+i == jabko.GetPosition().x or weza[0].GetPosition().x - i == jabko.GetPosition().x) ;
volatile bool b =(weza[0].GetPosition().y == jabko.GetPosition().y or weza[0].GetPosition().y+i == jabko.GetPosition().y or weza[0].GetPosition().y - i == jabko.GetPosition().y);
if( a and b)
{
dlugosc=dlugosc+5;
wspolzedna_x=( rand() % 1272) + 4;
wspolzedna_y =( rand() % 952 ) + 10;
jabko.SetPosition(wspolzedna_x , wspolzedna_y);
}
}
weza[0] to pierwszy , poruszający się sprajt o szer i wys 20 px
jabko nieruchomy sprajt raszta tak samo
*jeżeli zły dział proszę o przeniesienie
- jeżeli potrzebne jest więcej danych ( np. cały kod ) pisać wrzuce