Kolizja dwóch kwadratów na zewnątrz
Ostatnio zmodyfikowano 2011-07-08 22:17
diego997 Temat założony przez niniejszego użytkownika |
Kolizja dwóch kwadratów na zewnątrz » 2011-07-08 21:14:41 Trochę przerobiłem funkcje bo chciałem zrobić, że kiedy kwadrat mniejszy który jest wewnątrz większego wyjedzie poza jego obszar, spowoduje że program się zamknie. I wyszło mi takie coś: bool Kolizja( Poz * A, Poz * B ) { if( A->y <= B->y ) return false; if( A->x >= B->x ) return false; if(( A->y + A->h ) >=( B->y + B->h ) ) return false; if(( A->x + A->w ) <=( B->x + B->w ) ) return false; return true; }
Ale skoro tutaj to zamieściłem to pewnie dlatego, że mi nie działa ;p. Czy moglibyście sprawdzić co jest nie tak ? |
|
SeaMonster131 |
» 2011-07-08 21:42:53 Kiedyś miałem podobne problemy, a co mi poradzili? Żebym wziął długopis i kartkę i to sobie wszystko napisał. Tobie też tak radzę, w przyszłości też może Ci sie to przydać ;) |
|
kamillo121 |
» 2011-07-08 21:56:01 Bez wyobraźni sobie nie poradzisz nigdy w programowaniu, musisz sobie obmyślać w głowie, wizualizować a jak masz za mało ramu w mózgu to przeżuć to na kartkę papieru i myśl. Posłużę się obrazkiem: Jakie warunki musza być spełnione, by kwadrat B nie wychodził poza kwadrat A ? Podpowiem Ci ten ostatni raz: ( Bx >= Ax ) && ( Bx+Bw <= Ax+Aw ) // to sprawdza w poziomie ( By >= Ay ) && ( By+Bh <= Ax+Ah) //to sprawdza w pionie Życzę powodzenia... |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2011-07-08 22:06:02 No racja za często się pytam dzięki |
|
kamillo121 |
» 2011-07-08 22:08:10 nie chodzi o to, że za często ale większy sukces osiągniesz jak sam do tego dojdziesz :) |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2011-07-08 22:10:36 no na pewno, popraw w pionie i poziomie :) |
|
kamillo121 |
» 2011-07-08 22:17:53 popraw w pionie i poziomie
|
Nie wiem o ki grzyb chodzi ale mniejsza, zostawmy to. |
|
« 1 » |