Я бы пошел за UserControl.Сделав это, вы можете легко внедрить подсвечивание ошибок и тому подобное (вы знаете, когда «игрок» вводит две цифры 7 в одну таблицу).
Недавно я сделал реализацию решателя судоку без графического интерфейса ивсе сводилось к структуре данных, представляющей всю доску.Сделав это первым и подключив UserControl к этому, вы сможете создать приятный интерфейс, основанный на реальных правилах игры.
Я бы порекомендовал сделать игровую логику (и, следовательно, UserControl (s)) очень общий способ, позволяющий легко создавать игры типа «судоку», например, настольный стиль 2x3 (3x2) (например, на «старых» телефонах Nokia).