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

[SFML 1.6] Rozróżnianie obiektów tej samej klasy

Ostatnio zmodyfikowano 2012-12-18 09:20
Autor Wiadomość
Menos
Temat założony przez niniejszego użytkownika
[SFML 1.6] Rozróżnianie obiektów tej samej klasy
» 2012-12-18 08:47:42
Witam.
Pisze grę w SFML 1.6 i mam klasę PROFESOR.

Przyjmuje ona położenie po x i po y(oczywiście chodzi o indeksy w tablicy) oraz czas w którym patrzy.

Chodzi o to ze mam ustawione żeby patrzył przez 20 sekund i przez ten czas gdy wejdzie się w odstępie 1 kwadracika (32) to wywoływana jest metoda która coś tam robi.

I teraz nie wiem jak mam zrobić żeby ustawiać profesorów z różnym czasem na mapie kafelkowej.

np

Mam mape kafelkowa
1- nic nie ma
2-profesor
3- gracz (początkowa pozycja)
5 - wyjście

5,1,1,1,1,1,1,1,1,1,
1,1,1,1,2,1,1,1,2,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,2,1,1,1,2,1,1,
1,1,1,1,1,1,1,1,1,3,

i chodzi o to żeby przejść z początkowej pozycji gracza(3) do wyjścia(5) nie natrafiając na profesorów.

Chciałbym aby profesor w pozycji [4][8] mial czas ustawiony 15 sekund a profesor[2][5] 20 sekund

I teraz nie wiem jak to zrobić..
P-71364
Mrovqa
» 2012-12-18 09:02:24
Tworzysz sobie tę swoją klasę i masz w niej takie parametry jak 'kiedy_patrzy', 'gdzie x,y', 'jak_dlugo_patrzy'. Tworzysz sobie jakąś tablicę/listę/inny pojemnik profesorów i przy każdym ruchu sprawdzasz każdego profesora (jeżeli mapa jest duża - to w regionie).
P-71365
Menos
Temat założony przez niniejszego użytkownika
» 2012-12-18 09:07:44
a mógłbyś rzucić jakimś kodem;>
P-71367
Mrovqa
» 2012-12-18 09:16:39
Jeżeli sam tego nie potrafisz zrobić jest równoznaczne z tym, iż bierzesz się "z motyką na Słońce".
C/C++
class profesorek
{
    int x, y;
    int od_kiedy_patrzy;
    int jak_dlugo_patrzy;
    bool czy_przylapany( int _x, int _y, int czas ) { if( _x >= x - 1 && _x <= x + 1 && _y >= y - 1 && _y <= y + 1 && czas >= od_kiedy_patrzy && czas <= od_kiedy_patrzy + jak_dlugo_patrzy ) return true; return false; }
    // konstruktory i inne pierdoly
};
// ...
vector < profesorek > prof;
// ladujesz do wektora profesorkow

if( wykonany_ruch )
{
    for( size_t i = 0; i < prof.size(); i++ )
         if( prof[ i ].czy_przylapany( moje_x, moje_y, aktualny_czas ) cout << "o nie! profesor mnie przylapal, gdy szedlem sobie na labe! :(";
}
Powyższy kod szczerze mówiąc powinieneś sam wymyślić i - z tego co pisałeś - rzekomo klasę już miałeś... Kod napisany prosto, mam nadzieję, iż zrozumiesz.

PS w kodzie mogą być błędy - pisany 'z palca' ;)
P-71368
Menos
Temat założony przez niniejszego użytkownika
» 2012-12-18 09:20:09
Tak szczerze to poprostu nie używałem jeszcze ani list ani wektorów i tylko o to mi chodziło;)))

Dziękuje;)
P-71369
« 1 »
  Strona 1 z 1