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

Problem z przekazaniem informacji z funkcji do funkcji

Ostatnio zmodyfikowano 2012-09-17 23:45
Autor Wiadomość
Nekronomik
Temat założony przez niniejszego użytkownika
Problem z przekazaniem informacji z funkcji do funkcji
» 2012-09-17 22:45:11
Witam,mam problem z przekazaniem informacji z funkcji do funkcji możliwe bardzo że coś pomieszałem albo w ogóle bzdurę napisałem i nie mogę do tego dojść.O to kod i problem:

C/C++
int zaznacz_kafel( bool sprawdz )
{
    myszka();
    if( mx >= 0 && mx <= 48 && my >= 0 && my <= 23 )
    {
        sprawdz = true;
        //break;
    }
    else
    {
        sprawdz = false;
    }
    return sprawdz;
}
void mapa()
{
    myszka();
    bool prawda;
    int xx, yy;
    for( int y = 0; y < 44; y++ )
    {
        for( int x = 0; x < 44; x++ )
        {
            xx =( x - y ) *( szerokosc_kafla / 2 ) + a1;
            yy =( x + y ) *( wysokosc_kafla / 2 + 1 ) + b1;
            if( typ[ y ][ x ].kod == typ[ y ][ x ].kod_trawa )
            {
                masked_blit( kafel_trawa, bufor, 0, 0, xx, yy, kafel_trawa->w, kafel_trawa->h );
            }
            if( typ[ y ][ x ].kod == typ[ y ][ x ].kod_ziemia )
            {
                masked_blit( kafel_ziemia, bufor, 0, 0, xx, yy, kafel_ziemia->w, kafel_ziemia->h );
            }
            if( typ[ y ][ x ].kod == typ[ y ][ x ].kod_kamien )
            {
                masked_blit( kafel_kamien, bufor, 0, 0, xx, yy, kafel_kamien->w, kafel_kamien->h );
            }
            zaznacz_kafel( prawda );
            if( prawda == 1 )
            {
                masked_blit( kafel_zaznaczenie, bufor, 0, 0, xx, yy, kafel_zaznaczenie->w, kafel_zaznaczenie->h );
            }
        }
    }
}
Jak widać zmienna bool prawda nie odczytuje tego co jest w funkcji int zaznacz_kafel(bool sprawdz).
A jak kod z funkcji przenoszę do void mapa() to wszystko działa.
P-65123
DejaVu
» 2012-09-17 23:02:06
Funkcja zaznacz_kafel w ogóle się kupy nie trzyma. Przemyśl ją.

/edit:
Z kodu wynika bowiem, że nie rozumiesz jak działają poszczególne elementy funkcji, czyli: » Kurs C++ » Poziom 2Funkcje - pierwsze starcie lekcja.
P-65125
Nekronomik
Temat założony przez niniejszego użytkownika
» 2012-09-17 23:45:28
Nie wiem jak moglem to przeoczyć w tym kursie.Po prostu zaraz zapadnę się pod ziemie...

Poprawiłem kod zaznacz_kafel( prawda );   na    prawda=zaznacz_kafel(); i poprawiłem funkcje int zaznacz_kafel na:
C/C++
int zaznacz_kafel()
{
    myszka();
    int sprawdz;
    if( mx >= 0 && mx <= 48 && my >= 0 && my <= 23 )
    {
        sprawdz = true;
        //break;
    }
    else
    {
        sprawdz = false;
    }
    return sprawdz;
}
I teraz wszystko działa.
P-65129
« 1 »
  Strona 1 z 1