Архив метки: Игры

Как прятать ресурсы в Clash of Clans

Скорее всего я сейчас напишу хорошо известную всем игрокам в Clash of Clans вещь, но я додумался до неё сам, чем в данный момент очень горжусь.
Я стараюсь играть аккуратно и прежде чем переходить на следующий уровень ТХ повышаю все остальные постройки до максимума и провожу все доступные исследования. На это тратится просто огромное количество ресурсов, которые надо суметь скопить. Есть игроки, которые умеют успешно грабить чужие деревни, есть те, у кого получается создать безупречную оборону, а есть такие игроки как я. Атаки мои редко когда выходят в ноль и совсем редко приносят прибыль. Оборона несмотря на высокий уровень башен, пушек и мортир тоже так себе. Если в этом описании вы узнаёте себя, вам может пригодиться мой совет.

Мой совет довольно прост — прячьте ресурсы. Проще всего это делать, инвестируя в войска. Это наиболее ликвидный актив: в них очень легко вложиться и также легко получить деньги обратно.

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

"Элексирная" ёмкость

«Элексирная» ёмкость

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

День 10. Москва — Соловки — Москва

У меня есть много любимых стоянок, на самом деле я люблю почти все стоянки кроме совсем уж скучных городов вроде Бирска. Да и Бирск я люблю какой-то странной любовью. А не люблю я только одну стоянку: стоянку в Череповце. Но о ней чуть позже, так как она была поздно вечером.
Сначала я расскажу о развлекательной программе, которая была у нас на теплоходе. Обычно я о них не рассказываю, но на Плеханове это такая редкость, что не упомянуть я просто не могу. Нам показывали фокусы. Вы, верно, помните, что я ненавижу фокусы, т.к. фокусники внезапно становятся центром внимания, а я им завидую, хотя и знаю, что это плохо. В этот раз случай совсем другой: фокусы показывал Владимир Александрович (тот самый директор-экскурсовод). И скажу честно, он показывал их здорово! Некоторые фокусы я знал, но он показывал их настолько виртуозно, что я даже зная, на что смотреть не замечал обмана. Традиционно я ассистировал в некоторых простых фокусах, но рассказываю я вам это не для того, чтобы похвастаться. Я хочу рассказать вам о математических фокусах. по большому счёту это не фокусы, а просто игры. Есть нитка, на которой нанизано двадцать шариков, за ход можно снимать от одного до трёх шариков. Побеждает тот, кто оставит противнику последний шарик. Вторая игра похожа на первую, но в ей не одна нитка, а три, и на них нанизано семь, три и пять шариков соответственно. За ход можно снимать с одной любой нитки любое количество шариков. Победитель определяется аналогично. Для большинства из вас эти игры покажутся элементарными, но вы оцените уровень образования среднего туриста, который постоянные победы ведущего в этих играх считал чуть ли не магией.
Ну а теперь можно пару слов сказать и о Череповце. Это самый обычный промышленный город. Уникально в нём, пожалуй, только то, что он вдвое больше столицы края Вологды. Смотреть в городе по большому счёту нечего, но мы с Олегом не сразу оторвались от экскурсии. Олег хотел попасть в дом-музей Верещагина, но не потому что он любил Верещагина, а ради табуретки. Табуретка, разумеется, не простая: у неё вместо обычных деревянных ножек оленьи ножки. Лично я считаю эту табуретку омерзительной, но фотографию выложить обязан, чтобы и вы ужаснулись:
20130801-225110.jpg
Быстро пробежав по музею, мы отделились от группы и пошли искать памятник металлургам. В том году мы его уже фотографировали, но решили посмотреть много ли изменилось. Не изменилось ничего: в восемь вечера на улицах толпы пьяных людей. Сначала мы хотели это списать на пятничный вечер, но вовремя поняли, что была среда. Олег задумчиво повторил свою любимую фразу: «Смотри, Алёша, вот она Россия», — и мы пошли дальше. Площадь оказалась гораздо дальше, чем мы ожидали. Поэтому сфотографировав памятник в нескольких ракурсах, мы чуть ли не бегом отправились обратно на теплоход.
20130801-225315.jpg
Проблем добавила не совсем простая планировка города: по карте путь был прост, но на деле на дороге возникали заборы непонятного назначения. В конечном итоге на теплоход мы успели, но до отправления оставалось опасно мало времени.
Ну и традиционно о том, как ужасен Плеханов, вернее не Плеханов, а РечТурФлот в целом. У их теплохода по пути в Горицы отвалился винт! Я так понял, что поломка вызвана не ударом о какое-то препятствие, а просто износом теплохода. Сведения эти неточные, но, смотря на ржавые палубы Плеханова, я склонен в это верить. Даже не знаю, что хуже плыть на разваливающемся теплоходе РечТурФлота, или на каком-нибудь Шлиссербурге, где команда из-за задержек зарплат начала бастовать. Единственное, что я могу точно сказать, что на Чапаеве такого нет. И да, можете воспринимать это, как рекламу.

День 7. Москва — Пермь — Уфа — Москва

Если вы думаете, что единственное развлечение на теплоходе — это экскурсии, а в остальное время мы скучаем, вы сильно заблуждаетесь. Нас тут постоянно стараются развлекать: то концерт устроят, то викторину. Лично я по викторинам специализируюсь, но очень многие ходят на концерты, и многим даже нравится.
Сегодня у нас был день без экскурсий, поэтому развлекать нас старались по максимуму. Даже сделали тематический пиратский день. Утро началось с поисков клада. Пираты спрятали где-то на корабле клад, и сделали сложную систему подсказок: первая карта указывает на место хранения второй, вторая на третью, и т.д., и только последняя карта указывает непосредственно на место хранения клада. Я очень люблю игры такого рода, но играть в них с детьми совершенно невозможно. Стоило им только дать первую карту, как они сломя голову начали бегать по теплоходу. За ними не то, что успеть, а даже уследить сложно. Тем не менее, мы каким-то образом сумели найти все подсказки, и отыскали нашли клад. Пират спрятал самое дорогое, что у него было — бутылку шампанского. Детям шампанское не положено, поэтому вся бутылка досталась нам. Пить мы не стали, а просто сдали бутылку в бар на хранение, где она до сих пор и находится.
Следующим этапом безудержного веселья был поход в машинное отделение. Обычно в машинном отделении просто невыносимо: очень шумно, очень жарко и очень душно. Но в машинном отделении Чапаева было на удивление легко находиться. Связано это с тем, что на улице было прохладно, и через открытые иллюминаторы в машинное отделение входил прохладный воздух. Уровень шума тоже был значительно ниже, чем на других теплоходах, но этому есть очень простое объяснение: так как теплоход двухпалубный, ему достаточно всего двух двигателей.
20130702-004138.jpg
Перед ужином у нас всё-таки была двухчасовая стоянка в Чайковском, но она была без экскурсий. Мы просто немного прошлись по городу. Погуляли по набережной и, конечно, сфотографировались:
20130702-003951.jpg
На обратном пути у нас в этом городе снова будет стоянка, вот тогда я и расскажу о Чайковском подробнее. А пока коснёмся немного другого вопроса. В Чайковском время отличается от московского на +2 часа. В переводе часов нет ничего сложного, но меня, как программиста, интересует другой вопрос. Как должны приложения (особенно мобильные) реагировать на смену часового пояса. Если со списком звонков всё более или менее понятно, то оптимальное поведение планировщика до сих пор лично для меня является большим вопросом. Если у вас есть какие-то идеи на данную тему, буду рад комментариям.
Как вы поняли, развлечений у нас не особо много, контакт надоел, поэтому пришлось что-то придумывать самим. Есть, конечно, сёги, но долго в них играть не получается. Хотя в наших с Леной редких партиях иногда возникают очень интересные позиции:
ShogiTHTask
Но наиболее популярной парной игрой у нас сейчас является макровариант крестиков-ноликов. Впервые идею подобной игры я увидел на хабре. Насколько я помню, чётких правил игры там описано не было, поэтому ниже представлен мой вариант правил. Игра идёт на макрополе три на три макроклетки, где каждая макроклетка тоже состоит из простого поля три на три клетки. Т.е. макроклетка является простым полем для обычных крестиков-ноликов:
PoleMarcoXO
Если в макроклетке победили крестики, то и вся макроклетка считается крестиком. Если победили нолики, то макроклетка считается ноликом. В ситуации, когда в макроклетке ничья (т.е. заняты все клетки), крестики считают макроклетку крестиком, а нолики ноликом. Победителем в игре считается игрок, выигравший в крестики-нолики на макрополе. Сложной и интересной эту игру делает следующее правило: вы должны делать свой очередной ход в макроклетке, соответствующей полю, куда пошёл ваш противник. На рисунке красным показано поле, куда сходил ваш противник, и красным же обведена макроклетка, где должны ходить вы:
PoleMacroXOHod
В случае, если игра в макроклетке закончена, вы можете сделать ход в любую свободную ячейку. В основном мы играем именно по таким правилам (которые мы называем мягкими), есть и другие варианты правил, но я пока не хочу грузить вас этим. Лучше загружу задачкой из реальной партии (ход ноликов):
MacroXOZadacha

Морской бой

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

Правила игры

Существует множество вариантов морского боя, но мы с вами рассмотрим наиболее распространённый вариант со следующим набором кораблей:
Sea1 Все перечисленные корабли должны быть размещены на квадратном поле 10 на 10 клеток, при этом корабли не могут соприкасаться ни углами, ни сторонами. Само игровое поле нумеруется сверху вниз, а вертикали помечаются русскими буквами от «А» до «К» (при этом буквы «Ё» и «Й» пропускают).
Рядом рисуется вражеское поле аналогичного размера. При удачном выстреле по кораблю противника на соответствующей клетке вражеского поля ставится крестик и производится повторный выстрел, при неудачном выстреле в соответствующей клетке ставится точка, и ход переходит к противнику.

Оптимальная стратегия

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

Оптимальная стрельба

Первым и самым очевидным правилом оптимальной стрельбы является следующее правило: не стрелять по клеткам непосредственно окружающим уничтоженный корабль противника.
Sea3 В соответствии с принятыми выше обозначениями, на рисунке жёлтым отмечены те клетки, по которым уже были произведены безуспешные выстрелы, красным отмечены клетки, выстрелы по которым закончились попаданием, а зелёным отмечены клетки, стрельба по которым не производилась, но можно гарантировано утверждать, что кораблей в них нет (кораблей там быть не может, т.к. по правилам игры корабли не могут соприкасаться).
Из первого правила сразу вытекает второе: если вам удалось подбить вражеский корабль, необходимо сразу же его добить, чтобы как можно раньше получить список гарантировано свободных клеток.
Третье правило вытекает из первых двух: необходимо в первую очередь пытаться подбить самые крупные корабли противника. Возможно, для вас это правило не очевидно, но если немного подумать, то можно легко заметить, что уничтожив вражеский линкор, мы в лучшем случае получим информацию сразу о 14 гарантировано свободных клетках, а уничтожив крейсер, всего о 12.
Sea4 Т.о. оптимальную стратегию стрельбы можно свести к целенаправленному поиску и уничтожению самых крупных кораблей противника. К сожалению, сформулировать стратегию мало, необходимо предложить способ её реализации.
Для начала давайте рассмотрим участок игрового поля размером 4 на 4 клетки. Если в рассматриваемом участке есть вражеский линкор, то его гарантировано можно подбить не более чем за 4 выстрела. Для этого надо стрелять так, чтобы на каждой горизонтали и вертикали было ровно по одной проверенной клетке, ниже представлены все варианты такой стрельбы (без учёта отражений и поворотов).
Sea5 Среди всех этих вариантов, оптимальными на поле 10 на 10 клеток являются только первые два варианта, гарантирующие попадание в линкор максимум за 24 выстрела.
Sea6 После того, как уничтожен вражеский линкор, необходимо начинать поиск крейсеров, а затем и эсминцев. При этом, как вы уже догадались, можно воспользоваться аналогичной методикой. Только теперь необходимо разбивать поле на квадраты со стороной в 3 и 2 клетки соответственно.
Sea7 Если при поиске линкора вы использовали вторую стратегию, то для поиска крейсеров и эсминцев вам необходимо стрелять по следующим полям (зелёным отмечены поля, по которым вы уже стреляли при поиске линкора):
Sea8 Для поиска катеров оптимальной стратегии не существует, поэтому в конце игры приходится опираться в основном на удачу.

Оптимальное размещение кораблей

Оптимальная стратегия размещения кораблей в некотором смысле обратна оптимальной стратегии стрельбы. При стрельбе, мы пытались найти самые крупные корабли, чтобы сократить количество клеток, которые нужно проверять, за счёт гарантировано свободных клеток. Значит, при размещении корабли надо ставить таким образом, чтобы в случае их потери минимизировать количество гарантировано свободных клеток. Как вы помните, линкор в центре поля открывает для противника сразу 14 полей, но линкор, стоящий в углу, открывает для противника всего 6 полей:
Sea9 Аналогично, крейсер, стоящий в углу, вместо 12 полей открывает всего 6. Т.о., разместив крупные корабли вдоль границы поля, вы оставляете больший простор для катеров. Т.к. стратегии для поиска катеров нет, противнику придётся стрелять наугад, и чем больше свободных полей у вас останется к моменту ловли катеров, тем тяжелее будет выиграть противнику.
Ниже представлено три способа размещения крупных кораблей, которые оставляют большой простор для катеров (отмечено синим):
Sea10 Каждая из приведённых расстановок оставляет для катеров ровно 60 свободных клеток, а это значит, что вероятность случайно попасть в катер составляет 0,066. Для сравнения стоит привести случайную расстановку кораблей:
Sea11 При такой расстановке для катеров остаётся всего 21 клетка, а это значит, что вероятность попадания по катеру составляет уже 0,19, т.е. почти в 3 раза выше.

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

Телевидение и журналисты

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

Вторая история, связанная с телевидением, произошла уже со мной лично. В рамках турнира Moscow Open — 2013 проходил турнир по сёги. Этот турнир приехала снимать целая телевизионная группа. Так уж получилось, что оператор выбрал мою партию. К счастью, когда они начали снимать, партия подходила к концу, и я убедительно выигрывал. Но после того, как противник сдался, оператор попросил нас ещё немного подвигать фигурки, на камеру, более того, он просил двигать фигурки даже после того, как был съеден король. Я с ужасом думаю, что подумает человек, умеющий играть в сёги, увидев этот репортаж.

IMG_0003

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

К чему я всё это рассказываю? Да к тому, что не стоит накидыватсья на молодых программистов, которым не повезло засветиться на ТВ.