Новости

Библиотека

Ссылки

О сайте







предыдущая главасодержаниеследующая глава

3. Бридж - популярнейшая логическая игра XX века

Бридж - популярнейшая логическая игра XX века
Бридж - популярнейшая логическая игра XX века

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

Бридж - сравнительно молодая игра. Она сформировалась в несколько этапов ("бридж-вист", "аукционный бридж", "бридж-плафон", "контракт-бридж") в конце XIX - начале XX века на основе русской карточной игры "винт" и английской карточной игры "вист". Интересно, что само название "бридж" - отнюдь не английское, а происходит от древнерусского слова "бирич", что означает "глашатай".

Современная версия бриджа (так называемый "контракт-бридж") окончательно оформилась в середине 20-х годов нашего века. Решающий вклад в это внес американский бриджист Г. Вандербилт. Прежде всего мы изложим правила "контракт-бриджа".

Бридж - игра, в которую играют четыре человека с помощью комплекта из 52 карт. Игроков обычно обозначают по сторонам света: С (север), В (восток), Ю (юг), З (запад) (в иностранной литературе соответственно N, Е, S и W). В таком порядке они и рассаживаются вокруг стола - рис. 27.

Рис. 27
Рис. 27

Два игрока, сидящие друг против друга, являются партнерами и образуют пару. Партнеры играют вместе, и интересы у них полностью общие (как у игроков одной спортивной команды). Итак, в каждой партии С и Ю играют против В и З.

Когда игроки заняли свои места за столом, производится раздача карт. Карты сдаются по часовой стрелке, по одной каждому игроку до тех пор, пока вся колода не будет роздана. Поскольку в колоде 52 карты, каждый игрок получает 13 карт. Совокупность карт, находящихся у одного игрока, называют "рукой" (этого игрока).

Условимся буквами П, Ч, Б и Т обозначать масти: пику, черву, бубну и трефу; а также примем обозначения: Т - туз, К - король, Д - дама и В - валет.

52 карты, содержащиеся в колоде, распределены по мастям поровну. Таким образом, в каждой масти 13 карт: Т, К, Д, В, 10, 9, 8, 7, 6, 5, 4, 3 и 2.

После того как колода карт роздана, начинается сама партия (или сдача) в бридж, которая состоит из двух частей. Первая часть - торговля, в результате которой определяется контракт. Вторая часть - реализация назначенного контракта.

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

Заявки подразделяются на значащие и незначащие. Значащая заявка состоит из числа от 1 до 7 (это число называется уровнем заявки) и деноминации заявки. Есть 5 возможных деноминаций: Т (трефа), Б (бубна), Ч (черва), П (пика) и БК (без козыря). Эти деноминации упорядочены, как здесь указано, т. е.

Т < Б < Ч < П < БК

Масти Т и Б называются младшими мастями, или минорами, а Ч и П - старшими мастями, или мажорами.

Все значащие заявки упорядочены, считая, что уровень важнее деноминации. Например:

2Ч < 2П < < 2БК < 3Т < 3Б ...

Незначащих заявок три: пас, контра и реконтра. Мы обозначаем их так: п, *, **.

Когда до игрока доходит очередь, он может сделать любую значащую заявку, превышающую последнюю значащую заявку данной торговли. Например, если торговля протекала так: С-1Ч, В-1П, Ю-2Т, то З (сейчас его слово) может сделать любую значащую заявку выше 2Т (скажем, 2П), но не может сделать заявку 2Т или более низкую значащую заявку.

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

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


то З может сделать заявку контра (действительно, Ю, являющийся противником З, сделал значащую заявку 24 и между ней и словом З ничего не было сказано). Если бы Ю вместо 2Ч сказал "пас", З уже не мог бы заявить контру, так как последняя значащая заявка противников (1Ч) оказалась бы перекрыта заявкой 1П.

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


то З имеет право сказать "реконтра". Или в ситуации


С имеет право заявить реконтру. Однако если Ю вместо П сделает любую другую заявку (а З скажет "пас"), С уже потеряет право на реконтру.

Торговля заканчивается, когда три игрока подряд скажут "пас". Есть исключение из этого правила: если три паса были заявлены в самом начале торговли, то четвертому игроку всё же предоставляется слово (так что каждый игрок имеет право высказаться).

Когда торговля закончена, последняя значащая заявка этой торговли становится окончательным контрактом (и его уже нельзя изменить). Если после нее были сделаны заявки * или **, эти заявки присоединяются к названию контракта. Например, если торговля протекала


то контрактом является "2Ч с реконтрой" (пишут так: 2Ч**).

Пара, представителю которой принадлежит последняя значащая заявка (т. е. контракт), будет реализовывать этот контракт. Разыгрывающим называют того представителя этой пары, который первым назвал в торговле деноминацию контракта. Например, если торговля протекала


то разыгрывающим контракт 4Ч* будет В, так как он первым из пары назвал масть - черву.

Противники той пары, которая будет реализовывать контракт, называются защитниками, или вистующими. Задача вистующих - помешать успешной реализации контракта. Реализация контракта разыгрывающим называется розыгрышем контракта. Действия защитников называются защитой, или вистом. Розыгрыш и вист в совокупности называют игрой картами.

Процесс реализации контракта состоит из 13 раундов. Каждый раунд состоит из четырех ходов, которые делаются игроками поочередно по часовой стрелке. Ход заключается в выкладывании на стол какой-либо из своих карт (уже выложенные на стол карты не возвращаются в руку, так что никакая карта не может быть использована дважды) лицевой стороной вверх. Будем называть открывающим раунд того игрока, который делает первый ход в данном раунде. Игрок, делающий ход, обязан выкладывать карту той же масти, что и карта, выложенная открывающим данный раунд. Если у него нет карт этой масти, он может сыграть любой картой.

Первый раунд открывает тот защитник, который сидит слева от разыгрывающего. Когда он сделает первый ход, партнер разыгрывающего открывает свои карты, раскладывая их на столе лицевой стороной вверх. Остальные игроки продолжают держать свои карты закрытыми. Партнер разыгрывающего, разложивший свои карты на столе, в данной партии уже не принимает участия. Все ходы за него (в том числе ход в первом раунде) делает разыгрывающий. Поэтому на время данной партии этот игрок именуется "болваном". Рука этого игрока называется "столом".

Когда в некотором раунде все четыре игрока сделали свои ходы, карты, выложенные в этом раунде на стол, закрываются. Победителем раунда является тот игрок, который выложил самую старшую карту. При этом рассматриваются только карты той же масти, что и карта открывающего раунд, а также козыри (если таковые имеются). Козыри по определению старше карт остальных мастей. Наличие в игре козырей определяется деноминацией контракта. Если деноминация контракта - БК (такие контракты называются бескозырными), то козырей нет, т. е. масти равноправны. Если же деноминация контракта какая-то масть (такие контракты называются козырными, или мастевыми), то эта масть и является козырем.

Например, если контракт "без козыря" и в раунде, который открывал З, были выложены карты


то победителем в этом раунде считается В (хотя Ю выложил туза, этот туз не претендует на победу в раунде, так как его масть не совпадает с мастью карты З - червой).

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

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

Каждая партия развертывается в некоторой так называемой зонной ситуации. Возможных зонных ситуаций четыре:

1) все до зоны;

2) С-Ю в зоне, В-З до зоны;

3) С-Ю до зоны, В-З в зоне;

4) все в зоне.

Зонная ситуация устанавливается еще до начала партии. В ряде случаев она влияет на подсчет результатов.

Назовем заказанным числом взяток число, равное 6+N, где N - уровень контракта (таким образом, минимум заказанного числа взяток 7). Контракт считается реализованным, или выигранным, если за 13 раундов пара разыгрывающего набрала не менее чем заказанное число взяток. В противном случае контракт считается нереализованным, или проигранным. Таким образом, контракт представляет собой обязательство набрать не менее чем заказанное число взяток, если козырем будет масть контракта. Если это обязательство выполняется, пара разыгрывающего получает определенное количество очков, а пара защитников ничего не получает. Если же контракт проигран, очки получает пара защитников, а пара разыгрывающего ничего не получает.

Каждый контракт имеет так называемую стоимость, которая определяется уровнем (N) контракта, деноминацией, а также тем, был ли контракт снабжен * или **. Если контракт не снабжен ни контрой, ни реконтрой, то его стоимость вычисляется по формуле

Стоимость = N × стоимость деноминации + поправка,



Например, контракт 2 БК стоит 2 × 30 + 10 = 70 очков.

Если контракт снабжен контрой, его стоимость удваивается. Если контракт снабжен реконтрой, его стоимость учетверяется. Таким образом, * и ** - средства "повышения ставок". Контракт, стоимость которого меньше 100, называется частичной записью. Легко видеть, что к частичным записям относятся контракты: 1T, 2Т, 3Т, 4Т, 1Б, 2Б, 3Б, 4Б, 1Ч, 2Ч, 3Ч, 1П, 2П, 3П, 1БК, 2БК, 1Т*, 2Т*, 1Б*, 2Б*, 1Ч*, 1П*, 1БК*, 1T**, 1Б**.

Контракт, стоимость которого больше или равна 100, называется геймом, или концовкой. К геймам относятся контракты: 5Т, 6Т, 7Т, 5Б, 6Б, 7Б, 4Ч, 5Ч, 6Ч, 7Ч, 4П, 5П, 6П, 7П, 3БК, 4БК, 5БК, 6БК, 7БК, 3Т*, 4Т*, 5Т*. 6Т*, 7Т*, 3Б*, 4Б*, 5Б*, 6Б*, 7Б*, 2Ч*, 3Ч*, 4Ч*, 5Ч*, 6Ч*, 7Ч*, 2П*, 3П*, 4П*, 5П*, 6П*, 7П*, 2БК*, 3БК*, 4БК*, 5БК*, 6БК*, 7БК*, а также все контракты с реконтрой, кроме 1Т** и 1Б**.

Контракт на уровне 6 называется "малым шлемом", а контракт на уровне 7 - "большим шлемом".

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

1) стоимости контракта,

2) стоимости лишних взяток (оверов),

3) премий.

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

1) если контракт не был снабжен ни контрой, ни реконтрой, то цена овера равна стоимости деноминации контракта;

2) если контракт снабжен контрой, то лишняя взятка стоит 100 очков до зоны и 200 очков в зоне (здесь и далее имеется в виду зонная ситуация для пары разыгрывающего);

3) если контракт снабжен реконтрой, то лишняя взятка стоит 200 очков до зоны и 400 очков в зоне

Премии бывают нескольких типов. Во-первых, пара разыгрывающего получает премию за выигрыш контракта, которая равна:

1) 50 очков, если контракт является частичной записью,

2) 300 очков до зоны и 500 очков в зоне, если контракт является геймом.

Если контракт был снабжен * (или **), пара разыгрывающего получает дополнительную премию в 50 (100) очков. Наконец, за выигрыш "малого шлема" полагается премия в 500 очков до зоны и 750 очков в зоне, а за выигрыш "большого шлема" полагается премия в 1000 очков до зоны и 1500 очков в зоне

Приведем несколько примеров. Пусть разыгрывался контракт 3Ч** и разыгрывающий взял 12 взяток. Так как заказанное число взяток равно 6 + 3 = 9, что ÷ 12, то контракт выигран. Пара разыгрывающего получает (для определенности мы считаем, что пара разыгрывающего находилась до зоны): 4 × 3 × 30 = 360, очков в виде стоимости контракта, 3 × 200 = 600 очков за лишние взятки, 300 очков в виде премии за контракт (гейм до зоны), 100 очков в виде премии за **. Итого - 1360 очков.

Пусть разыгрывался контракт 3Ч, пара разыгрывающего находилась до зоны, и разыгрывающий взял 9 взяток. Тогда пара разыгрывающего может записать себе 3 × 30 + 50 = 140 очков. Заметим, что если бы контракт был 14, а разыгрывающий взял бы те же 9 взяток, то результат не изменился бы: 1 × 30 + 2 × 30 + 50 = 140 очков. Таким образом, нет смысла заказывать 3Ч, если можно ограничиться контрактом 1Ч, который проще выиграть (так как достаточно взять всего 7 взяток).

В то же время пусть пара разыгрывающего, находящаяся до зоны, заказывает 34 и берет 10 взяток. Результат равен 3 × 30 + 1 × 30 + 50 = 170 очков. Однако если бы эта пара заказала 4Ч и выиграла этот контракт, взяв те же 10 взяток, результат ее сильно возрос бы: 4 × 30 + 300 = 420 очков. Дело в том, что контракт 3Ч является частичной записью и за его выигрыш полагается премия только в 50 очков (сколько бы оверов ни взял разыгрывающий), в то время как 4Ч - гейм и за его выигрыш до зоны положено 300 очков. Отсюда мораль: надо назначать контракт в максимально возможной зоне премирования, но внутри этой зоны надо назначать возможно более низкий контракт.

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

Каждая недобранная разыгрывающим взятка имеет стоимость. Если контракт не был снабжен ни *, ни **, то эта стоимость равна 50, если пара разыгрывающего находилась до зоны, и 100, если она находилась в зоне. Если контракт был снабжен контрой, то первая недобранная взятка стоит 100 до зоны и 200 в зоне, вторая и третья недобранные взятки стоят 200 до зоны и 300 в зоне, а каждая следующая взятка, недобранная разыгрывающим, стоит 300, независимо от зонной ситуации. Если контракт был снабжен реконтрой, то стоимость возрастает вдвое: первая недобранная взятка стоит 200 до зоны и 400 в зоне, вторая и третья - 400 до зоны и 600 в зоне, а каждая следующая - 600, независимо от зонной ситуации. В итоге пара защитников получает запись, равную сумме стоимостей всех недобранных взяток.

Нетрудно сделать следующее наблюдение: если контракт проигрывается, то снабжение его контрой или реконтрой выгодно защитникам, поскольку стоимости недобранных взяток при этом возрастают. Если же контракт выигрывается, то снабжение его контрой или реконтрой выгодно паре разыгрывающего. Так как заявка * может снабжать лишь контракт противников, а заявка ** - лишь собственный контракт (причем только в случае, если противники уже законтрили его), то заявки * и ** имеют ясное натуральное значение: * выражает сомнение в том, что контракт противников будет реализован, а ** поддерживает уверенность в его реализации.

Когда вы играете партию в бридж, ваша цель состоит в том, чтобы получить максимальную возможную запись. Часто бывает, что вы не можете получить положительную запись. В этом случае вы должны стремиться минимизировать запись противников. Вот наиболее важный пример. Предположим, что обе пары до зоны, и вы можете выиграть 2П, взяв ровно 8 взяток, а противники могут выиграть 4П, взяв 10 взяток. Пусть противники заказали контракт 4Ч, перекрыв ваш контракт. Сколько они получат, выиграв этот контракт? Легко сосчитать: 4 × 30 = 120 в виде стоимости контракта и 300 очков премии за гейм до зоны, итого - 420 очков. Можете ли вы уменьшить это число? Да. Вы должны назначить контракт 4П. Конечно, противники дадут контру и вы будете реализовывать 4П*. Вы проиграете этот контракт (ведь мы уже договорились, что в пиковом контракте у вас ровно 8 взяток). Поэтому противники запишут себе 100 очков за первую недобранную вами взятку и 200 очков за вторую, всего - 300 очков. Это меньше, чем 420. Итак, иногда бывает выгодно проиграть собственный контракт, лишь бы не дать противникам выиграть свой.

Теперь вы знаете все правила игры в бридж. Предположим, у вас есть партнер и он знает все правила. Можете ли вы с ним сесть за столик и начать играть?

Нет. Дело в том, что вы с партнером предварительно должны договориться, по каким принципам вы будете вести торговлю. Ведь в результате обмена заявками вы должны будете назначить какой-то контракт, который, как вам кажется, должен принести вам максимальную возможную запись. Но как выяснить, что это должен быть за контракт?

Если бы вы могли увидеть все карты партнера, то, конечно, смогли бы прикинуть, какой контракт назначать. Однако вы с партнером не знаете карт друг друга. Вы можете лишь обмениваться заявками в процессе торговли. Поэтому этим заявкам следует приписать точный смысл, чтобы можно было с их помощью обмениваться информацией. Иными словами, вы должны разработать некий язык, на котором вы с партнером будете вести торговлю (или изучить какой-либо из уже разработанных языков). Такой язык называется системой торговли. Зная правила игры и договорившись о системе торговли, вы с партнером уже можете сесть за столик.

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

Систем торговли существует великое множество. Фактически их столько же, сколько есть пар игроков, - у каждой пары свои договоренности.

Из приведенных правил игры видно, что в бриджевой игре присутствует внешний случайный фактор - случайность приготовления колоды карт. Вам могут достаться очень хорошие карты, а могут достаться очень плохие. К счастью, существует простой способ нейтрализации этого случайного фактора, который и принят в спортивном бридже. Он состоит в том, что одинаковым образом приготовленными колодами карт играют на нескольких столах, после чего сравнивают результаты. Мы разъясним это подробно на примере матча - одного из основных жанров соревнований по бриджу.

В матче участвуют две команды игроков, каждая из которых включает по две пары. Для удобства примем обозначения: А1 - первая пара команды А, А2 - вторая пара команды А, Б1, Б2 - соответственно первая и вторая пары команды Б. Матч проводится на двух удаленных друг от друга столах. За первым столом размещаются первые пары команд, за вторым - вторые. При этом если пара А1 занимает позиции С и Ю (или З и В), то пара А2 должна занять позицию З и В (или С и Ю). Пример возможного размещения пар показан на рис. 28.

Рис. 28
Рис. 28

Матч состоит из фиксированного четного числа сдач, в каждой из которых используется колода карт. Сначала первая половина сдач играется на первом столе, а вторая половина сдач - на втором. Сыгранные сдачи сохраняются, т. е. начальные ситуации сдач восстанавливаются - как, мы объясним позднее - и консервируются при помощи специальных коробок. Когда на обоих столах положенная половина сдач будет сыграна, коробки со сдачами с первого стола передаются на второй стол, а коробки со второго стола передаются на первый стол. Затем поступившие на каждый из столов сдачи играются на нем.

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


В графе "Результат" проставляется результат сдачи для команды, ведущей данный протокол (если очки получили противники, записывается набранная ими сумма со знаком минус). Аналогично заполняется графа "Результат на другом столе". Разумеется, она может быть заполнена только при сопоставлении протоколов после окончания матча, так как в процессе игры все результаты на каждом из столов держатся в секрете. Далее, в графу "+" (графу "-") заносится сумма результатов на обоих столах, если она положительна (отрицательна); вообще говоря, она предварительно переводится в некое число по специальной таблице, но для нас сейчас это не имеет значения. Окончательный итог подводится суммированием содержания граф "+" и "-" (числа из графы "-" берутся со знаком минус).

Ниже приведен пример протоколов матча из двух сдач (конечно, на практике такие короткие матчи не встречаются).

Протокол команды А. Первый стол


Протокол команды А. Второй стол


Здесь предполагается то размещение, которое было показано на рис. 28. Кроме того, в данном примере предполагается, что в первой сдаче все до зоны, а во второй все в зоне. Протоколы команды Б опущены; читатель может в качестве упражнения восстановить их вид по протоколам команды А.

Рассмотрим, что произошло в этом матче. Первая сдача была разыграна сначала на первом столе. Пара А1 заказала контракт 4П, но контракт реализован не был: "без одной" принесло команде А результат - 50. В это время на втором столе была разыграна вторая сдача, в которой пара А2 выиграла контракт 2Б с одним овером, что принесло команде А результат +110. Затем на первый стол поступила вторая сдача, а на второй стол - первая сдача. Пара Б2, сидящая за первым столом, выиграла контракт 2Б, взяв ровно 8 взяток, в связи с чем команда А занесла в свой протокол - 90. На втором столе пара Б2 осталась "без одной" в контракте 4П с контрой, что позволило команде А занести в свой протокол результат +100. Общий итог по двум сдачам таков: +70 для команды А. В частности, команда А выиграла матч. За счет чего?

В первой сдаче, где разыгрывался контракт 4П, который оказался нереализуемым, игроки команды А сумели распознать, что контракт будет проигран, и дали контру. Игроки команды Б контры не дали. Таким образом, в первой сдаче команда А заслуженно получила +50.

Во второй сдаче, где на обоих столах разыгрывался контракт 2Б, пара А2 сумела взять (при висте пары Б2) 9 взяток, а пара Б1 (при висте пары А1) лишь 8 взяток. Таким образом, и здесь выигрыш команды А честно заработан.

Существенным моментом в организации матча (как и любого другого соревнования по спортивному бриджу) является сохранение сыгранных сдач. Как его осуществить? Принят следующий способ. Когда в ходе раунда игры картами игрок выкладывает карту, он не кидает ее на середину стола, а кладет рядом с собой. Когда раунд заканчивается, карта переворачивается, оставаясь рядом с игроком. При этом карта поворачивается так, чтобы ее продольная ось совпала по направлению с осью пары, выигравшей раунд. Это позволяет в конце игры определить число взяток каждой пары. Когда сдача завершена, карты каждого из игроков оказываются лежащими рядом с ним, так что начальная ситуация может быть непосредственно восстановлена.

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

Спортивный бридж пользуется в мире огромной популярностью. Во второй половине XX века стали регулярно проводиться парные и командные чемпионаты мира, бриджевые олимпиады; проводятся также чемпионаты континентов и другие крупные международные турниры. В 1960 году была основана Всемирная бриджевая федерация. Она объединяет ныне около 120 миллионов бриджистов из почти сотни стран. Всего же в мире играют в бридж примерно 200 миллионов человек. В некоторых странах бридж введен в качестве предмета (правда, факультативного) в средних и даже высших учебных заведениях.

В СССР бридж длительное время развивался лишь в рамках неформальных бриджевых организаций. Однако в последние годы происходит постепенная легализация спортивного бриджа. Бриджевые клубы официально зарегистрированы во многих городах страны. В 1988 году была создана республиканская бриджевая федерация в Эстонии, а в начале 1989 года - аналогичная федерация в Латвии. Летом 1989 года впервые команда СССР (составленная из эстонских игроков) участвовала в командном чемпионате Европы. Она заняла 18-е место (первыми были спортсмены Польши, вторыми - Франции, третьими - Швеции).


предыдущая главасодержаниеследующая глава




© Злыгостев Алексей Сергеевич, подборка материалов, оцифровка, статьи, оформление, разработка ПО 2010-2018
При копировании материалов проекта обязательно ставить активную ссылку на страницу источник:
http://table-games.ru/ "Table-Games.ru: Настольные игры"