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

[Szukam gotowca][Allegro,C++] Kolizja

Ostatnio zmodyfikowano 2010-04-11 11:02
Autor Wiadomość
lenrokskate
Temat założony przez niniejszego użytkownika
[Szukam gotowca][Allegro,C++] Kolizja
» 2010-04-10 14:41:28
Projekt: http://wrzut.net/s1fsixr6cut2/gra_allegro.rar.html

Chcę żeby samochód nie mógł wjeżdżać na czarne obszary ale moja funkcja nie działa...

To jest z lekcji easykodera, ale ja to chce ulepszyć

niech mi to ktoś napisze ...
P-15988
dmx81
» 2010-04-11 03:02:12
pewnie gotowca nie dostaniesz... napisales ze chcesz ulepszyc... wiec do dziela :)

ja wrzucam jedynie "nieco stuningowany" twoj kod, kolizja jak najbardziej dziala, ale nie ma lekko - samochod po napotkaniu kolizji nie pojedzie juz wcale, chcesz cos osiagnac, poglowkuj cos z tym, aby odblokowac jazde po kolizji, pod warunkiem, ze ruch nie spowoduje kolizji, proponuje np funkcje sprawdzajaca, czy aktualna pozycja + przemieszczenie = kolizja, ewentualnie zapisujaca ostatnia pozycje przed kolizja i w razie czego ustawiajaca ja tam i kasujaca predkosc,powodzenia
C/C++
bool ruchok = NULL;
bool kol( int x, int y )
{ int k = 0;
    for( int i = x; i < 30 + x; i++ )
    {
        for( int j = y; j < 30 + y; j++ )
        {
            if( getpixel( bufor, i, j ) == makecol( 0, 0, 0 ) )
            {
                k++;
                textprintf_ex( bufor, font, 10, 70, makecol( 0, 0, 0 ), - 1, "KOLIZJA" );
            }
        }
    }
    if( k > 0 )
   
   
         return true;
   
    else
   
         return false;
   
}


if( ruchok )
{
    ruch.x += v * tab_cos[ z ];
    ruch.y += v * tab_sin[ z ];
}

if( kol( poz.x, poz.y, mapa ) == true ) ruchok = false; else ruchok = true;

P-16001
lenrokskate
Temat założony przez niniejszego użytkownika
» 2010-04-11 11:02:04
nie zmieniajcie mi nazwy tematu!

już sobie sam poradziłem
P-16002
« 1 »
  Strona 1 z 1