Форум: "Прочее";
Текущий архив: 2008.06.22;
Скачать: [xml.tar.bz2];
ВнизМожно ли программно раскладывать пасьнс паук? Найти похожие ветки
← →
ekto © (2008-05-08 13:32) [0]Добрый день всем.
Очень надо разложить на четырех мастях.
← →
Palladin © (2008-05-08 13:34) [1]эээ... ну ты знаешь, как бы само приложение "Пасьянс Паук" предназначено для ручной раскладки, НО никто не мешает тебе создать приложение которое будет предназначено для программного поиска решений той или иной раскладки пасьянса
← →
ekto © (2008-05-08 13:37) [2]
> Palladin © (08.05.08 13:34) [1]
> эээ... ну ты знаешь, как бы само приложение "Пасьянс Паук"
> предназначено для ручной раскладки,
так и думал :(
> НО никто не мешает тебе создать приложение которое будет
> предназначено для программного поиска решений той или иной
> раскладки пасьянса
мне нужно виндовский разложить.
← →
Palladin © (2008-05-08 13:38) [3]вопрос жизни и смерти? :)
← →
ekto © (2008-05-08 13:39) [4]
> Palladin © (08.05.08 13:38) [3]
близко к тому.
← →
Palladin © (2008-05-08 13:45) [5]тогда твоя смерть близка...
← →
ekto © (2008-05-08 13:49) [6]
> Palladin © (08.05.08 13:45) [5]
Ну, прям? Что надо сделать? Найти объекты-карты. Тока и всего. Вот тока "Тока и всего" - это много или мало? И что еще надо?
← →
Игорь Шевченко © (2008-05-08 13:51) [7]Я обзавидовался. Когда у народа столько лишнего времени - это ж столько всего полезного для общества можно сделать, что оторопь берет.
← →
Palladin © (2008-05-08 13:52) [8]
> Найти объекты-карты.
а ты знаешь что такое объект?
← →
Mystic © (2008-05-08 13:53) [9]Не любой пасьянс сходится, так что это не всегда возможно. Если активно использовать Undo, то можно разложить как минимум около половины раскладов. Если не пользоваться, то около 15-20%. У меня было так.
← →
ekto © (2008-05-08 13:56) [10]
> Palladin © (08.05.08 13:52) [8]
что конкретно тя интересует? Знаю ли я, что такое объект в ООП? Да хз, вроде как нет. По крайней мере, когда везде пишут "понимать ООП", я не понимаю, чего там понимать.
← →
Palladin © (2008-05-08 13:57) [11]
> ekto © (08.05.08 13:56) [10]
меня? меня ничего не интересует, что тебя интересует? что ты имеешь в виду под своими словами "Найти объекты-карты" ? что ты вкладываешь в понятие "найти", в понятие "объект-карты" ?
← →
ekto © (2008-05-08 14:03) [12]
> Palladin © (08.05.08 13:57) [11]
"Объект-карта" - думаю, они(карты) сделаны объектами? "Найти" - получить указатель, на него, потом, нар-но, можно им манипулировать. Это я так предполагаю, не удивлюсь, что далеко от истины.
Или можно сканировать экран, эмулировать события мыши?
← →
ekto © (2008-05-08 14:04) [13]
> Mystic © (08.05.08 13:53) [9]
дык, не знаю, кажись надо быть очумелым, чтоб разложить паука на 4-х мастях
← →
Рамиль © (2008-05-08 14:07) [14]если даже в программе существует объект карта, то для внешней программы его нет (если, конечно, у пасьянса нет COM интерфеса:))
← →
Palladin © (2008-05-08 14:10) [15]
> "Объект-карта" - думаю, они(карты) сделаны объектами?
ты глупоко ошибаешься...
> "Найти" - получить указатель
на что указатель? на карту, да если карта и является объектом, то это скорей всего агрегация, а не ассоциация, соответственно никакого указателя ты не получишь, он, объект, будет в составе другого объекта, это в оптимальном случае... если повезет... кто может знать что реализованно в пасьянсе... али ты думаешь, что его писали на делфи?
← →
SergeyIT (2008-05-08 14:11) [16]Взять робота, запрограммировать, посадить за монитор и пусть раскладывает. Или взять линуксовский вариант - там есть раскладывание в автомате (но по-тупому, может когда и разложется)
← →
ekto © (2008-05-08 14:12) [17]
> Рамиль © (08.05.08 14:07) [14]
> Palladin © (08.05.08 14:10) [15]
т.е., если прога изначально не рассчитана на внешнее управление, то повлиять на ее работу извне нельзя?
← →
Palladin © (2008-05-08 14:13) [18]
> ekto © (08.05.08 14:12) [17]
:) а как ты как думал? что все так в мире мягко и пушисто?...
← →
ekto © (2008-05-08 14:13) [19]
> SergeyIT (08.05.08 14:11) [16]
я и хочу робота, тока программного.
← →
Mystic © (2008-05-08 14:14) [20]> дык, не знаю, кажись надо быть очумелым, чтоб разложить
> паука на 4-х мастях
Достигается упражнениями. Плюс многое зависит от удачи. Например, если разрешаешь себе пользоваться Undo, те раслад состоит из двух частей: вначале ты открываешь все карты, которые только можешь открыть. Потом думаешь о том, какие карты лучше открыть перед новой порцией карт. Ну и в целом приоритеты таковы: (1) максимальное улучшение текущей раскладки без необратимых ходов (2) максимальный разбор одного ряда с целью освобождения ячейки (3) Оставлять как можно больше карт, которые могут стать доступны в ближайшем будущем.
Хотя мне больше нравится freecell. Там у меня рекорд был чуть более 60 раскладов подряд.
← →
ekto © (2008-05-08 14:15) [21]
> Palladin © (08.05.08 14:13) [18]
да, розовые очки прибил себе наглухо ко лбу и избавляться не собираюсь. Да быть такого не может! Ну как эт так?
А, если
> Или можно сканировать экран, эмулировать события мыши?
← →
ekto © (2008-05-08 14:16) [22]
> Mystic © (08.05.08 14:14) [20]
Freecell да, клево, но 60 раз подряд.... еще сапер - 86 сек. Кто меньше?
← →
Рамиль © (2008-05-08 14:20) [23]
> Или можно сканировать экран, эмулировать события мыши?
Можно, только еще карты распознавать придется.
← →
EgorovAlex © (2008-05-08 14:20) [24]Ну так сканируй, распознавай, отправляй в это окно событие клика и перемещения мыши и снова сканируй...
← →
Mystic © (2008-05-08 14:21) [25]> ekto © (08.05.08 14:15) [21]
Ну можно. Находишь окно, получаешь его координаты. Потом копируешь текущий desktop, вырезаешь из него окно. Распознаешь карты. Посылаешь в окно всякие сообщение типа WM_LBUTTONDOWN. Основная проблема распознать карты и написать AI. А в чем ты видишь проблему?
← →
ekto © (2008-05-08 14:22) [26]
> EgorovAlex © (08.05.08 14:20) [24]
> Рамиль © (08.05.08 14:20) [23]
так, нарно, долго получится? В смысле "играть" до победного.
← →
Mystic © (2008-05-08 14:23) [27]> еще сапер - 86 сек. Кто меньше?
Нет, больше. Рекорд был девяносто с чем-то... Сейчас и этого повторить не могу, вместо угадывания рассчитываю что где лежит. А время то идет...
← →
ekto © (2008-05-08 14:24) [28]
> Mystic © (08.05.08 14:21) [25]
> Основная проблема распознать карты и написать AI.
в этом и вижу теперь, хотя это, вроде, не очень сложно.
← →
EgorovAlex © (2008-05-08 14:25) [29]А какие ещё варианты? Только играть, пробовать, откатываться назад, возможно заново начинать раскладку, только так...
← →
ekto © (2008-05-08 14:27) [30]
> Mystic © (08.05.08 14:23) [27]
при долгой практике, рассчитанные варианты запоминаются и потом открываешь на автомате.
← →
ekto © (2008-05-08 14:28) [31]
> EgorovAlex © (08.05.08 14:25) [29]
не спортивно
← →
Mystic © (2008-05-08 14:30) [32]Ну и начинай с того, что тебе интересно. Лично мне бы было обидно написать распознавание карт, посылку сообщений, но споткнуться на AI. Поэтому я бы начал имеено с AI. Тем более там не надо по всяким help-ам копаться. Как только AI будет в состоянии разгадывать хоть что-то, надо будет перейти к распознаванию карт (или написать свою версию паука). Ну а дальше прочитать MSDN и написать робота.
← →
Игорь Шевченко © (2008-05-08 14:30) [33]Mystic © (08.05.08 14:14) [20]
> Хотя мне больше нравится freecell. Там у меня рекорд был
> чуть более 60 раскладов подряд.
Разложи расклады -1 и -2 :) (по F3)
← →
Mystic © (2008-05-08 14:34) [34]> при долгой практике, рассчитанные варианты запоминаются
> и потом открываешь на автомате.
Да, есть и такие, которые на автомате. Но есть и те, что надо считать. А иногда после расчета ты приходишь к выводу, что тут угадайка. В любом случае, при раскладе на время если ты не видишь, что открывать, надо гадать. А сейчас я останавливаюсь и думаю...
← →
ekto © (2008-05-08 14:45) [35]
> Игорь Шевченко © (08.05.08 14:30) [33]
где-то читал, что не доказано, что есть такие расклады, которые невозможно разложить(сорри за тавталогию).
← →
Anatoly Podgoretsky © (2008-05-08 15:45) [36]> ekto (08.05.2008 13:37:02) [2]
А смысл?
← →
den303 © (2008-05-08 17:07) [37]В Freecell в окне по F3 написано "... номер расклада от 1 до 1000000", а в подсказке по вопросительному знаку "...от 1 до 32 000"
Глючок-с :oD
← →
SergeyIT (2008-05-08 19:59) [38]Может проще своего паука написать, чтобы выглядел также, как виндошный.
Библиотека карт есть (cards.dll), как с ней работать где-то в инете есть. А внутри можно сделать все, как хочется.
← →
guav © (2008-05-08 22:15) [39]А ведь возможно, что "объекты" найти не так сложно. cards.dll экспортирует функции.
WEP cdtAnimate cdtDraw cdtDrawExt cdtInit cdtTerm
Если она их действительно дёргает, то можно перехватывать и анализировать их.
← →
@!!ex © (2008-05-08 22:23) [40]за 100$ напишу ИИ, который будет гарантированно находить решение пасьянса, если оно есть. за конечный промежуток времени.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2008.06.22;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.043 c