В сентябре 1984, на семинаре по Р-технологии в Одессе, я впервые купался в море. Я разделся, снял очки, с разбегу кинулся в воду - и тут же, как ошпаренный, выскочил. Вместо воды попал во что-то скользкое как сопли. Оказывается, около берега колыхался сплошной пояс из медуз - его надо было разгрести и уже потом выходить на оперативный простор. Как меня ни приучали не бояться медуз ( и в руку давали подержать) я так и не смог с ними примириться - при том, что человек я не брезгливый. Очень быстро выяснилось, что рано утром медуз нет, и я стал купаться рано утром - всё равно вставал по красноярскому времени. Вода относительно прохладная, медуз нет, как и купальщиков. И солнце встаёт из-за моря. Красота! Я заплывал очень далеко - никак не мог остановиться.
Днём мы тоже купались: семинар шёл после завтрака и после полдника, а в обед все ходили купаться. Человек десять уплывали далеко от берега, там становились в кружок и обсуждали утренние выступления. Те, кто плавал плохо, смотрели на нас издали.
После ужина мы ещё раз купались, а потом разбредались по домикам, где до утра развлекались кто как мог. Я, конечно, тусовался с киевлянами. Пить я с ними не пил, поскольку как раз год назад завязал начисто, и есть тоже не ел - в то время я практиковал простую методу похудания: не есть после семи часов. Однако приятели скоро убедили меня, что после 12 наступает новый день и новый отсчёт, значит, после двенадцати есть можно. А сидели мы до самого утра - я потом спал часок, просыпался по красноярскому времени и шёл купаться.
Занимались мы до утра тем, что играли в "Клад" - свежепридуманную игру, казалось, созданной для настоящих программистов. Вот ей я и посвящу оставшуюся часть этой главки - игра того стоит.
Итак, все рисуют себе таблицу 9х9, а один из них, ведущий, заполняет её объектами (но другим не показывает!), например, так::
А | Б | В | Г | Д | Е | Ж | З | И | |
1 | |||||||||
2 | А | ||||||||
3 | КИ | ||||||||
4 | |||||||||
5 | ----> | ||||||||
6 | КЛ | ||||||||
7 | |||||||||
8 | Л | ||||||||
9 |
Стрелкой обозначена река. Она может идти в по вертикали, и справа налево. Рек может быть несколько.
Ещё на карте есть несколько стен между клетками (а кстати, вся таблица обнесена капитальной стеной, в которой есть только одна клетка-выход наружу).
Все, кроме ведущего, эту карту не знают. У них это - пустая таблица девять на девять. Они по очереди "забрасываются" на игровое поле, сами выбирая клетку. Говоришь, к примеру: А5, и попадаешь на А5.В этот момент ведущий говорит тебе, что находится там, куда ты попал:
Когда все высадились (и тем самым провели частичную реконгсцировку), начинается собственно игра. Игроки по очереди говорят, куда ходят (вверх, вниз, влево, вправо). И ведущий говорит, что находится там, куда они попали. В том числе (если на карте стена), ведущий говорит: стена, и игрок остаётся на месте. Замечу, что ведущий не говорит, какая это именно стена - капитальная или внутренняя.
У каждого игрока есть три патрона в револьвере. Он может вместо хода выстрелить (вверх, вниз, влево, вправо). Если там, куда он выстрелил, есть игрок, он считается раненым. Раненый игрок не может стрелять и не может нести клад (клад остаётся в той клетке, где его подстрелили, и его можно забрать). Раненый может вылечиться, пройдя через лазарет. Тот, у кого кончились патроны, может пополнить запас, пройдя через арсенал.
Выстрел может пробить стену на время хода. Игрок говорит: "стреляю и прохожу". Если это внутренняя стена, игрок проходит через пролом, и пролом тут же зарастает. Если это внешняя стена, ведущий говорит: "капитальная", и игрок остаётся на месте.
Задача: найти клад и вынести его через выход (который тоже ещё нужно найти). Кстати, истинный клад или ложный, ведущий сообщает только тогда, когда его вынесли. Так что, бывает, ложный клад переходит из рук в руки, а истинный клад в это время кто-то выносит.
Конечно, каждый участник старается нарисовать свою карту, используя ответы ведущего - как себе, так и другим игрокам. Для этого надо быстро соображать и быть внимательным.
Вот так всё просто, этакий расширенный вариант морского боя. Если бы не реки, это была бы игра для пятиклассников. Но реки вносят мощный элемент неопределённости. Тебя может снести вверх, вниз, влево или вправо. Реки могут быть длиной в две клетки, а могут быть и в три (в поздние времена мастера придумывали ещё и реки с поворотами). Так что, если тебя снесло, карта обретает вариативный вид: ты можешь быть тут, или тут, или тут, и надо потыкаться и сообразить, где именно. А игра в это время идёт, ведущий отвечает другим игрокам, и ты, если задумаешься, потеряешь ценную информацию о карте, упустишь конкурентов. Если учесть, что рек на карте несколько и туда может попасть несколько игроков (да и в одну и ту же реку тоже несколько), и тебе надо решать ребусы ещё и за них...
В общем, это игра для настоящих программистов. Только они могут отслеживать сразу несколько объектов в неопределённых условиях, отрабатывать несколько гипотез одновременно, не теряя деталей, только они могут увязывать разноречивую информацию о том, что на самом деле представляет из себя эта карта. Программист работает, по сути, с тем же самым материалом: когда он начинает работу, перед ним полностью неизученная карта, а когда заканчивает - полностью формализованная и оформленная.
Асом игры в клад был, разумеется, Серёжа Лизенко. Он выигрывал всегда, и это даже становилось неинтересно. Мы ввели тогда правило: кто выиграл, становится ведущим в следующей игре. И Сережа стал выигрывать через раз, в те игры, когда ведущим был не он.
Я привёз игру в Красноярск, и здесь она быстро завоевала популярность. У нас для этого были все условия: ЕС-ка ломалась очень часто, нередко на несколько дней, а то и на неделю. А в остальные дни была так перегружена, что три прогона в день считались большой удачей (эй, нынешние программисты - слабо поработать в таких условиях, когда вы можете запустить свою программу два-три раз в день - и то в лучшем случае?). Вообще говоря, это стимулировало внимательное отношение к программе: не судорожные исправления в стиле "тык-тык", характерные при отладке на персоналке, а вылизывание кода перед отправкой. Однако нередко бывало так: ты все программы посмотрел, исправил, отдал колоды в операторскую ...и что прикажете делать теперь? Бесконечно "тереть" о летающих тарелках?
Игра в "клад" была идеальной для "офиса": все сидят на своих местах, у каждого на столе листок бумаги, который убрать "при атасе"- пара секунд. И никто ни у кого не может подглядеть. Мы дулись в неё минимум два года. А может, и больше: я уволился как раз через два года, а народ продолжал играть. Когда появились сети и персоналки, долго вынашивались планы сделать эту игру компьютерной и заодно свалить на программу ненавистную роль ведущего. Но, насколько я знаю, эти планы так и не были реализованы. А зря - классная была бы сетевая игра, этакий квест.
С нашей подачи игра стала гулять сначала по Академгородку, а потом по всему городу. Очень увлекались её старшеклассники и студенты, и сильно её модифицировали:
К чему я это рассказал? А чёрт его знает. "Клад" в то время был важной составляющей нашей жизни. Он в каком-то смысле повышал её качество, сильно потеснив банальный трёп с чаепитием и позволял держать программистскую (а точнее, интеллектуальную) форму в те долгие дни, когда Ес-ка не работала. Ну, а также я рассказал это в в глупой надежде - вдруг кто-то это прочитает, да и возродит игру, а то и сделает, например сетевой вариант.
© Алексей Бабий 2009