Witam, mam problem otóż moje próby zczytania wartości z tablicy dwu wymiarowej kończą się fiaskiem. oto mój kod(tablica i zczytanie)

short int map[10][20] =
{
      15,15,15,15,15, 7,10,10,10,10,10,10, 6,15,15,15,15,15,15,15,
      15,15,15,15,15, 4, 9,10,10,10, 8, 3, 5,15, 0, 2, 2, 2, 1,15,
       2, 1,15,15,15,15, 7,10,10,10, 6,15,15,15, 7,10,10,10, 6,15,
      10, 6,15,15,15,15, 4, 9,10,10, 6,15,15,15, 4, 3, 3, 3, 5,15,
      10,12, 2, 1,15,15,15, 7,10, 8, 5,15,15,15,15,15,15,15,15,15,
      10,10,10, 6,15,15,15, 4, 3, 5,15,15,15,15,15,15,15, 0, 2, 2,
      10,10,10, 6,15,15,15,15,15,15,15,15,15,15, 0, 2, 2,13,10,10,
       3, 3, 3, 5,15,15,15,15,15,15,15,15,15,15, 7,10,10,10, 8, 3,
      15,15,15,15,15, 0, 1,15,15,15,15,15, 0, 2,13,10,10,10, 6,15,
      15,15,15,15,15, 4, 5,15,15,15,15,15, 7,10,10,10,10,10, 6,15
};
void  wys_mape()
{
      int licznik_x, licznik_y;
      for (licznik_x = 0; licznik_x < 20 ; licznik_x++)
      {
          for (licznik_y = 0; licznik_y < 10 ; licznik_y++)
          {
               blit(teren,bufor,
               (map[licznik_y + mapa_y][licznik_x + mapa_x]%4) * 40,
               (map[licznik_y + mapa_y][licznik_x + mapa_x]/4) * 40,
               licznik_x * 40,licznik_y * 40,40,40);
               if(((map[licznik_y + mapa_y][licznik_x + mapa_x]/4) * 40) ==11 || ((map[licznik_y + mapa_y][licznik_x + mapa_x]/4) * 40) ==14 || ((map[licznik_y + mapa_y][licznik_x + mapa_x]/4) * 40) == 15)
               {
                   a=1;
               }
               else
               {
                   a=0;
               }
          }
      }
};

Funkcja blit wyświetla mi kafelki ale już mój warunek nie zmienia wartości zmiennej "a". Nie wiem jak to rozwiązać. Będę bardzo wdzięczny za jakąkolwiek pomoc.(Jeżeli będziecie potrzebować więcej kodu to piszcie ;) )