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

Kompilacja w Code::Blocks

Ostatnio zmodyfikowano 2013-07-20 15:44
Autor Wiadomość
Bimbol
» 2013-07-20 14:53:29
Możesz spróbować z tym kodem: http://cpp0x.pl/forum/temat/?id=11705
P-88417
damian19dk
Temat założony przez niniejszego użytkownika
» 2013-07-20 14:59:51
Spróbowałem skompilować kod, który podał Bimbol z Debug\Release i wszystko działa, ale mój kod widocznie musi być niepoprawny, gdyż nawet z Debug\Release pojawiają się błędy. Mea maxima culpa...
P-88419
pekfos
» 2013-07-20 15:00:49
ale mój kod widocznie musi być niepoprawny
Nie dołączyłeś <cstdlib> w GAME.cpp, uLiczbaZgodnychPol to stała, switch ma niepoprawną strukturę, itd..
P-88420
damian19dk
Temat założony przez niniejszego użytkownika
» 2013-07-20 15:01:52
OK, dokonam paru poprawek i odezwę się, jak wyjdzie.

//EDIT

C/C++
bool Ruch( unsigned uNumerPola )
{
    if( g_StanGry != GS_MOVE ) return false;
   
    if( !( uNumerPola >= 1 && uNumerPola <= 9 ) ) return false;
   
    unsigned uY =( uNumerPola - 1 ) / 3;
    unsigned uX =( uNumerPola - 1 ) % 3;
    if( g_Plansza[ uY ][ uX ] == FLD_EMPTY )
    {
        g_Plansza[ uY ][ uX ] = static_cast < FIELD >( g_AktualnyGracz );
    }
    else
         return false;
   
    int LINIE[][ 3 ][ 2 ] = { { { 0, 0 }, { 0, 1 }, { 0, 2 } },
        { { 1, 0 }, { 1, 1 }, { 1, 2 } },
        { { 2, 0 }, { 2, 1 }, { 2, 2 } },
        { { 0, 0 }, { 1, 0 }, { 2, 0 } },
        { { 0, 1 }, { 1, 1 }, { 2, 1 } },
        { { 0, 2 }, { 1, 2 }, { 2, 2 } },
        { { 0, 0 }, { 1, 1 }, { 2, 2 } },
        { { 2, 0 }, { 1, 1 }, { 0, 2 } } };
   
   
    FIELD Pole, ZgodnePole;
    int uLiczbaZgodnychPol;
    for( int i = 0; i < 8; ++i )
    {
        Pole = ZgodnePole = FLD_EMPTY;
        uLiczbaZgodnychPol = 0;
        for( int j = 0; j < 3; ++j )
        {
            Pole = g_Plansza[ LINIE[ i ][ j ][ 0 ][ LINIE[ i ][ j ][ 1 ] ] ];
            if( Pole != ZgodnePole )
            {
                ZgodnePole = Pole;
                uLiczbaZgodnychPol = 1;
            }
            else
                 ++uLiczbaZgodnychPol;
           
        }
        if( uLiczbaZgodnychPol == 3 && ZgodnePole != FLD_EMPTY )
        {
            g_StanGry = GS_WON;
            return true;
        }
    }
    int uLiczbaZapelnionychPol = 0;
    for( int i = 0; i < 3; ++i )
    for( int j = 0; j < 3; ++j )
    if( g_Plansza[ i ][ j ] != FLD_EMPTY )
         ++uLiczbaZapelnionychPol;
   
    if( uLiczbaZapelnionychPol == 3 * 3 )
    {
        g_StanGry = GS_DRAW;
        return true;
    }
    g_AktualnyGracz == SGN_CIRCLE ? SGN_CROSS: SGN_CIRCLE;
    return true;
}

Pozostał mi jeszcze jeden problem związany z tym fragmentem funkcji.
Dlatego wrzucam całą funkcję.
C/C++
Pole = g_Plansza[ LINIE[ i ][ j ][ 0 ][ LINIE[ i ][ j ][ 1 ] ] ];
D:\Projekty\C++\Gra\GAME.cpp:58:59: error: invalid types 'int[int]' for array subscript
P-88421
pekfos
» 2013-07-20 15:21:22
LINIE ma 3 wymiary, a nie 4, a g_Plansza ma 2 wymiary, a nie 1. Nawiasy się nie zgadzają.
P-88424
damian19dk
Temat założony przez niniejszego użytkownika
» 2013-07-20 15:30:25
C/C++
Pole = g_Plansza[[ LINIE[ i ][ j ][ 0 ] ][ LINIE[ i ][ j ][ 1 ] ] ];

C/C++
int LINIE[][ 3 ][ 2 ] = { { { 0, 0 }, { 0, 1 }, { 0, 2 } },
    { { 1, 0 }, { 1, 1 }, { 1, 2 } },
    { { 2, 0 }, { 2, 1 }, { 2, 2 } },
    { { 0, 0 }, { 1, 0 }, { 2, 0 } },
    { { 0, 1 }, { 1, 1 }, { 2, 1 } },
    { { 0, 2 }, { 1, 2 }, { 2, 2 } },
    { { 0, 0 }, { 1, 1 }, { 2, 2 } },
    { { 2, 0 }, { 1, 1 }, { 0, 2 } } };
Nie wiem gdzie ująłem, że LINIE ma 4 wymiary...
P-88427
pekfos
» 2013-07-20 15:37:09
Nie wiem gdzie ująłem, że LINIE ma 4 wymiary...
Tu odwołałeś się do LINIE, jakby miała 4 wymiary
C/C++
Pole = g_Plansza[ LINIE[ i ][ j ][ 0 ][ /*LINIE[ i ][ j ][ 1 ]*/ ] ];

C/C++
Pole = g_Plansza[[ LINIE[ i ][ j ][ 0 ] ][ LINIE[ i ][ j ][ 1 ] ] ];
Dalej źle, powinno być tak:
C/C++
Pole = g_Plansza[ LINIE[ i ][ j ][ 0 ] ][ LINIE[ i ][ j ][ 1 ] ];
P-88429
damian19dk
Temat założony przez niniejszego użytkownika
» 2013-07-20 15:44:12
Naprawdę WIELKIE dzięki za pomoc, sam bym sobie na pewno nie poradził , wszystko działa(byc może jeszcze nie tak jak należy), ważne, że udało się w końcu skompilować.Sorry, że tak dużo pisze...
Jeszcze raz stokrotne dzięki!
P-88430
1 « 2 »
Poprzednia strona Strona 2 z 2