int p1[20][20] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }; w osobnym pliku do main dołączam go i mam taką funkcję: int drawp(int m[20][20]) { for( int x = 0; x 20; x++ ) { for( int y = 0; y 20; y++ ) { if(m[x][y]==1) blit(droga,bufor,0,0,y*szerokosc_kafla_poziom,x*wysokosc_kafla_poziom,szerokosc_kafla_poziom,wysokosc_kafla_poziom ); else if( m[x][y] == 2 ) blit( droga, bufor, 0, 0, y * szerokosc_kafla_poziom, x * wysokosc_kafla_poziom, szerokosc_kafla_poziom, wysokosc_kafla_poziom ); else if(m[x][y]==3) blit(dol,bufor,0,0,y*szerokosc_kafla_poziom,x*wysokosc_kafla_poziom,szerokosc_kafla_poziom,wysokosc_kafla_poziom ); else if(m[x][y]==9 q==1) { blit(start,bufor,0,0,y*szerokosc_kafla_poziom,x*wysokosc_kafla_poziom,szerokosc_kafla_poziom,wysokosc_kafla_poziom ); myszka1x=y*40; myszka1y=x*30; } } } return 0; } i działa, wyświetla poprawnie(wiem mam zamienione x i y w blit) czy to nie przeszkadza że zamieniłem?? chce żeby wyświetlało tablice tak jak ja widzę a nie od boku. W mai() mam:(wklejam tylko to z czym mam problem reszte pomijam bo jest tu dużo lini zwiazanych z oknem i grafiką) drawp(p1); int mysza1x=myszka1x/40, mysza1y=myszka1y/30; textprintf_ex(bufor,font,10,70,makecol(0,0,0),-1,“mysza1x=%d , mysza1y=%d !!”, mysza1x, mysza1y); if(p[mysza1x][mysza1y+1]==0)myszka1y+=0.5; else if(kierunek==1)myszka1x+=0.5; else if(kierunek==3)myszka1x-=0.5; if(p[mysza1x+1][mysza1y]!=0 p[mysza1x+1][mysza1y-1]!=0)kierunek=3; else if(p[mysza1x-1][mysza1y]!=0 p[mysza1x-1][mysza1y-1]!=0)kierunek=1; blit( mysz1, bufor, 0, 0, myszka1x, myszka1y, 40, 30 ); i niestety to już nie działa tzn p[mysza1x][mysza1y+1]==0 to nie jest to co powinno. Z tablicy wynika że to powinno się zatrzymać w 18 lini tablicy ale robi to w złym miejscu. Tablice liczy sie od 0?? Jeśli tak to od 0 do 20 jest 21 miejsc czyli 1 za dużo albo ja źle rozumiem. Jeśli ktoś bedzie umiał pomóc to niech pisze co może być źle wcześniej mialem ten sam kod tylko na 80x75 kafelki i działało teraz zmieniłem na 40x30 i już nie działa. Jeśli będzie potrzebne więcej kodu to prosze pisac. typy zmiennych: int mx=0,my=0,mb=0,I=0,resx=800,resy=600, szerokosc_kafla=80,wysokosc_kafla=75, szerokosc_kafla_poziom=40,wysokosc_kafla_poziom=30, menux=resx/3,menuy=resy/2,p=0,go=0, kierunek=1,q=1; float myszka1x,myszka1y;