четверг, сентября 10, 2009

Монополия на карте мира

Многие из нас в детстве играли, а некоторые и во взрослом возрасте продолжают играть, в настольные игры. Моей последней настольной игрой была ClueDo. Оригинальная игра... Чем-то напоминает "Быки и Коровы", но для троих и более человек. Вдвоём в неё играть неинтересно.



Но наверное классикой, гениальной в своей простоте была и остаётся Монополия. Переставляешь фишки, покупаешь улицы... Сидишь в тюрьме.



Теперь можно поиграть в эту игру в интернете. И не просто, а на настоящей карте. Можно купить свою улицу. Кажется, можно даже в Google ScetchUp нарисовать здание и разместить его на карте. Признаться я об этом даже не мечтал.



Начать играть и правила очень просты.
Вы заходите по ссылке - http://www.monopolycitystreets.com/ и выбираете язык.
Дальше вам будет предложено найти улицу. Ищите те которые ещё не куплены (принадлежат банку) - фиолетовые. Синие улицы уже принадлежат другим игрокам - с ними вы разберётесь позже.



При клике на свободную улицу вас попросят зарегистрироваться. Тут я допустил ошибку... Моя первая улица была в Питере и теперь в моём игровом профиле значится что я от туда. Но по сути это ничего не меняет - покупать можно по всему миру (с небольшими ограничениями, смотрите FAQ - http://docs.google.com/View?id=dfzghp76_3f3s5b6gr)
Итак, улица куплена и она уже будет приносить вам доход. Каждые 24 часа с момента создания вашего игрового профиля вам будет начисляться арендная плата. Что бы начислялось больше - покупайте более популярные улицы. Что бы начислялось ещё больше - постройте на улице здания.



Но просто ставить фишки было бы скучно... И тут выходи на арену противостояние с другими игроками.



Во-первых можно сделать предложение другому игроку о покупке его улицы. Естественно он может отказать. НО! Если он не ответит отказом на ваше предложение в течении 7 дней, то предложение автоматически удовлетворится. Так что заходите в игру хотя бы раз в 7 дней.


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


Второе, и это, наверное, самое "вкусное" - вы можете саботировать чужие улицы. Для этого используется либо уже известная карточка бульдозера. Или другая карта Hazard, которая даёт возможность постройки на улице электростанции, тюрмы или очистного сооружения. Здания hazard-типа примечательны тем что с момента их постройки улица перестаёт приносить доход. мило :)


Но и это ещё не всё! От подобных нападок можно защититься с помощью зданий типа Bonus. Они так же строятся с помощью Chance card. Это стадион, парк и... В правилах какая-то ошибка, но третье здание напоминает больницу. Не суть важно как здание называется, главное оно нейтрализует эффект hazard-сооружений!


Получается практически классические камень-ножницы-бумага. Можно построить у себя bonus-здание, а можно снести его у конкурента с помощью бульдозера. Но и он может у вас убрать это здание. А можно нагадить конкуренту и построить у него тюрьму. Но если у него есть bonus-здания или карточка бульдозера, то эффекта можно не получить. И так далее.



Вобщем всех ждём в игре!



РАСХВАТЫВАЙТЕ УЛИЦЫ ПОКА НЕЗАНЯТЫ!!! :)



Да, и самое главное. Игра безбожно тормозит! Будем надеяться что через пару дней наладится.

вторник, июля 21, 2009

Осторожно, мошенничество!

Ни глупость человеческая, ни жадность, ни наглость не имеют границ... Как роза на навозе на всем этом расцветают мошенничества. В частности в интернете.
По моим наблюдениям сейчас одним из самых популярных, сравнительно честном отъеме денег у населения является sms-мошенничество.
Схема примерно такая. На сайте делается некая замануха. Например вам говорят что предоставят вам доступ за символическую плату - 6 рублей за sms. Или же, давя на чуство благородства, еще бы, как легко почуствовать себя щедрым за 6 рублей, говорят что часть денег пойдет на благотворительность.
Но суть одна - застваить отправить смс, на кототкий номер, утверждая что цена смехотворна. Вот только на проверку оказывается что со счета списали не 6, а в лучшем случае 106. Уже не такая смехотворная сумма...
Самый простой способ защититься - вбить в том же гугле предлагаемый короткий номер и посмотреть реальную стоимость.

Например сайт http://million123.ru/index.php. Тупейшие первые вопросы заставляют поверить в свое всемогущество. Но после пятого вопроса предлагают отправить смс стоимостью всего 6 рублей. Первая ссылка в гугле ведет на сайт где можно сполна почитать про то что и сколько стоит.

четверг, февраля 19, 2009

Perl - Проверка email регулярным выражением

Задался тут целью выловить таки в присылаемых мне списках некорректные адреса электронной почты. Идя по пути наименьшего сопротивления, обратился в гугл. От туда на форум Opennet.ru. И уже от туда на, как оказалось, замечательный сайт посвященный регулярным выражениям.
Совсем немного времени и в моём распоряжении регулярное выражение для валидации адресов электронной почты. Ещё капелька усилий и имеем скрипт для вывода email, не проходящих проверку.

#!D:\Perl\bin\perl.exe
use strict;
use warnings;
# открываем файл с адресами
open (my $emailh, 'emails.csv') or die $!;
# считываем построчно в переменную "по-умолчанию" $_
while (<$emailh>) {
# "магия" начинается тут.
# если считанная строка не проходит проверку, то выводим её на экран  
print if ($_ !~ m{(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])}i)
}
# закрываем файл
close $emailh;

Что удивительно - скрипт отработал как надо. За исключением одного момента. Скрипт, вернее само регулярное выражение, почему-то забраковало адрес вида xxx@mtu_net.ru
Надо почитать что там в официальном стандарте говорится об этом.

среда, февраля 18, 2009

Облако тегов на blogspot

Пока было мало ярлыков то как-то не напрягало их присутсвие с боку в виде списка. Потом количество ярлыков выросло, и длинная колбаса стала смотреться несколько нелепо - пришлось убрать. Но всё же не давала покоя мысль вернуть её на место. Решение - "облако тегов" (или ярлыков, кому как больше нарвится).
Поиск в гугле первой выдал ссылку на блог Юзер фрэндли и его отзыв о том как прикрутить облако.
Переходим по его ссылке на перевод статьи как сделать облако тегов для blogspot
А дальше просто следуем инструкциям. Элементарное Ctrl+c, Ctrl+v.
Наслаждаемся.

вторник, февраля 17, 2009

Успеть или Опаздать

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

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


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

Я собираюсь на свидание с ней, понимаю что опаздываю и начинаю спешить собираться.


Собственно это и есть сон. Но о чём он? Изначально я подумал что он к тому что я могу что-то пропустить в наших с ней отношениях, что из-за возникающих проволочек я могу упустить время. Но потом меня осенило. Ведь сон не о том что я опаздываю, а о том что я спешу, то есть тороплю события.
Жизнь подтвердила. Предоставив событиям развиваться как они есть я узнал что этот человек, мягко говоря, не тот кто мне нужен.

Perl - перемещение файлов по подкаталогам

Сегодня, думаю запощу сразу два поста. "Запощу пост"... Мда, новые времена - повые тафтологии.


Первое обращение посвящено тем кто хочет посмотреть для чего можно использовать Perl. Недавно начал смотреть что это за язык такой. Должен сказать - впечатляет. Условный оператор unless, модификаторы операторов... Весьма, весьма.


Но перейдём к делу. Была у меня папка в которой лежало весьма приличное количество файлов - 6700+ штук. И все они лежали в одной папке. То что это не нравилось наутилусу - мягко сказано. Решил раскидать файлы по подкаталогам. Причём так что имя подкаталога должно начинаться с порядкового номера файла, потом дефис и порядковый номер последнего файла. Все эти "порядковые номера", естественно, относительно их изначальной индексации в каталоге.


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


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


Одно малюсенькое змечание - код писался в Vim, а затем с помощью же Vim'а экспортировался в HTML.



#!/usr/bin/perl
use strict;
use warnings;
my @files;
# открываем директорию
opendir(my $sdir, '.') or die($!);
# и считываем все файлы исключая файл-скрипт в массив
@files = grep { -f && !/move_files\.pl/} readdir $sdir;
&move_file(\@files);
# этим будем двигать файлы
sub move_file() {
  # номер итерации
  my $n = 0;
  # количество перемещаемых файлов
  my $offset = 128;
  # получаем ссылку на массив с файлами
  my $files = shift;
  # обходим массив с файлами, передвигаясь на число перемещаемых файлов
  for (my $i=0; $i<$#{$files}; $i+=$offset, $n++) {
    # начальный индекс для среза - ниндекс
    my $start = $n*$offset;
    # конечный индекс для среза - киндекс
    # если вычисляемый киндекс больше последнего индекса, то устанавливаем киндекс на последний элемент,
    # в противном случае используем вычисляемый киндекс
    my $end = (($start+$offset-1)>$#{$files)?($#{$files}):$start+$offset-1;
    # делаем срез для массива файлов
    my @move = @$files[$start..$end];
    # создаём директорию куда переместим файлы
    my $dir = sprintf("%03d-%03d", $start, $end);
    mkdir($dir, 0766) or die($!);
    # переименовываем каждый элемент
    foreach (@move) {
      rename($_, $dir.'/'.$_) or die($!);
    }
  }
}

четверг, февраля 05, 2009

День когда мёртвые умрут

Очередной компот из сновидений готов к публикации. Снова приснились деньги. Собирал мелочь, а значит это к слезам. Была ещё бабушка моей жены, какие-то серёжки и колечки, но всё это так, как я сказал выше - мелочь. Интересное приснилось в самом конце.
Мне приснился фильм... Вот только до конца я его не досмотрел, но "сдаётся мне что это была комедия". Фильм назывался "Day when dead die". Можно сказать что это пародия на "Шестое чувство".

Начинается всё с того что показывают толпы покойников. По всем законам жанра они выглядят не лучшим образом. Да и обстановка вокруг них не располагает к отдыху - огонь, камни, неизвестно от куда летящие стрелы.
Дальше количество мёртвых на долю экрана уменьшается и показывают магазин, в котором среди обычных людей, живых, ходят с тележками призраки. И надо же было найтись человеку, который видит мёртвых. Мало того что он их видит, так он ещё и заявляет об этом, нанося на стены надпись типа I.F.Y. - I Feel You (привет Vader) и I.S.U. - I See You (привет умершей аське). Обычных людей его поведение раздражает и, в частности его супруга, просит что бы он прекратил или по крайней мере перестал так себя вести при ребёнке. А вот мёртвых подобное реально пугает - их кто-то видит чего быть не должно.
Ещё был момент когда главный герой видит в магазине девочку-призрак с продуктовой тележкой, начинает кричать что видит её, чем пугает не только её, но и своего сына.
Дальше появляется второй главный герой. Сотрудник ФБР, который занимается подобными "видениями" потому как сам видит мёртвых и уже давно знает что существует целый город мёртвых, который находится под угрозой из-за какого-то строительства. Видимо при строительстве найдут "кладбище", все тела перезахоронят как положено и мёртвые успокоятся чего они, собственно, не горят желанием делать.
Дальнейший сон потерялся в отрывках. Агент ФБР бежит с главным героем по рельсам и их чуть не сбивает поезд, они видят целые составы-призраки. Когда любая вещь "умирает", то становится достоянием призраков. За это отдельный привет Терри Пратчетту, в частности произведению Мрачный Жнец.
В общем вот такой сон про мёртвых.