Archive for the ‘Uncategorized’ Category

Up

by Pavel on Thursday, November 6th, 2008

Поднял блог и форум, так успешно “убитые” братьями китайцами :(

Deneb server bot API

by Pavel on Tuesday, April 22nd, 2008

Бот должен быть консольным приложением. Ввод/вывод через стандартные потоки ввода/вывода. Все вещественные числа приводятся к целому путем умножения на 100. Т.е. $2.50 передается в виде 250 Бот должен поддерживать следующий список команд

newfixlimit 9 7     // fix limit, за столом 9 игроков, мы на 7 позиции
newpotlimit 9 7     // pot limit
newnolimit 9 7      // no limit
blinds 25 50        // small blind $0.25, big blind $0.50
player 1 Bluffer    // имя первого игрока
player 2 Caller17   // имя второго
player 3 HotDog
stack 1 1000        // стек первого игрока $10
stack 2 100         // стек второго $1
blind 1 25          // игрок на sb платит блайнд
blind 2 50          // игрок на bb платит блайнд
blind 5 50          // пятый платит большой блайнд так как сел за стол
preflop Kd Jd       // на префлопе нам пришли бубновые король и валет
flop Qd 2h Td       // флоп
turn 6с             // терн
river Ks         // ривер
seatout 3        // третий вышел
fold 3           // третий упал
check 3          // третий чекнул
call 4 50        // четвертый коллирует до $0.50
raise 4 100      // четвертый делает raise до $1.00
showdown 7 Ad Ac // седьмой показывает карты
win 7 500        // седьмой выиграл $5.00
endgame          // игра закончена
quit             // выход 

action           // единственная команда на которую бот должен отвечать.
                 //Возможные ответы fold check call raise

Тут выложил проект C# с простейшим консольным ботом аналогичному SimplePlayer.dll
Подключение бота к серверу производится аналогично подключению Fisher.exe

  1. В директории Bots создается конфигурционный файл SimpleConsole.xml со следующим содержимым:

    <?xml version=1.0encoding=utf-8?>
    <
    ConsoleBot>
      <
    Executable>
        <
    FilePath>C:\Deneb\Bots\SimpleConsoleBot.exe</FilePath>
        <
    Arguments></Arguments>
        <
    WorkingDirectory>C:\Deneb\Bots</WorkingDirectory>
      </
    Executable>

      <Logging enable=true>
        <
    FilePath>C:\Deneb\Bots\SimpleConsoleBot.exe</FilePath>
      </
    Logging>
    </
    ConsoleBot>

  2. В конфигурационном файле сервера (Deneb.exe.config) добавляем или изменяем существующего игрока в виде:

    <seat position=2screenName=C# botbotName=ConsolesettingsFile=SimpleConsole.xml/>

    обратите внимание что бы значение position было уникально в пределах конфига.

  3. Копируем SimpleConsoleBot.exe в директорий Bots.

Перед этим не забудьте проапдейтить Deneb.rar

Deneb Server is public

by Pavel on Thursday, March 6th, 2008

Deneb Server является Windows приложением и позволяет писать и тестировать bots для игры Texas Holdem Poker. Более подробное описание можно найти тут.

Exam. 70-431

by Pavel on Wednesday, May 16th, 2007

Хотя я довольно скептически отношусь к сертификации от MS, после многочисленных “пожеланий” и уговариваний со стороны шефа, сдал сегодня экзамен 70-431 (Microsoft SQL Server 2005 Implementation & Maintenance). К которому усиленно готовился последние несколько дней. Прочитал 2 толстенные книги посвященные этому экзамену: первая от Microsoft Press и вторая от Sybex.

В отличии от экзаменов которые я сдавал до сих пор, этот был разбит на две части. Первая часть - это чистая теория (30 вопросов) и вторая часть практическая – 15 simulations. Поскольку с MS SQL 2005 я сталкиваюсь по работе чуть ли не каждый день, то особых трудностей не возникло. Единственное, что меня довольно прикололо, так это тот факт, что все практические задания были из серии “wizard walking”. Сплошное ползание по SQL SMS и кликание чекбоксов, притом что в книге от MS практически ни одного слова о визардах и все примеры делаются в консоли.

Таким образом к моему “портфолио” добавляется еще одна лычка от MS и судя по довольному начальству это не будет моя последняя.

DenebChart

by Pavel on Sunday, May 6th, 2007

Начал экспериментировать над ботами. Тут же возник вопрос – каким образом оценивать эффективность изменений? Гора цифр является плохим наглядным пособием :(
Попробовал импортировать логи в РТ, затем левыми тулзами получать графики. Через некоторое время бросил это занятие – то тулзы не понимали формат базы данных РТ, то надо было экспортировать данные в нужном формате. Много телодвижений вокруг элементарной цели.
Поэтому решил на скорую руку написать тулзу для построения графиков, по своим логам. Через пару часов получился следующий результат:

 

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

100 Hands

by Pavel on Monday, April 30th, 2007

Сегодня выкроил немного времени и отладил batch режим, причесал history к виду, который может быть импортирован poker tracker’ом для дальнейшего анализа. Хотя на данный момент анализировать пока нечего :)

Итак, представляю вашему вниманию!
В синем углу – 3 маньяка (Maniac1, Maniac2, Maniac3). Вся их тактика состоит в постоянном увеличении ставки и call при невозможности поднять ставку. В красном углу – 3 simple player (player3, player3, Simple player) и игрок (Check1) который платит блайнды и при любом повышении ставки (в данном случае, при наличии маньяков, это происходит постоянно постоянно) делает фолд.
Simple player на префлопе играет высокими парами на рейз, мелкими парами а также suited connectors (ну и еще пара комбинаций) коллт.
После разыгранных 100 рук видим следующую картину:

Main window 

Все остались “при своих”. Даже чекер (Check1) и тот слил меньше, чем Simple player :)

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

I’m back

by Pavel on Wednesday, April 11th, 2007

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

Windows Live Writer

by Pavel on Thursday, November 30th, 2006

Ради эксперимента проинсталлировал Windows Live Writer. Без проблем “подцепился” к своему блогу.

Не смотря на то, что программа находится в бета стадии, все работает вполне стабильно. Кроме этого написано уже довольно большое количество “ништяков”, т.е плагинов. Один их них довольно прилично расскрашивает исходный код:

private void OnElementChanged(BaseElement element)
{
   if (m_LayoutPage != null)
   {
      if (m_NodeMap.ContainsKey(element.InternalID))
      {
         Row _row = (Row)m_NodeMap[element.InternalID];
         RefreshElementItem(_row, element);
      }
   }
}

Hello world!

by Pavel on Friday, August 4th, 2006

Первый пост. Посмотрим как воспринимается русский язык.