Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.55 MB
Время: 0.052 c
15-1210355907
-Koha
2008-05-09 21:58
2008.06.22
Для просмотра HideTools + исхдники


1-1195029359
tytus
2007-11-14 11:35
2008.06.22
TSimpeObjectBroker - как переключить клиента на другой сервер?


2-1212055341
Сергей
2008-05-29 14:02
2008.06.22
WinAPI


15-1210487573
antonn (work)
2008-05-11 10:32
2008.06.22
ограничение прав на запись в рестр


2-1211976674
grav
2008-05-28 16:11
2008.06.22
Сравнение полей DOUBLE PRECISION в запросе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский