Minoru@pink_snow: 1) было бы неплохо добавить синонимов типов, а то фиг поймёшь, где Int обозначает scale, а где — координату; 2) было бы неплохо где-нибудь в комменте написать, в какую сторону направлены оси Ox и Oy, а то визуализировать тяжело; 3) я так и не понял, что именно ищет decodeNumber.topLeft. Вроде как в верхнем левом углу только одна пустая ячейка, а оно ищет 2×2? То есть предполанается, что числа всегда окружены чёрной рамочкой?