Skip to content

Latest commit

 

History

History
20 lines (17 loc) · 3.1 KB

README.md

File metadata and controls

20 lines (17 loc) · 3.1 KB

Замечания по деталям реализации

ссылка на тестовое https://drive.google.com/drive/folders/1SZmOKUKYmJhtUwOeauwsPttPcuXdNDqS

  • предполагается, что положение строки с картами находится на фиксированном расстоянии от верхней границы игрового поля (иначе пришлось бы отдельно решать задачу поиска этой строки, а это, кажется, не нужно)
  • размер карты и расстояние между картами предполагается фиксированными
  • всего в строке не должно быть более 5 карт
  • в решении сознательно не используются конкретные значения цветов карт и фона, вместо этого используются эвристики на основании формы
  • очевидно, наибольшей проблемой являлся нечеткий поиск данного символа среди известных нам шаблонов: мне удалось добиться точности в 100% на наборе обозначенном как thin, и 99.2% обозначенном как acc_992_thrsh075
  • в целом решение получилось достаточно простое, поэтому документации к методам не приведено сознательно, дабы не раздувать и без того немаленький код
  • вместе с тем у меня получилось - как мне кажется - уложиться в 200 строк
  • некоторые методы класса Utils не используются, однако в задании было указано передать весь код, поэтому методы для генерации шаблонов я оставил
  • точкой в хода в приложение является класс Solution
  • jar был собран средствами Idea, я счел лишним писать ant- gradle- maven- скрипты для проекта без зависимостей
  • в продолжение нашего прошлого разговора про final поля в конструкторе, прикрепляю ссылку на Шипилева, который ссылается на JLS: https://shipilev.net/blog/2014/safe-public-construction/#_safe_initialization
  • на имеющемся у меня железе однако не получилось воспроизвести пример упоминаемого поведения, возможно нужно JMH или другие процессоры/JDK, но к сожалению просто не хватает времени..
  • на всякий случай прошу прощения за конкатенацию строк через "+"
  • JAVA_HOME предполагается настроенным и java находится в PATH