Есть ли другие варианты?
Намного проще было бы выделить игровую область, скажем, 750x750 (по 50px на ячейку), и уже при нажатии пользователем в любом месте этой игровой области получать координаты щелчка и определять, какая ячейка была затронута. А дальше уже по вашему консольному алгоритму:
- провели действия с массивом
- запустили метод отрисовки игрового поля
- ждем следующего хода
Это намного оптимальнее 200+ кнопок