maro512 / Loop

Projekt przeniesiony do Loop2
MIT License
0 stars 1 forks source link

Klasa EmptyCell #5

Closed maro512 closed 7 years ago

maro512 commented 7 years ago

Pusta komórka, jeżeli dostaje informacje, że ma drugiego sąsiada tego samego koloru, "zamienia" się w Tile. Dziedziczy po Cell

maro512 commented 7 years ago

Nie byłoby łarwiej zapamiętywać zamiast ilości białych/czarnych sąsadów, zrobić booleana, czy jest biały albo czarny? Jak nie ma to ustawiasz, ze jest, a jak jest to zamieniasz na Tile, bo jest jednoznacznie wyznaczony

pzjp commented 7 years ago

ale co jest białe czy czarne? Możesz mieć białe i czarne linie z różnych stron. Jak zapamiętuję je w maskach, to potem mogę łatwo stworzyć płytkę (w naturalny sposób, bez nadmiernych rozgałęzień, a tylko z kilkoma niegroźnymi bitowymi operacjami). Poza tym może dojść do sytuacji, że nic nie pasuje (raczej nie w normalnej grze, ale jak ktoś by się z nudów bawił w samo układanie płytek...). Tworzenie płytki nie może mieć miejsca w chwili gdy przypinam sąsiada, bo może się okazać, że zaraz miałem przypiąć następnego i się posypie. Chciałem uniknąć dublowania obliczeń związanych z wyznaczaniem pasującej płytki (isDetermined() i createTile()). To nie są wielkie koszty, ale...