Tworzę grę podobną do Tetris, z dwiema głównymi różnicami: ekran już zaczyna się wypełniać kafelkami (jak w Puzzle Quest na Nintendo DS i PC), a każda płytka ma literę. Celem gracza jest eliminacja płytek, tworząc z nimi prawidłowe słowa. Słowa są tworzone przez umieszczanie liter obok siebie, w dowolnym kierunku, z wyjątkiem ukośnych.
Gracz może przesunąć cały rząd płytek w lewo lub w prawo lub całą kolumnę płytek w górę lub w dół, na tyle pól, ile chce (jeśli ruch rzędu / kolumny przekracza granice planszy, litera przekraczająca limit będzie „cyklować”, pojawiając się na drugim końcu wiersza / kolumny). Po akcji gracza gra powinna sprawdzić całą planszę w celu znalezienia prawidłowych słów i usunąć litery tworzące te słowa z planszy. Litery powyżej tych, które zostały usunięte, spadną w miejsce tych, które zostały usunięte, a nowe litery spadną z góry ekranu, aż tablica zostanie ponownie wypełniona.
Napisałem już algorytm liniowy, który na podstawie sekwencji znaków określa, czy jest to poprawne angielskie słowo. Mam problem: jak mogę sprawdzić poprawność słów na tablicy? Czy brutalna siła jest jedynym sposobem? Testowanie wszystkich możliwych kombinacji z planszy, aby sprawdzić, czy są poprawne, jest bardzo powolne, nawet dla małej (5x5) planszy. Każda pomoc będzie bardzo mile widziana, dzięki!