Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Pobieranie zawartosc wektora

Ostatnio zmodyfikowano 2009-08-22 14:06
Autor Wiadomość
PhonniX
Temat założony przez niniejszego użytkownika
Pobieranie zawartosc wektora
» 2009-08-21 19:28:35
Witam.
Mam problem, chcę pobrać z wektora wartość id danego potwora, ale zawsze pobiera te ostatnią, dlaczego?
C/C++
for( int i = 0; i < Potwory.size(); i++ )
{
   
    if( mouse_b == 1 ) {
        if( cel !=- 1 ) { cel =- 1; }
        if(( Potwory[ i ].x - 32 - iEkrx + 160 ) <= mouse_x &&
        ( Potwory[ i ].x + 32 - iEkrx + 160 ) >= mouse_x &&
        ( Potwory[ i ].y - 32 - iEkry + 160 ) <= mouse_y &&
        ( Potwory[ i ].y + 32 - iEkry + 160 ) >= mouse_y )
        { cel = Potwory[ i ].id; }
       
    }
P-9693
DejaVu
» 2009-08-21 19:57:12
1. Przechodzisz po wszystkich obiektach
2. Jeśli warunek jest spełniony, zapisujesz sobie cel

Jeśli otrzymujesz zawsze ostatni cel to znaczy, że dla ostatniego celu spełniony jest warunek.
P-9694
PhonniX
Temat założony przez niniejszego użytkownika
» 2009-08-22 12:58:15
Ok już sobie poradziłem:
C/C++
if( mouse_b == 1 ) { int i = 0;
    while( i < Potwory.size() )
    {
        if( cel !=- 1 ) { cel =- 1; }
        if(( Potwory[ i ].x - 32 - iEkrx + 160 ) <= mouse_x &&
        ( Potwory[ i ].x + 32 - iEkrx + 160 ) >= mouse_x &&
        ( Potwory[ i ].y - 32 - iEkry + 160 ) <= mouse_y &&
        ( Potwory[ i ].y + 32 - iEkry + 160 ) >= mouse_y )
        { cel = Potwory[ i ].id; i = Potwory.size(); } else { i++; }
       
    } }
P-9716
DejaVu
» 2009-08-22 14:06:03
Jeśli chciałeś przerwać pętlę for wystarczyło wpisać break :) Nie wydaje mi się jednak żeby to było porządane działanie - choć z drugiej wersji algorytmu, który przedstawiłeś dokładnie to wynika.
P-9720
« 1 »
  Strona 1 z 1