Autor Wątek: Labirynt-Prosta gra w Allegro[problem]  (Przeczytany 1112 razy)

Offline Lukas99

  • Użytkownik

# Listopad 16, 2010, 20:28:27
Witam!

Będę pisał(jeszcze dziś zacznę)prostą gierkę w Allegro taki labirynt że chodzisz ludkiem po labiryncie tylko nie wiem jak zrobić by nie dało się chodzić po ścianach labiryntu(myślałem o tym by ściany miały taki sam unikalny kolor i użyć get pixel ale googluje i nie moge znaleźć składni tej funkcji :( )
I jest jeszcze jedna rzecz bo wymyśliłem że będą takie kulki do zbierania(warunek przejścia do następnego poziomu)ogólnie pomysł wydaje mi się prosty ale nie wiem jak już się tą kulkę zbierze żeby ona zniknęła bo jak kombinowałem z usunięciem bitmapy do Widows błąd wywalał...

PS.Znacie jakiś program lub stronę gdzie można znaleźć\zrobić labirynt bo w paincie kombinuje ale nie wygląda zbyt ładnie
PS2.Nie dawać komentarzy typu "OpenGL ,SDL,DirectX lepszy"(po ukończeniu tej gry przerzucam się na Open GL).

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Xirdus

  • Redaktor

# Listopad 16, 2010, 20:37:26

Offline Anonim

  • Użytkownik
    • Anonim's Page!

# Listopad 16, 2010, 21:05:35
Pytanie nadajace sie do nieistniejacego juz PoL...
podpowiem krotko - mapa kafelkowa.no i googiel, ktorego ewidentnie nie uzywasz.

Stranger

  • Gość
# Listopad 16, 2010, 23:01:14
((...) i użyć get pixel ale googluje i nie moge znaleźć składni tej funkcji :( )
Chyba sobie jaja robisz.

Offline Lukas99

  • Użytkownik

# Listopad 17, 2010, 16:08:06
Dzięki za odp ale mi chodzi bardziej o sposób na kolizje szukałem w google al to co znalazłem to muaiałbym z 2tys razy  przepisywać żeby działało na 1 mapce bo taki mam kod na kolizje(ale niby powinno działać ale niespecjalnie):
clear_to_color(bufor, makecol(0,0,0));
stretch_blit(mapa1,bufor,0,0,mapa1->w,mapa1->h,130,70,640,600);
masked_blit(ludek, bufor, 0,0, ludek_x, ludek_y,10,10);

if((getpixel(mapa1,ludek_x,ludek_y)) == makecol(0,0,0) )
{
textprintf(bufor,font,20,20,makecol(255,0,0),"test (czarne pole)");
}
if((getpixel(screen,ludek_x,ludek_y)) == makecol(0,0,0) )
{
textprintf(bufor,font,20,20,makecol(255,0,0),"test (czarne pole)");
}
else
{
   textprintf(bufor,font,20,49,makecol(255,0,0),"test (inny kolor)");

blit(bufor, screen, 0,0,0,0, 640,480);
« Ostatnia zmiana: Listopad 17, 2010, 16:12:13 wysłana przez Lukas99 »