Wybór przechowuje wartość od 49 do 57, tab[][] - przechowuje wartości 2,1 i 0, MAXSTAN - const, który równa się 3.
Ogólnie, funkcja ma sprawdzać, czy użytkownik może zapisać do tablicy o danych wartościach. Naciska 1, chce zapisać do tab[0][0]. Może zapisać jeśli w tym tab jest liczba 0. Wtedy ma przerwać pętlę while, która jest poza funkcją.
Już widzę, że mogę odchudzić funkcję tworząc warunek odwrotny, tzn: if(tab[0][0]==0) return 0; else return 1;
A pytanie do was, czy mogę to zapisać w inny sposób? W mniejszej ilości linijek?
bool czymozesz(short int wybor, short int tab[MAXSTAN][MAXSTAN])
{
switch(wybor)
{
case 49: if ((tab[0][0]==1)||(tab[0][0]==2)) return 1; else return 0; break;
case 50: if ((tab[0][1]==1)||(tab[0][1]==2)) return 1; else return 0; break;
case 51: if ((tab[0][2]==1)||(tab[0][2]==2)) return 1; else return 0; break;
case 52: if ((tab[1][0]==1)||(tab[1][0]==2)) return 1; else return 0; break;
case 53: if ((tab[1][1]==1)||(tab[1][1]==2)) return 1; else return 0; break;
case 54: if ((tab[1][2]==1)||(tab[1][2]==2)) return 1; else return 0; break;
case 55: if ((tab[2][0]==1)||(tab[2][0]==2)) return 1; else return 0; break;
case 56: if ((tab[2][1]==1)||(tab[2][1]==2)) return 1; else return 0; break;
case 57: if ((tab[2][2]==1)||(tab[2][2]==2)) return 1; else return 0; break;
}
}