Да, у меня числовые составляющие заранее предрасчитаны. А поиск потом идет по условию join-а двух таблиц, где i_row — «главное» слово, t — очередное сравниваемое.
where t.word_id <> i_row.word_id
and t.а <= i_row.а
and t.б <= i_row.б
and t.в <= i_row.в
and t.г <= i_row.г
and t.д <= i_row.д
and t.е <= i_row.е
and t.ж <= i_row.ж
and t.з <= i_row.з
and t.и <= i_row.и
and t.й <= i_row.й
and t.к <= i_row.к
and t.л <= i_row.л
and t.м <= i_row.м
and t.н <= i_row.н
and t.о <= i_row.о
and t.п <= i_row.п
and t.р <= i_row.р
and t.с <= i_row.с
and t.т <= i_row.т
and t.у <= i_row.у
and t.ф <= i_row.ф
and t.х <= i_row.х
and t.ц <= i_row.ц
and t.ч <= i_row.ч
and t.ш <= i_row.ш
and t.щ <= i_row.щ
and t.ъ <= i_row.ъ
and t.ы <= i_row.ы
and t.ь <= i_row.ь
and t.э <= i_row.э
and t.ю <= i_row.ю
and t.я <= i_row.я
unique_ak, спасибо за интересный вопрос. В связи с тем, что ответ получился развернутым и будет интересен тем, кто занимается кроссплатформенной разработкой — добавлю его в статью.
Marmalade SDK как среда для разработки кроссплатформенных приложений предоставляет разработчику C++ API. По сути это набор расширений (Extensions), каждое из которых внутри себя содержит конкретную реализацию функционала (работа с графикой, файловой системой, сетью, UI, внутриигровые покупки, работа с аудио-видео и т. д.) под каждую отдельную платформу (Android, iOS, WinPhone и множество других платформ).
Поэтому разработчику в процессе написания практически нет необходимости завязываться на особенности той или иной платформы, за исключением некоторых случаев (возможно список неполный):
— некий функционал может не поддерживаться в определенной ОС;
— разработчик сам решил реализовать логику приложения по-разному в зависимости ОС.
Но вот в случае, если разработчику потребуется функционал, который отсутствует в стандартном дистрибутиве Marmalade SDK, ему может потребоваться самому собрать свой Extension со своей реализацией под каждую платформу — а значит писать платформозависимый код.
Лично мне для реализации данного приложения хватило стандартного набора расширений, поэтому платформозависимого кода у меня нет.
Большая часть тестирования и отладки (примерно 90%) была произведена на винде на симуляторе (остальные 10% — это отладка масштабирования на устройстве — так как для этого нужны zoom-жесты двумя пальцами). Билды под Android и iOS также собираются на винде (для этого нужно поставить соответствующие инструменты, описанное в доке мармелада). Мак нужен только для заливки ipa-файла в консоль iTunesConnect через эппловский ApplicationLoader.
Да, действительно. Порой и сам над ними зависаю в дороге, перед сном или просто когда надо убить время.
По поводу составления — есть некоторый платный редактор филиппинских кроссвордов (по определенным причинам не хочу упоминать его здесь — вы без труда можете найти в его поисковике). На вход он принимает черно-белую (или двуцветную) картинку и генерит по ней отдельно задание и решение.
beta of the Marmalade SDK with support for C++11.
C++11 support — BETA
Поэтому разработчику в процессе написания практически нет необходимости завязываться на особенности той или иной платформы, за исключением некоторых случаев (возможно список неполный):
— некий функционал может не поддерживаться в определенной ОС;
— разработчик сам решил реализовать логику приложения по-разному в зависимости ОС.
Но вот в случае, если разработчику потребуется функционал, который отсутствует в стандартном дистрибутиве Marmalade SDK, ему может потребоваться самому собрать свой Extension со своей реализацией под каждую платформу — а значит писать платформозависимый код.
Лично мне для реализации данного приложения хватило стандартного набора расширений, поэтому платформозависимого кода у меня нет.
Большая часть тестирования и отладки (примерно 90%) была произведена на винде на симуляторе (остальные 10% — это отладка масштабирования на устройстве — так как для этого нужны zoom-жесты двумя пальцами). Билды под Android и iOS также собираются на винде (для этого нужно поставить соответствующие инструменты, описанное в доке мармелада). Мак нужен только для заливки ipa-файла в консоль iTunesConnect через эппловский ApplicationLoader.
По поводу составления — есть некоторый платный редактор филиппинских кроссвордов (по определенным причинам не хочу упоминать его здесь — вы без труда можете найти в его поисковике). На вход он принимает черно-белую (или двуцветную) картинку и генерит по ней отдельно задание и решение.