| Сообщение от voraa   | 
	| Что бы уж было совсем ООП panel тоже надо бы как объект со своим классом. Какой смысл циклов в функции   checkDiagonals?
 Зачем в player нужны makeX() и   makeO()? Почему нельзя через конструктор?
 
 Ну и лучше сначала заполнить board ячейками, а потом уже засовывать board в dody.
 | 
	
 Про панель согласен вынесу в отдельный класс, циклы уберу
В классе Player можно и через конструктор, но как тогда ограничить количество возможных игроков( что было только  X И O)?
Последнее поправил, спасибо за советы!