Възможно ли е програмно разграждане на pasins spider

Добър ден на всички. Много е необходимо да се разложи на четири костюма.

ъъъ добре, знаете как самото приложение "Spider Solitaire" е предназначено за ръчно оформление, НО никой не ви притеснява да създадете приложение, което ще бъде проектирано да търси програмно решения за конкретно оформление на пасианс

> НО никой не ви спира да създадете приложение, което ще бъде > е предназначен за програмно търсене на решения на един или друг > оформления на пасиансТрябва да разложа Windows.

въпрос на живот и смърт? :)

значи смъртта ти е близо.

Завидях. Когато хората имат толкова много допълнително време, има толкова много неща, които могат да се направят, които са полезни за обществото, че това ги изумява.

> Намерете обекти на картата.Знаете ли какво е обект?

Не всички пасианси се събират, така че това не винаги е възможно. Ако използвате активно Undo, тогава можете да разложите поне около половината от оформленията. Ако не използвате, тогава около 15-20%. Имах го.

Или е възможно да сканирате екрана, да емулирате събития с мишката?

дори ако обектът карта съществува в програмата, тогава той не съществува за външната програма (освен ако, разбира се, пасиансът има COM интерфейс :))

> "Object-map" - Мисля, че те (картите) са направени от обекти?глупаво грешите.

> "Намери" - вземете указателкъм какво е указателят? върху картата и ако картата е обект, тогава това най-вероятно е агрегиране, а не асоциация, така че няма да получите никакъв указател, той, обектът, ще бъде част от друг обект, това е в оптималния случай. ако имаш късмет. кой може да знае какво е внедрено в пасианса. Мислите ли, че е написано на Delphi?

Вземете робот, програмирайте го, поставете го зад монитор и го оставете да се разгъне.Или да вземем Linux версията - има разгъване в машината (но по глупав начин, може би когато се разложи)

> SergeyIT (08.05.08 14:11) [16]Искам робот, актуален софтуер.

> така че, не знам, изглежда трябва да си луд, за да разложиш > паяк в 4 костюма

Постига се чрез упражнения. Освен това много зависи от късмета. Например, ако си позволите да използвате Undo, разстройството се състои от две части: първо отваряте всички карти, които можете да отворите. След това мислите кои карти е по-добре да отворите преди нова порция карти. Е, като цяло приоритетите са: (1) максимално подобряване на текущото оформление без необратими ходове (2) максимален анализ на един ред, за да се освободи клетката (3) Запазете възможно най-много карти, които може да станат налични в близко бъдеще.

Въпреки че харесвам freecell повече. Там имах рекорд от малко над 60 оформления подред.

> Или е възможно да сканирате екрана, да емулирате събития с мишката?Можете, но пак трябва да разпознавате картите.

Е, сканирайте, разпознайте, изпратете щракване с мишката и преместете събитието в този прозорец и сканирайте отново.

Е, можете. Намираш прозорец, получаваш координатите му. След това копирате текущия работен плот, изрязвате прозореца от него. Разпознаване на карти. Изпращате всяко съобщение от тип WM_LBUTTONDOWN до прозорец. Основният проблем е разпознаването на карти и писането на AI. Какво виждате като проблем?

> друг сапьор - 86 сек. Кой е по-малък?

Няма повече. Рекордът беше деветдесет и нещо. Сега и това не мога да повторя, вместо да гадая, разчитам какво къде лежи. И времето минава.

И какви са другите варианти? Просто играйте, опитайте, върнете назад, възможно е да стартирате оформлението отново, това е единственият начин.

Хайде започвайот това, което те интересува. Лично за мен би било жалко да напиша разпознаване на карти, изпращане на съобщения, но да се натъкна на AI. Затова бих започнал с AI. Освен това няма нужда да се рови за помощ. Веднага щом AI успее да реши поне нещо, ще трябва да преминете към разпознаване на карти (или да напишете своя собствена версия на паяка). Е, тогава прочетете MSDN и напишете робот.

> Въпреки че харесвам freecell повече. Там рекордът ми беше > малко повече от 60 оформления подред.

Разширете оформленията -1 и -2 :) (с F3)

> с дълга практика изчислените опции се запомнят > и след това го отваряте автоматично.

Да, има такива, които са на машината. Но има някои, които трябва да се вземат предвид. И понякога след изчислението стигате до извода, че има игра на отгатване. Във всеки случай, ако не видите какво да отворите, трябва да познаете. И сега спирам и се замислям.

Във Freecell в прозореца F3 пише ". номер на ръката от 1 до 1000000", а в подсказката на въпросителния знак ". от 1 до 32 000" Glitch-s :oD

Може би е по-лесно да напишете свой собствен паяк, така че да изглежда по същия начин като Windows Има библиотека от карти (cards.dll), как да работите с нея е някъде в Интернет. И вътре можете да правите каквото искате.

Но е възможно "обектите" да не са толкова трудни за намиране. cards.dll експортира функции. WEP cdtAnimate cdtDraw cdtDrawExt cdtInit cdtTerm Ако тя наистина ги издърпа, можете да ги прихванете и анализирате.

за $100 ще напиша AI, който гарантирано ще намери решение за пасианс, ако има такова. за краен период от време.