Musisz wydzielić dwie warstwy logiczne w swoim programie: model danych i widok.
Twoim modelem danych może być właśnie taka macierz, to ona przechowuje informacje o tym co ma zostać zaprezentowane na ekranie.
Natomiast widok bazuje na modelu danych. To np. mogą być komponenciki wyświetlające obrazki, albo po prostu wypisujące coś na ekran.
Ważne, ale te dwie warstwy były od siebie niezależne - to możesz osiągnąć stosując wspólny interfejs do komunikowacji pomiędzy tymi warstwami.
Jeśli osiągniesz te proste założenia to otrzymasz swobodę w działaniu, ponieważ będziesz mógł wymieniać te warstwy bez przebudowy całej aplikacji.
I tak, zacząć będziesz mógł od wypisywania na ekran 0 lub 1, aż dojdziesz do czegoś bardziej wyrafinowanego 🙂