игрыстатьиматематические программырусский языкразноеоб авторе

Бридж-преферанс студия

en

Введение

Бридж-преферанс студия предназначена для решения бриджевых и преферансных задач на открытых картах. Программа бесплатная с открытым исходным кодом. Основные возможности:

Примечание. В версии 5.0 изменился формат файлов bts и pts. Теперь это текстовые файлы, содержащие список задач, который может быть смесью задач по бриджу и преферансу. Для бриджевых задач опционально сохраняются pbn теги. Теперь нет разницы между форматами bts и pts, список и тип задачи (бридж или преферанс) определятся по содержимому файла. В более ранних версиях файлы не были текстовыми и могли содержать только одну бриджевую задачу для bts файлов и одну задачу по преферансу для pts файла. Для совместимости загрузка задач старых форматов полностью поддерживается.

Ролик на youtube с описанием изменений в версии 5.0

Screenshots

Нажмите на картинки, чтобы увидеть их в полный размер

Решение для всех игроков и козырей

Бридж студия может быть полезной при проведении соревнований и комментаторам. Во первых она может найти оптимальный контракт для каждой пары север/юг и восток/запад. Во вторых программа может найти число взяток для каждого хода, например, найти лучший ход для атаки. Рассмотрим пример руки с реальных соревнований.

север
В 5 4 3
Д В 8 2
-
Д В 8 5 2
запад
10 9
7 6 5
10 9 7 5 4
7 6 3
восток
Т К 7 6 2
К 9
Т Д
Т К 10 4
юг
Д 8
Т 10 4 3
К В 8 6 3 2
9

Каждый игрок может быть разыгрывающим и может заказать козырем любую масть или бескозырную игру. Программа может рассчитать сколько взяток берет каждая сторона для любого типа игры и для любого разыгрывающего. Например, если юг закажет игру без козыря, тогда пара север/юг возьмет шесть взяток, если же юг закажет козырем трефу, тогда пара возьмет только пять взяток. Таким образом, можно создать таблицу с числом взяток, при оптимальной игре, для каждого разыгрывающего и типа игры.

Таблица взяток

козырь
БК
и
г
р
о
к
север69566
восток74887
юг68556
запад74777

Теперь создадим таблицы достижимых и лучших контрактов для каждого разыгрывающего и типа игры.

Таблица достижимых контрактов

козырь
БК
и
г
р
о
к
север-3---
восток1-221БК
юг-2---
запад1-111БК

Лучшие контракты

север 3
восток1 2 2 1БК
юг 2
запад1 1 1 1БК

Рассмотрим как эта опция работает для преферанса.

Преферанс

Рассмотрим одну из широко известных преферансных задач - мизер Ковалевской.

север
10 9 8 7
9 8
9 8 7
8
запад
Д В
В 7
Т К Д 10
9 7
восток
Т K
Т К Д 10
В
Д В 10

В преферансе, в отличие от бриджа, игрок, делающий первый ход, не зависит от игрока заказавшего контракт. Таким образом, когда программа ищет решение для всех игроков и козырей, то первый ход жестко фиксирован. В преферансе есть три игрока и каждый из них может заказать четыре масти или игру без козырей или мизер. То есть получается 18 задач.

Таблица взяток

козырь
БКмизер
и
г
р
о
к
север000002
восток5959610
запад314140

Теперь создадим таблицы достижимых и лучших контрактов для каждого разыгрывающего и типа игры.

Таблица достижимых контрактов

козырь
БКмизер
и
г
р
о
к
север------
восток-9-96БК-
запад-----+

Лучшие контракты

север-
восток9 9 6БК
западмизер

Язык интерфейса

Для переключения языка выберите соответствующий пункт меню Язык. На данный момент доступны русский, английский и итальянский языки. Языковые настройки хранятся в текстовых файлах с расширением lng, что позволяет легко добавлять новые языки. Для создания нового языкового файла, достаточно скопировать уже существующий языковой файл и изменить копию в текстовом редакторе. Имя нового языкового файла должно быть названием языка на английском, например, french.lng. Затем просто скопировать новый файл в папку bin/lng. При желании можно добавить картинку страны в папку bin/images. Имя файла картинки должно совпадать с именем языкового файла и иметь расширение png. Если вы создали новый файл с языком пишите мне.

Примечание Язык интерфейса по умолчанию английский

Примечание Язык интерфейса автоматически запоминается при выходе из программы

Бридж/преферанс

Для переключение с бриджа на преферанс и наоборот выберите меню дополнительно/бридж или дополнительно/преферанс

Примечание Параметр автоматически запоминается при выходе из программы.

Загрузка задач из pbn и deep finesse файлов

Pbn файлы это portable bridge notation файлы, являющиеся принятым международным стандартом записи бриджевых сдач. Если у Вас есть pbn или df файлы, то можете загружать задачи из них. Файлы можно просто перетащить в окно решателя, можно также перетаскивать сразу несколько файлов. Можно перетаскивать папки с файлами, тогда будут считаны все файлы типов pbn, df, bts, pts, при этом если папка содержит подпапки то файлы из них тоже считываются.

Установка новой задачи

Для установки новой задачи выберите меню задача/новая или нажмите Ctrl+N - после этого все карты будут в у запада. Клик по карте находящейся у запада перемещает её к северу до тех пор пока у него меньше 13 карт в бридже или 10 карт в преферансе, после этого карты будут перемещаться к востоку и так далее. Если клик делается на карте, находящейся у севера, востока или юга, то она переместится к западу. При этом карты можно перетаскивать к игрокам север, юг, восток и при необходимости в снос. Можно использовать комбинацию Сtrl+левая клавиша мыши, тогда карта переместится к игроку, к которому вы в последний раз перетащили карту. Допустим, при установке задачи, вам надо перетащить из сноса к югу карты 2 3 9 10 6. Можно перетащить все эти карты к югу, но можно сделать и проще. Перетащим сначала к югу двойку пик, а после этого надо навести мышь на тройку бубён и нажать Сtrl+левая клавиша мыши. Тройка переместится к югу. Эту же операцию можно проделать с остальными картами. Затем установите козырную масть или игру без козыря, или мизер для преферансной задачи. Затем установите игрока в преферансе. Игрок или человек, играющий мизер выделяется подчеркиванием, для изменения игрока нужно просто нажать на соответствующую надпись. После этого устанавливается игрок, делающий первый ход. Он меняется нажатием на стрелку или кликом на область где будет стрелка, когда она укажет на нужного игрока. Если первый ход уже сделан - перетащите карту во внутренний квадрат. После этого стрелка будет указывать на следующего игрока. При необходимости можно сделать второй ход и так далее. После того как первая карта будет во внутреннем квадрате ход уже нельзя переключить.

Примечание Не обязательно устанавливать вначале у каждого игрока по 13 карт в бридже или по 10 в преферансе, можно по сколько угодно.

Разбор задачи

После установки задачи необходимо нажать кнопку или правую клавишу мыши. Если кнопка неактивна, значит установлена ошибочная задача, например, игроки имеют разное число карт. После этого программа выдаст лучший ход, число взяток для пар север/юг и запад/восток при оптимальной игре. Теперь можно опять нажать на кнопку или правую клавишу мыши, а также можно сделать ход самостоятельно. Ходы, которые делают компьютер и игрок, можно чередовать в любой последовательности. Можно отматывать ходы назад, для этого необходимо нажать на карту на столе, при этом произойдет отмена хода. Если нужно отменить все ходы начиная с карты захода, нажмите на карту захода. Для удобства пользователя на панели управления есть кнопки все ходы назад, ход назад, и ход вперёд, все ходы вперёд.

Редактирование задачи

В процессе разбора задачи можно менять параметры задачи, например, расклад, козырь, контракт и так далее. Для этого используйте меню задача/редактировать задачу или клавиши Ctrl+E, после этого карты не уйдут в снос, но при этом можно менять все параметры.

Сохранение задачи в html файл

Эта опция полезна для публикации задач в интернете, а также распечатки. Задачу можно сохранять с картинками или без них.

задачаHughDarwen 1
играющийЮг
контракт6БК
бридж студия
South to make six no-trumps. Difficulty 4 http://www.doubledummy.net/Problem0001.html
Север
-
Т 4 3 2
Д 3
Т К Д 4 3 2
ЗападВосток
Д B 45 10 9 8 7 6
10B  Д 9 8 7 6
К 7 6 5 4 B 10 9
B 10 9 -
Юг
-
Т 4 3 2
Д 3
Т К Д 4 3 2

Задача сохраняется в html файл так, что на неё можно ссылаться, перед задачей вставляется html-таг <p>, например, для этой задачи было вставлено <p id='HughDarwen1'>. Можно сохранять задачу с лучшим ходом, а также числом взяток пар [север-юг]/[запад-восток] обеих сторон при оптимальной игре. Любой из этих параметров или оба сразу можно отключить. Ниже приведена задача сохранённая с лучшим ходом и числом взяток.

задачаHughDarwen 1
играющийЮг
контракт6БК
лучший ходД
число взяток12/1
бридж студия
South to make six no-trumps. Difficulty 4 http://www.doubledummy.net/Problem0001.html
Север
-
Т 4 3 2
Д 3
Т К Д 4 3 2
ЗападВосток
Д B 45 10 9 8 7 6
10B  Д 9 8 7 6
К 7 6 5 4 B 10 9
B 10 9 -
Юг
-
Т 4 3 2
Д 3
Т К Д 4 3 2

Если вы выбираете сохранение задачи с лучшим ходом или с числом взяток при оптимальной игре, вы должны подождать пока программа произведёт полный расчёт задачи.

Примечание. Вид сохраненной задачи зависит от языка интерфейса.

Конвертер

Можно конвертировать библиотеки pbn, deep finesse, bts, pts файлов в форматы pbn, deep finesse, bts, html. Чтобы сконвертировать файлы выберете меню дополнительно/конвертировать затем добавьте файлы, которые вы хотите конвертировать. Затем нажмите OK. Чтобы сохранить список текущих задач, нужно нажать меню задача/сохранить как... и выбрать нужный формат.

Оценка всех ходов

Опция оценки всех ходов полезна тем, что можно видеть сколько взяток берёт ходящая сторона не только при лучшем ходе, но и при всех других возможных ходах. Оценка всех ходов находится в меню опции. Возможно несколько вариантов

Режимы автоматической игры

Режим автоматической игры устанавливается в меню опции/ходить автоматически при секвенсах. Если опция включена, то программа будет делать ход автоматически если все возможные ходы составляют секвенс.

История версий

версия 5.01 7 июня 2017

добавлена новая опция для преферанса "решить все расклады противников"
исправлен баг в редакторе списка задач, когда первая задача является задачей по преферансу
ускорено решение преферансных задач
очищены и пересмотрены файлы PrefPosition.h & PrefPosition.cpp
код решателя сделан общим для проектов bridge и bridgeConsole

версия 5.0 26 марта 2017

приложение переписано с gtk 3.6.4 под gtk 3.20.6
добавлена поддержка работы со списком задач
добавлен новый формат bts, pts файлов, теперь это текстовые файлы, которые поддерживают списки задач и теги pbn. Один файл может содержать смесь задач по бриджу и преферансу
добавлен редактор списка задач
добавлено сохранение списка задач в несколько файлов
изменен конвертер, можно конвертировать файлы не только в html, но и в pbn, df, bts, можно сохранять в несколько файлов
добавлено поле контракт
добавлена опция drag & drop для нескольких файлов и каталогов, каталоги считываются рекурсивно
добавлен калькулятор очков для бриджа
добавлена опция сохранения в картинку
добавлен выбор цвета или фоновой картинки для пользовательского скина
добавлен выбор цвета шрифта для скинов
добавлена новая колода с большими картами
добавлена детализованная информация об ошибках при открытии файлов
добавлена поддержка загрузки нескольких файлов используя командную строку
улучшено чтение pbn, df файлов, теперь считываются полностью
улучшен pbn редактор
улучшена поддержка скинов
улучшено сохранение в html файлы
ускорена загрузка программы (проверка новой версии в отдельной нити)
улучшена поддержка маленьких мониторов ноутбуков
облегчено добавление новых языков, теперь можно просто добавлять файл в папку bin/lng и программа при запуске считает новый язык, также при желании можно добавить картинку языка в папку bin/images
сборники задач из папок HughDarwen и GeorgeCoffin теперь объединены в один файл для каждой папки. Также расширен (теперь содержит все задачи) и объединен список из папки Competition, добавлены все задачи из разделов Bergholt, Yarborough, Pachabo. Таким образом все задачи с сайта www.doubledummy.net переведены в формат bts. Преферансные задачи объединены в один файл. Для всех задач из библиотеки, где это возможно, проставлены контракты.
клик по карте на столе делает отмену нужного числа ходов
клик по карте игрока, которая следующая в списке ходов делает redo
расширена опция сохранения измененного документа

версия 4.0 22 декабря 2014

программа переписана под компилятор gcc и кроссплатформенную библиотеку gtk+ версии 3.6.4, среда разработки Eclipse CDT
добавлено решение для всех игроков и козырей
добавлен поворот задачи
добавлена поддержка мониторов с небольшим разрешением
приложение стало легко настраиваемым (bridge.cfg стал текстовым файлом, bridge.css также текстовый файл)
добавлен выбор шрифта
html конвертер поддерживает опцию drag & drop
улучшен поиск последовательностей для опции ходить автоматически при секвенсах

версия 3.01 20 сентября 2012

версия 3.0 11 сентября 2012

версия 2.23 8 февраля 2012

код адаптирован под компилятор gcc
устранен небольшой memory leak
упрощен механизм обновления

версия 2.22 17 мая 2011

сохранение в формате unicode заменено на сохранение с картинками с абсолютными ссылками
добавлено сохранение в html формат без картинок

версия 2.21 5 февраля 2011

исправлен фильтр при открытии файла
задачи каталогизированы
добавлен пустой скин
добавлен инсталлятор

версия 2.20 2 декабря 2010

исправлен просмотр pbn файлов, некоторые файлы не открывались.

версия 2.19 10 июня 2008

добавлено сохранение описания в hmtl файл
исправлена ошибка при сохранении файла
добавлена возможность сохранения в pbn файл
добавлен html конвертер из многих файлов различного контента
хеш таблица увеличена в 4 раза.

версия 2.18 26 апреля 2008

добавлена загрузка любого языка из файла
исправлена ошибка, которая была при открытии (то есть при ассоциации с файлом) и перетаскивании файла в окно
преферанс доступен на любом языке
все комментарии переведены на английский язык
в меню открыть открываются все возможные расширения
при изменении описания, будет выдаваться вопрос сохранить ли документ

версия 2.17 13 декабря 2007

исправлена ошибка при редактировании и установке задачи карты можно перетаскивать из сноса

версия 2.16 16 августа 2007

добавлен выбор карточной колоды, из пяти понравившихся
добавлено задание порядка мастей при отображении, а также порядок карт внутри масти (восходящий и нисходящий)
добавлена опция автоматической проверки новой версии, при старте программы
исправлена ошибка, иногда шрифт для toopTip не выбирался вначале
исправлена ошибка при генерации случайного расклада, они были не совсем случайными
исправлена ошибка, иногда оценка хода последней картой считалась неправильно

версия 2.15 30 июля 2007

добавлено показывание возможных ходов при наведении на них мышью
если игра уже идёт, то ходы делаются сразу при нажатии на карту, тащить карты теперь можно только при установке задачи
исправлена ошибка при показывании последней взятки

версия 2.14 17 июля 2007

добавлена проверка новой версии из программы
добавлено скачивание библиотеки задач из программы
добавлено генерирование случайной сдачи
исправлены ошибки при показывании оценок в преферансе
исправлена ошибка при автоматическом ходе, после хода игрока

версия 2.13 4 июля 2007

если DF или pbn файл содержит только одну задачу, то тогда не открывается панель для переключения между задачами.
исправлена ошибка при загрузке DF файлов

версия 2.12 31 мая 2007

сделан просмотр DeepFinesse файлов

версия 2.11 30 марта 2007

добавлено сохранение задач в формате DeepFinesse
добавлены взятки при игре сверху, но это даёт ускорение только для бескозырных задач. БК задачи ускорились на 38%
расширился объем задач для тестирования новых версий
уменьшен размер exe файла, за счёт динамического расчёта вспомогательных массивов

версия 2.10 14 марта 2007

изменился внутренний формат хранения задач (теперь они zip'уются), при этом задачи сохранённые старыми версиями открываются
сохранение задачи со всей историей (ходов и отменённых ходов)
набрана библиотека с сайта dugh darwen, состоящая из более чем 800 бриджевых задач
облегчена установка новой задачи, задачу можно устанавливать, не перетаскивая карты, а просто кликая на них
исправлен баг при оценке всех взяток
исправлен маленький баг при отображении описания задачи
добавлена опция автоматического хода, ход делается автоматически, если он единственный или все возможные ходы находятся в секвенсе.
размер хеш-таблицы увеличен до 68 мб (ускорение 25%). Задачи без первого хода считаются намного быстрее, по остальным ускорение 6-10%. Дальнейшее увеличение параметров уже не даёт сильного эффекта для медленных задач.
опция оценки всех ходов работает теперь и для преферанса
исправился баг при оценке последней взятки в преферансе

версия 2.9 9 декабря 2006

файл открывается при перетаскивании в приложение (drag&drop)
исправлен баг, при сохранении козырь сохранялся неправильно
сохранить работало как 'сохранить как'
при установке новой задачи все карты будут у запада, так легче устанавливать задачу, потому что надо только переместить карты от запада к другим игрокам и если необходимо, то в снос
новый механизм отмены ходов, когда кликается на карте, которая уже на столе - программа делает отмену до тех пор пока карта не уйдёт со стола

версия 2.8 31 октября 2006

добавлена опция редактирования задачи
восстановлено описание задачи с возможностью его редактирования
во всех диалоговых панелях переделан фон и кнопки, под стиль

версия 2.7 1 октября 2006

добавлена поддержка скинов.
последняя взятка и статус вынесены в отдельное окно
добавлены подсказки
и многое другое
обнаружен баг в версии 2.6, некоторые задачи могли считаться неправильно.
добавлена оценка всех ходов

версия 2.6 7 февраля 2005

немного ускорен расчёт, в основном с помощью технических ускорений
ускорен расчёт бескозырных задач, за счёт предварительного расчёта уверенных взяток

версия 2.5 4 ноября 2003

сильно ускорены долгосчитающиеся задачи, особенно задача 159, где первый ход вистующих ещё не сделан.

версия 2.4 3 сентября 2003

добавлены кнопки undo/redo all
улучшен просмотр pbn файлов
расчёт ускорен на 11%

версия 2.3 18 июля 2003

исправлен баг в преферансе, некорректно брались взятки
исправлен баг, после загрузки задач при нажатии кнопки найти лучший ход, программа выдавала сообщение о выполнении некорректной операции
размер хеш-таблицы уменьшился до 32Мб
расчёт ускорен на 18%

версия 2.2 1 июля 2003

добавлена возможность сохранения в формате html с лучшим ходом и числом взяток при оптимальной игре
при сохранении в формате html перед задачей добавляется таг <p id="название задачи">
расчёт ускорен на 10%

версия 2.1 16 июня 2003

добавлена возможность загрузки задач из pbn (portable bridge notation) файлов
облегчена установка задачи. ctrl+левая клавиша мыши перемещает карту к игроку, к которому перетащили последнюю карту
добавлено несколько новых задач
исправлен недочёт при сохранении игры без козыря
изменены названия некоторый пунктов меню
при установке новой задачи по умолчанию первый ход делает запад - это сделано потому что в большинстве бриджевых задач разыгрывающий - юг.
исправлено перерисовывание последней взятки
добавлено автоматическое переключение языка на русский если загружается преферансная задача
расчёт ускорен почти в 2 раза

версия 2.0 2 июня 2003

расчёт ускорен более чем в 10 раз. Смотрите логическую часть.
размер хеш-таблицы уменьшен до 36 МБ. В связи с этим снизились требования к компьютеру.

версия 1.2 28 апреля 2003

исправлен баг. Теперь меню программы отображается корректно под Windows98

версия 1.1 5 февраля 2003

добавлен решатель задач по преферансу
улучшено сохранение в формате html
улучшен выбор козыря (теперь козыри в виде картинок)
по правой кнопке мыши находится лучший ход

версия 1.01 16 января 2003

сделано корректное отображение русских шрифтов для некоторых версий windows

версия 1.0 15 января 2003

История решателя задач по преферансу

После выхода третьей версии решателя по преферансу, начата разработка объединенного решателя задач по бриджу и преферансу.

версия 3.0 13 июля 2002

версия 2.2 25 июня 2002

версия 2.1 7 июня 2002

версия 2.0 1 июня 2002

версия 1.1 20 мая 2002

версия 1.0 7 мая 2002