Настольная игра «Пасьянс тысячелистник».
© copyleft http://www.script-coding.info/.
Автор программы.
Вначале рассмотрим вариант игры в 36 карт. Сдаются 36 карт, кучками по три карты. Цель игры — собрать по мастям все карты на четырёх посадочных местах внизу (на каждом посадочном месте — своя масть, карты перетаскиваются мышкой). Снимать и класть на посадочное место можно только верхнюю карту из любой кучки. Когда верхняя карта какой-либо кучки убрана, можно снимать вторую, потом последнюю. Перед началом игры нужно выбрать стратегию: с каких карт начинать собирать масти — с тузов, королей, шестёрок и т.п. Как только первая карта снята на какое-либо из посадочных мест, стратегия определена. Карты на посадочные места можно снимать только подряд, т.е. на короля можно класть туза такой же масти, на него — шестёрку, на неё — семёрку и т.д. Можно и наоборот: на короля класть даму, на неё — валета, на него — десятку и т.д. Эта часть стратегии оказывается определённой, когда вы первый раз снимаете вторую карту на одно из посадочных мест.
Карты можно перекладывать между кучками (карты перетаскиваются мышкой). Правила перекладывания:
Игра заканчивается, когда все карты оказываются собранными по мастям на четырёх посадочных местах. Программа подсчитывает количество ходов: чем ходов меньше, тем лучше.
Вариант игры в 48 карт отличается в основном тем, что после короля идёт двойка, а тузов нет.
Пасьянс получается не всегда! Есть расклады, которые разложить невозможно. Кроме того, игру легко завести в тупик неверными перекладываниями. И главное, нужно правильно выбрать стратегию в начале игры. Пасьянс развивает внимательность и логическое мышление; когда разберётесь, что к чему — обязательно войдёте во вкус.
Пункты меню в основном вполне интуитивны, поэтому далее — лишь несколько замечаний.
Пункт меню «Игра» - «Перемешать карты» позволяет сделать пересдачу карт, не трогая уже разложенные карты на посадочных местах. Этот приём позволит вам в любой момент выйти из тупика и разложить пасьянс в любом случае, даже при самом неудачном раскладе. Программа подсчитывает количество перемешиваний: чем их было меньше, тем лучше. Очень часто пасьянс можно разложить вообще без перемешиваний, если в начале выбрать правильную стратегию.
Пункт меню «Игра» - «Отменить последний ход» позволяет отменить последний ход, если он был ошибочным. Каждая отмена фиксируется программой как самостоятельный ход, а чем ходов меньше, тем лучше. После каждого перемешивания (пересдачи) старые ходы забываются, и их отменить уже нельзя.
Двойной щелчок по карте приводит к попытке автоматически перетащить карту на первое подходящее посадочное место. Если такого не нашлось, ничего не происходит.
Нажатие и удержание правой кнопки мыши на карте подсвечивает все карты того же достоинства. Это не считается ходом и удобно для поиска карт, особенно при определении стратегии.
Вы можете добавить в папку /pics/packs любое количество папок со своими колодами, и они станут доступны в меню «Выбор колоды». Карты в формате GIF должны иметь предопределённые названия и могут быть теоретически любого размера, но с соблюдением пропорции ширины и высоты. Колоду «Standard» нельзя удалять или переименовывать.
Вы можете добавить в папку /langs любое количество своих языковых файлов с названиями milfoil_??_??.qm, созданных на основе (по образу и подобию) файла milfoil_ru_RU.ts, и они станут доступны в меню «Выбор языка».
При выходе программа запоминает выбор языка, выбор колоды, размеры и положение окна.
Чтобы обнулить таблицу рекордов, удалите файл /data/scores.dat.
Программа тестировалась под Windows XP и OpenSUSE 11 в среде Gnome на версии Python 2.5. Программа представляет из себя скрипт Python, использующий модуль PyQt4. Таким образом, для работы скрипта необходим интерпретатор Python версии 2.5 и установленный модуль PyQt4 (версия самой библиотеки Qt необходима не ниже 4.4.0). Разрешение экрана желательно не менее 1024 х 768.
Приятной игры!