[Allegro] Problem z kierowaniem myszką.
Ostatnio zmodyfikowano 2009-01-24 18:44
Arrogance Temat założony przez niniejszego użytkownika |
[Allegro] Problem z kierowaniem myszką. » 2009-01-23 03:48:36 jestem w trakcie robienia gry, cos w stylu bitwy w herosach, mam określoną ilość stworków na mapie, każdy ma własne statystyki zawarte w strukturze etc. i problem pojawia się kiedy chciałbym aby stwory przemieszczały się w miejsce gdzie kliknę myszką, oczywiście chodzi mi o to żeby poruszały się w określonej kolejności w zależności od parametru prędkości każdego z nich. mam kod który tworzy mi kolejkę poruszania się tychże stworów, ale jak staram się zrobić coś z funkcją poruszania to program się wiesza albo inne dziwne rzeczy się dzieją :/ tu kod : for( i = 0; i < 10; i++ ) { lud[ i ].ruch = 0; } for( k = 0; k < 10; k++ ) { for( i = 0, tym = 0; i < 10; i++ ) { if( lud[ i ].szyb > tym && lud[ i ].ruch == 0 ) { tym = lud[ i ].szyb; } } for( i = 0; i < 10; i++ ) { if( lud[ i ].szyb == tym && lud[ i ].ruch == 0 ) { RUCH !!!!!! lud[ i ].ruch = 1; break; } } for( i = 0; i < 10; i++ ) { } } } w miesjce "RUCH" tworzyłem przeróżne funkcje np. do { if( mb == 2 ) { rx[ i ] =( floor( mx / 60 ) ) * 60; lud[ i ].poz_x = rx[ i ]; rx[ i ] = 0; ry[ i ] =( floor( my / 60 ) ) * 60; lud[ i ].poz_y = ry[ i ]; ry[ i ] = 0; } } while( !( rx[ i ] == 0 && ry[ i ] == 0 ) ); chodzi mi tylko o to aby nie odbywało się to w ułamku sekundy bo wteyd wszystkie ludki sa w tym samym miescu :/ z góry dzieki :) |
|
Patzick |
» 2009-01-23 11:44:00 Nic dziwnego, że się wysypuje. Trochę błędów jest: for( i = 0; i < 10; i++ ) { lud[ i + 1 ].ruch = 0; } tym[ 10 ]; for( k = 0; k < 10; k++ ) { for( i = 0; i < 10; i++ ) { if( lud[ i + 1 ].szyb > tym && lud[ i + 1 ].ruch == 0 ) { tym[ i + 1 ] = lud[ i + 1 ].szyb; } } for( i = 0; i < 10; i++ ) { if( lud[ i + 1 ].szyb == tym[ i + 1 ] && lud[ i + 1 ].ruch == 0 ) { RUCH !!!!!! lud[ i + 1 ].ruch = 1; break; } } } Coś mniej więcej takiego powinno być |
|
DejaVu |
» 2009-01-23 17:09:39 Patzik: każda tablica w C/C++ jest numerowana od 0, więc błąd wkazywany przez Ciebie i+1 nie jest tym o co autorowi tematu chodzi. |
|
Patzick |
» 2009-01-23 17:15:47 ale poprawiłem mu nie tylko te wszystkie i+1, jak Ci się chce przeanalizuj różnicę między jego a moim kodem :) |
|
DejaVu |
» 2009-01-24 18:44:40 Proszę o zabranie głosu autora tematu - czy uzyskałeś oczekiwaną odpowiedź? |
|
« 1 » |