mirror of
https://github.com/AlekseyLobanov/AlekseyLobanov.github.io.git
synced 2026-01-11 12:42:01 +03:00
Some menu changes and added ChessBot article
This commit is contained in:
@@ -30,6 +30,8 @@
|
||||
<h1>Archives for Блог 529</h1>
|
||||
|
||||
<dl>
|
||||
<dt>Вс. 10 Январь 2016</dt>
|
||||
<dd><a href="./posts/kak-ia-shakhmatnogo-bota-pisal/">Как я шахматного бота писал</a></dd>
|
||||
<dt>Вс. 02 Август 2015</dt>
|
||||
<dd><a href="./posts/crossgen-v10/">CrossGen v1.0</a></dd>
|
||||
<dt>Пт. 17 Июль 2015</dt>
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
@@ -50,6 +50,20 @@
|
||||
</footer></header>
|
||||
<div id="post-container">
|
||||
<ol id="post-list">
|
||||
<li>
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
<time class="post-time" datetime="2016-01-10T13:35:00+03:00" pubdate>
|
||||
Вс. 10 Январь 2016
|
||||
</time>
|
||||
<a href="../posts/kak-ia-shakhmatnogo-bota-pisal/" rel="bookmark"><h1>Как я шахматного бота писал</h1></a>
|
||||
</header>
|
||||
<section class="post-content">
|
||||
<p>Как я проверял шахматное приложение на “ботоустойчивость”.</p>
|
||||
</section>
|
||||
</article>
|
||||
</li>
|
||||
<hr/>
|
||||
<li>
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<div id="wrapper">
|
||||
<h1>Authors on Блог 529</h1>
|
||||
|
||||
<ul> <li><a href="./author/aleksei-lobanov.html">Алексей Лобанов</a> (4)</li>
|
||||
<ul> <li><a href="./author/aleksei-lobanov.html">Алексей Лобанов</a> (5)</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
@@ -50,6 +50,20 @@
|
||||
</footer></header>
|
||||
<div id="post-container">
|
||||
<ol id="post-list">
|
||||
<li>
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
<time class="post-time" datetime="2016-01-10T13:35:00+03:00" pubdate>
|
||||
Вс. 10 Январь 2016
|
||||
</time>
|
||||
<a href="../posts/kak-ia-shakhmatnogo-bota-pisal/" rel="bookmark"><h1>Как я шахматного бота писал</h1></a>
|
||||
</header>
|
||||
<section class="post-content">
|
||||
<p>Как я проверял шахматное приложение на “ботоустойчивость”.</p>
|
||||
</section>
|
||||
</article>
|
||||
</li>
|
||||
<hr/>
|
||||
<li>
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Блог 529</title><link href="http://likemath.ru/" rel="alternate"></link><link href="http://likemath.ru/feeds/all.atom.xml" rel="self"></link><id>http://likemath.ru/</id><updated>2015-11-22T23:41:00+03:00</updated><entry><title>CrossGen v1.0</title><link href="http://likemath.ru/posts/crossgen-v10/" rel="alternate"></link><updated>2015-08-04T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</id><summary type="html"><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></summary><category term="проект"></category><category term="c++"></category><category term="wxWidgets"></category></entry><entry><title>Моё решение задачи 60</title><link href="http://likemath.ru/posts/moio-reshenie-zadachi-60/" rel="alternate"></link><updated>2015-11-22T23:41:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-17:posts/moio-reshenie-zadachi-60/</id><summary type="html"><p>Краткое условие: необходимо найти множество из пяти простых чисел с минимальной суммой такое, что после &#8220;склеивания&#8221; в любом порядке любых двух чисел из него тоже будет простое&nbsp;число.</p></summary><category term="Project Euler"></category><category term="c++"></category><category term="BGL"></category></entry><entry><title>Ещё одно вычисление выражений</title><link href="http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/" rel="alternate"></link><updated>2015-07-03T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</id><summary type="html"><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></summary><category term="проект"></category></entry><entry><title>Мой первый пост</title><link href="http://likemath.ru/posts/moi-pervyi-post/" rel="alternate"></link><updated>2015-04-17T13:35:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-04-17:posts/moi-pervyi-post/</id><summary type="html"><p>Кратко о том, почему я сделал&nbsp;блог.</p></summary><category term="блог"></category></entry></feed>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Блог 529</title><link href="http://likemath.ru/" rel="alternate"></link><link href="http://likemath.ru/feeds/all.atom.xml" rel="self"></link><id>http://likemath.ru/</id><updated>2016-01-10T13:35:00+03:00</updated><entry><title>Как я шахматного бота писал</title><link href="http://likemath.ru/posts/kak-ia-shakhmatnogo-bota-pisal/" rel="alternate"></link><updated>2016-01-10T13:35:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2016-01-10:posts/kak-ia-shakhmatnogo-bota-pisal/</id><summary type="html"><p>Как я проверял шахматное приложение на&nbsp;&#8220;ботоустойчивость&#8221;.</p></summary><category term="проект"></category><category term="шахматы"></category><category term="бот"></category></entry><entry><title>CrossGen v1.0</title><link href="http://likemath.ru/posts/crossgen-v10/" rel="alternate"></link><updated>2015-08-04T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</id><summary type="html"><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></summary><category term="проект"></category><category term="c++"></category><category term="wxWidgets"></category></entry><entry><title>Моё решение задачи 60</title><link href="http://likemath.ru/posts/moio-reshenie-zadachi-60/" rel="alternate"></link><updated>2015-11-22T23:41:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-17:posts/moio-reshenie-zadachi-60/</id><summary type="html"><p>Краткое условие: необходимо найти множество из пяти простых чисел с минимальной суммой такое, что после &#8220;склеивания&#8221; в любом порядке любых двух чисел из него тоже будет простое&nbsp;число.</p></summary><category term="Project Euler"></category><category term="c++"></category><category term="BGL"></category></entry><entry><title>Ещё одно вычисление выражений</title><link href="http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/" rel="alternate"></link><updated>2015-07-03T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</id><summary type="html"><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></summary><category term="проект"></category></entry><entry><title>Мой первый пост</title><link href="http://likemath.ru/posts/moi-pervyi-post/" rel="alternate"></link><updated>2015-04-17T13:35:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-04-17:posts/moi-pervyi-post/</id><summary type="html"><p>Кратко о том, почему я сделал&nbsp;блог.</p></summary><category term="блог"></category></entry></feed>
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Блог 529</title><link>http://likemath.ru/</link><description>Project Euler и остальное</description><atom:link href="http://likemath.ru/feeds/all.rss.xml" rel="self"></atom:link><lastBuildDate>Sun, 22 Nov 2015 23:41:00 +0300</lastBuildDate><item><title>CrossGen v1.0</title><link>http://likemath.ru/posts/crossgen-v10/</link><description><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Tue, 04 Aug 2015 17:40:00 +0300</pubDate><guid>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</guid><category>проект</category><category>c++</category><category>wxWidgets</category></item><item><title>Моё решение задачи 60</title><link>http://likemath.ru/posts/moio-reshenie-zadachi-60/</link><description><p>Краткое условие: необходимо найти множество из пяти простых чисел с минимальной суммой такое, что после &#8220;склеивания&#8221; в любом порядке любых двух чисел из него тоже будет простое&nbsp;число.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Sun, 22 Nov 2015 23:41:00 +0300</pubDate><guid>tag:likemath.ru,2015-07-17:posts/moio-reshenie-zadachi-60/</guid><category>Project Euler</category><category>c++</category><category>BGL</category></item><item><title>Ещё одно вычисление выражений</title><link>http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/</link><description><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Fri, 03 Jul 2015 17:40:00 +0300</pubDate><guid>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</guid><category>проект</category></item><item><title>Мой первый пост</title><link>http://likemath.ru/posts/moi-pervyi-post/</link><description><p>Кратко о том, почему я сделал&nbsp;блог.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Fri, 17 Apr 2015 13:35:00 +0300</pubDate><guid>tag:likemath.ru,2015-04-17:posts/moi-pervyi-post/</guid><category>блог</category></item></channel></rss>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Блог 529</title><link>http://likemath.ru/</link><description>Project Euler и остальное</description><atom:link href="http://likemath.ru/feeds/all.rss.xml" rel="self"></atom:link><lastBuildDate>Sun, 10 Jan 2016 13:35:00 +0300</lastBuildDate><item><title>Как я шахматного бота писал</title><link>http://likemath.ru/posts/kak-ia-shakhmatnogo-bota-pisal/</link><description><p>Как я проверял шахматное приложение на&nbsp;&#8220;ботоустойчивость&#8221;.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Sun, 10 Jan 2016 13:35:00 +0300</pubDate><guid>tag:likemath.ru,2016-01-10:posts/kak-ia-shakhmatnogo-bota-pisal/</guid><category>проект</category><category>шахматы</category><category>бот</category></item><item><title>CrossGen v1.0</title><link>http://likemath.ru/posts/crossgen-v10/</link><description><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Tue, 04 Aug 2015 17:40:00 +0300</pubDate><guid>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</guid><category>проект</category><category>c++</category><category>wxWidgets</category></item><item><title>Моё решение задачи 60</title><link>http://likemath.ru/posts/moio-reshenie-zadachi-60/</link><description><p>Краткое условие: необходимо найти множество из пяти простых чисел с минимальной суммой такое, что после &#8220;склеивания&#8221; в любом порядке любых двух чисел из него тоже будет простое&nbsp;число.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Sun, 22 Nov 2015 23:41:00 +0300</pubDate><guid>tag:likemath.ru,2015-07-17:posts/moio-reshenie-zadachi-60/</guid><category>Project Euler</category><category>c++</category><category>BGL</category></item><item><title>Ещё одно вычисление выражений</title><link>http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/</link><description><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Fri, 03 Jul 2015 17:40:00 +0300</pubDate><guid>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</guid><category>проект</category></item><item><title>Мой первый пост</title><link>http://likemath.ru/posts/moi-pervyi-post/</link><description><p>Кратко о том, почему я сделал&nbsp;блог.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Fri, 17 Apr 2015 13:35:00 +0300</pubDate><guid>tag:likemath.ru,2015-04-17:posts/moi-pervyi-post/</guid><category>блог</category></item></channel></rss>
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Блог 529</title><link href="http://likemath.ru/" rel="alternate"></link><link href="http://likemath.ru/feeds/feed.atom.xml" rel="self"></link><id>http://likemath.ru/</id><updated>2015-11-22T23:41:00+03:00</updated><entry><title>CrossGen v1.0</title><link href="http://likemath.ru/posts/crossgen-v10/" rel="alternate"></link><updated>2015-08-04T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</id><summary type="html"><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></summary><category term="проект"></category><category term="c++"></category><category term="wxWidgets"></category></entry><entry><title>Моё решение задачи 60</title><link href="http://likemath.ru/posts/moio-reshenie-zadachi-60/" rel="alternate"></link><updated>2015-11-22T23:41:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-17:posts/moio-reshenie-zadachi-60/</id><summary type="html"><p>Краткое условие: необходимо найти множество из пяти простых чисел с минимальной суммой такое, что после &#8220;склеивания&#8221; в любом порядке любых двух чисел из него тоже будет простое&nbsp;число.</p></summary><category term="Project Euler"></category><category term="c++"></category><category term="BGL"></category></entry><entry><title>Ещё одно вычисление выражений</title><link href="http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/" rel="alternate"></link><updated>2015-07-03T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</id><summary type="html"><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></summary><category term="проект"></category></entry><entry><title>Мой первый пост</title><link href="http://likemath.ru/posts/moi-pervyi-post/" rel="alternate"></link><updated>2015-04-17T13:35:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-04-17:posts/moi-pervyi-post/</id><summary type="html"><p>Кратко о том, почему я сделал&nbsp;блог.</p></summary><category term="блог"></category></entry></feed>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Блог 529</title><link href="http://likemath.ru/" rel="alternate"></link><link href="http://likemath.ru/feeds/feed.atom.xml" rel="self"></link><id>http://likemath.ru/</id><updated>2016-01-10T13:35:00+03:00</updated><entry><title>Как я шахматного бота писал</title><link href="http://likemath.ru/posts/kak-ia-shakhmatnogo-bota-pisal/" rel="alternate"></link><updated>2016-01-10T13:35:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2016-01-10:posts/kak-ia-shakhmatnogo-bota-pisal/</id><summary type="html"><p>Как я проверял шахматное приложение на&nbsp;&#8220;ботоустойчивость&#8221;.</p></summary><category term="проект"></category><category term="шахматы"></category><category term="бот"></category></entry><entry><title>CrossGen v1.0</title><link href="http://likemath.ru/posts/crossgen-v10/" rel="alternate"></link><updated>2015-08-04T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</id><summary type="html"><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></summary><category term="проект"></category><category term="c++"></category><category term="wxWidgets"></category></entry><entry><title>Моё решение задачи 60</title><link href="http://likemath.ru/posts/moio-reshenie-zadachi-60/" rel="alternate"></link><updated>2015-11-22T23:41:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-17:posts/moio-reshenie-zadachi-60/</id><summary type="html"><p>Краткое условие: необходимо найти множество из пяти простых чисел с минимальной суммой такое, что после &#8220;склеивания&#8221; в любом порядке любых двух чисел из него тоже будет простое&nbsp;число.</p></summary><category term="Project Euler"></category><category term="c++"></category><category term="BGL"></category></entry><entry><title>Ещё одно вычисление выражений</title><link href="http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/" rel="alternate"></link><updated>2015-07-03T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</id><summary type="html"><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></summary><category term="проект"></category></entry><entry><title>Мой первый пост</title><link href="http://likemath.ru/posts/moi-pervyi-post/" rel="alternate"></link><updated>2015-04-17T13:35:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-04-17:posts/moi-pervyi-post/</id><summary type="html"><p>Кратко о том, почему я сделал&nbsp;блог.</p></summary><category term="блог"></category></entry></feed>
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Блог 529</title><link>http://likemath.ru/</link><description>Project Euler и остальное</description><atom:link href="http://likemath.ru/feeds/feed.rss.xml" rel="self"></atom:link><lastBuildDate>Sun, 22 Nov 2015 23:41:00 +0300</lastBuildDate><item><title>CrossGen v1.0</title><link>http://likemath.ru/posts/crossgen-v10/</link><description><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Tue, 04 Aug 2015 17:40:00 +0300</pubDate><guid>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</guid><category>проект</category><category>c++</category><category>wxWidgets</category></item><item><title>Моё решение задачи 60</title><link>http://likemath.ru/posts/moio-reshenie-zadachi-60/</link><description><p>Краткое условие: необходимо найти множество из пяти простых чисел с минимальной суммой такое, что после &#8220;склеивания&#8221; в любом порядке любых двух чисел из него тоже будет простое&nbsp;число.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Sun, 22 Nov 2015 23:41:00 +0300</pubDate><guid>tag:likemath.ru,2015-07-17:posts/moio-reshenie-zadachi-60/</guid><category>Project Euler</category><category>c++</category><category>BGL</category></item><item><title>Ещё одно вычисление выражений</title><link>http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/</link><description><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Fri, 03 Jul 2015 17:40:00 +0300</pubDate><guid>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</guid><category>проект</category></item><item><title>Мой первый пост</title><link>http://likemath.ru/posts/moi-pervyi-post/</link><description><p>Кратко о том, почему я сделал&nbsp;блог.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Fri, 17 Apr 2015 13:35:00 +0300</pubDate><guid>tag:likemath.ru,2015-04-17:posts/moi-pervyi-post/</guid><category>блог</category></item></channel></rss>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Блог 529</title><link>http://likemath.ru/</link><description>Project Euler и остальное</description><atom:link href="http://likemath.ru/feeds/feed.rss.xml" rel="self"></atom:link><lastBuildDate>Sun, 10 Jan 2016 13:35:00 +0300</lastBuildDate><item><title>Как я шахматного бота писал</title><link>http://likemath.ru/posts/kak-ia-shakhmatnogo-bota-pisal/</link><description><p>Как я проверял шахматное приложение на&nbsp;&#8220;ботоустойчивость&#8221;.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Sun, 10 Jan 2016 13:35:00 +0300</pubDate><guid>tag:likemath.ru,2016-01-10:posts/kak-ia-shakhmatnogo-bota-pisal/</guid><category>проект</category><category>шахматы</category><category>бот</category></item><item><title>CrossGen v1.0</title><link>http://likemath.ru/posts/crossgen-v10/</link><description><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Tue, 04 Aug 2015 17:40:00 +0300</pubDate><guid>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</guid><category>проект</category><category>c++</category><category>wxWidgets</category></item><item><title>Моё решение задачи 60</title><link>http://likemath.ru/posts/moio-reshenie-zadachi-60/</link><description><p>Краткое условие: необходимо найти множество из пяти простых чисел с минимальной суммой такое, что после &#8220;склеивания&#8221; в любом порядке любых двух чисел из него тоже будет простое&nbsp;число.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Sun, 22 Nov 2015 23:41:00 +0300</pubDate><guid>tag:likemath.ru,2015-07-17:posts/moio-reshenie-zadachi-60/</guid><category>Project Euler</category><category>c++</category><category>BGL</category></item><item><title>Ещё одно вычисление выражений</title><link>http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/</link><description><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Fri, 03 Jul 2015 17:40:00 +0300</pubDate><guid>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</guid><category>проект</category></item><item><title>Мой первый пост</title><link>http://likemath.ru/posts/moi-pervyi-post/</link><description><p>Кратко о том, почему я сделал&nbsp;блог.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Алексей Лобанов</dc:creator><pubDate>Fri, 17 Apr 2015 13:35:00 +0300</pubDate><guid>tag:likemath.ru,2015-04-17:posts/moi-pervyi-post/</guid><category>блог</category></item></channel></rss>
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Блог 529</title><link href="http://likemath.ru/" rel="alternate"></link><link href="http://likemath.ru/feeds/proekty.atom.xml" rel="self"></link><id>http://likemath.ru/</id><updated>2015-08-04T17:40:00+03:00</updated><entry><title>CrossGen v1.0</title><link href="http://likemath.ru/posts/crossgen-v10/" rel="alternate"></link><updated>2015-08-04T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</id><summary type="html"><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></summary><category term="проект"></category><category term="c++"></category><category term="wxWidgets"></category></entry><entry><title>Ещё одно вычисление выражений</title><link href="http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/" rel="alternate"></link><updated>2015-07-03T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</id><summary type="html"><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></summary><category term="проект"></category></entry></feed>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Блог 529</title><link href="http://likemath.ru/" rel="alternate"></link><link href="http://likemath.ru/feeds/proekty.atom.xml" rel="self"></link><id>http://likemath.ru/</id><updated>2016-01-10T13:35:00+03:00</updated><entry><title>Как я шахматного бота писал</title><link href="http://likemath.ru/posts/kak-ia-shakhmatnogo-bota-pisal/" rel="alternate"></link><updated>2016-01-10T13:35:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2016-01-10:posts/kak-ia-shakhmatnogo-bota-pisal/</id><summary type="html"><p>Как я проверял шахматное приложение на&nbsp;&#8220;ботоустойчивость&#8221;.</p></summary><category term="проект"></category><category term="шахматы"></category><category term="бот"></category></entry><entry><title>CrossGen v1.0</title><link href="http://likemath.ru/posts/crossgen-v10/" rel="alternate"></link><updated>2015-08-04T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</id><summary type="html"><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></summary><category term="проект"></category><category term="c++"></category><category term="wxWidgets"></category></entry><entry><title>Ещё одно вычисление выражений</title><link href="http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/" rel="alternate"></link><updated>2015-07-03T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</id><summary type="html"><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></summary><category term="проект"></category></entry></feed>
|
||||
2
feeds/tag-bot.atom.xml
Normal file
2
feeds/tag-bot.atom.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Блог 529</title><link href="http://likemath.ru/" rel="alternate"></link><link href="http://likemath.ru/feeds/tag-bot.atom.xml" rel="self"></link><id>http://likemath.ru/</id><updated>2016-01-10T13:35:00+03:00</updated><entry><title>Как я шахматного бота писал</title><link href="http://likemath.ru/posts/kak-ia-shakhmatnogo-bota-pisal/" rel="alternate"></link><updated>2016-01-10T13:35:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2016-01-10:posts/kak-ia-shakhmatnogo-bota-pisal/</id><summary type="html"><p>Как я проверял шахматное приложение на&nbsp;&#8220;ботоустойчивость&#8221;.</p></summary><category term="проект"></category><category term="шахматы"></category><category term="бот"></category></entry></feed>
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Блог 529</title><link href="http://likemath.ru/" rel="alternate"></link><link href="http://likemath.ru/feeds/tag-proekt.atom.xml" rel="self"></link><id>http://likemath.ru/</id><updated>2015-08-04T17:40:00+03:00</updated><entry><title>CrossGen v1.0</title><link href="http://likemath.ru/posts/crossgen-v10/" rel="alternate"></link><updated>2015-08-04T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</id><summary type="html"><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></summary><category term="проект"></category><category term="c++"></category><category term="wxWidgets"></category></entry><entry><title>Ещё одно вычисление выражений</title><link href="http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/" rel="alternate"></link><updated>2015-07-03T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</id><summary type="html"><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></summary><category term="проект"></category></entry></feed>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Блог 529</title><link href="http://likemath.ru/" rel="alternate"></link><link href="http://likemath.ru/feeds/tag-proekt.atom.xml" rel="self"></link><id>http://likemath.ru/</id><updated>2016-01-10T13:35:00+03:00</updated><entry><title>Как я шахматного бота писал</title><link href="http://likemath.ru/posts/kak-ia-shakhmatnogo-bota-pisal/" rel="alternate"></link><updated>2016-01-10T13:35:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2016-01-10:posts/kak-ia-shakhmatnogo-bota-pisal/</id><summary type="html"><p>Как я проверял шахматное приложение на&nbsp;&#8220;ботоустойчивость&#8221;.</p></summary><category term="проект"></category><category term="шахматы"></category><category term="бот"></category></entry><entry><title>CrossGen v1.0</title><link href="http://likemath.ru/posts/crossgen-v10/" rel="alternate"></link><updated>2015-08-04T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-08-02:posts/crossgen-v10/</id><summary type="html"><p>Читая хабр, случайно натолкнулся на идею сделать программу, которая по заданной кроссвордной сетке находит способ её заполнить. В этом посте вкратце напишу про моё решение и первую версию&nbsp;приложения.</p></summary><category term="проект"></category><category term="c++"></category><category term="wxWidgets"></category></entry><entry><title>Ещё одно вычисление выражений</title><link href="http://likemath.ru/posts/eshchio-odno-vychislenie-vyrazhenii/" rel="alternate"></link><updated>2015-07-03T17:40:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2015-07-03:posts/eshchio-odno-vychislenie-vyrazhenii/</id><summary type="html"><p>На хабре когда-то увидел статью про то, что в Яндексе двум сотрудникам дали задачу на написание приложения, для вычисления выражений. Менеджер справился за 4 часа, а программист за два. Я решил попробовать свои&nbsp;силы.</p></summary><category term="проект"></category></entry></feed>
|
||||
2
feeds/tag-shakhmaty.atom.xml
Normal file
2
feeds/tag-shakhmaty.atom.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Блог 529</title><link href="http://likemath.ru/" rel="alternate"></link><link href="http://likemath.ru/feeds/tag-shakhmaty.atom.xml" rel="self"></link><id>http://likemath.ru/</id><updated>2016-01-10T13:35:00+03:00</updated><entry><title>Как я шахматного бота писал</title><link href="http://likemath.ru/posts/kak-ia-shakhmatnogo-bota-pisal/" rel="alternate"></link><updated>2016-01-10T13:35:00+03:00</updated><author><name>Алексей Лобанов</name></author><id>tag:likemath.ru,2016-01-10:posts/kak-ia-shakhmatnogo-bota-pisal/</id><summary type="html"><p>Как я проверял шахматное приложение на&nbsp;&#8220;ботоустойчивость&#8221;.</p></summary><category term="проект"></category><category term="шахматы"></category><category term="бот"></category></entry></feed>
|
||||
BIN
images/chessbot_msg1.png
Normal file
BIN
images/chessbot_msg1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.9 KiB |
16
index.html
16
index.html
@@ -38,8 +38,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href=".//">Главная</a></li>
|
||||
<li><a href="./pages/about.html">Об авторе</a></li>
|
||||
<li><a href="./pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="./pages/about.html">Об авторе</a></li>
|
||||
<li><a href="./feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
@@ -50,6 +50,20 @@
|
||||
</footer></header>
|
||||
<div id="post-container">
|
||||
<ol id="post-list">
|
||||
<li>
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
<time class="post-time" datetime="2016-01-10T13:35:00+03:00" pubdate>
|
||||
Вс. 10 Январь 2016
|
||||
</time>
|
||||
<a href="./posts/kak-ia-shakhmatnogo-bota-pisal/" rel="bookmark"><h1>Как я шахматного бота писал</h1></a>
|
||||
</header>
|
||||
<section class="post-content">
|
||||
<p>Как я проверял шахматное приложение на “ботоустойчивость”.</p>
|
||||
</section>
|
||||
</article>
|
||||
</li>
|
||||
<hr/>
|
||||
<li>
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="../..//">Главная</a></li>
|
||||
<li><a href="../../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="../..//">Главная</a></li>
|
||||
<li><a href="../../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
114
posts/kak-ia-shakhmatnogo-bota-pisal/index.html
Normal file
114
posts/kak-ia-shakhmatnogo-bota-pisal/index.html
Normal file
@@ -0,0 +1,114 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
|
||||
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
|
||||
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
|
||||
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<title> Как я шахматного бота писал
|
||||
</title>
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<link rel="stylesheet" href="../../theme/css/normalize.css">
|
||||
<link href='http://fonts.googleapis.com/css?family=Philosopher&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
|
||||
<link href='http://fonts.googleapis.com/css?family=Forum&subset=cyrillic' rel='stylesheet' type='text/css'>
|
||||
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
|
||||
<link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono' rel='stylesheet' type='text/css'>
|
||||
<link href='http://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" href="../../theme/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="../../theme/css/main.css">
|
||||
|
||||
<link rel="stylesheet" href="../../theme/css/blog.css">
|
||||
<link rel="stylesheet" href="../../theme/css/github.css">
|
||||
<link href="http://likemath.ru/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Блог 529 Atom Feed" />
|
||||
<link href="http://likemath.ru/feeds/all.rss.xml" type="application/rss+xml" rel="alternate" title="Блог 529 RSS Feed" />
|
||||
<script src="../../theme/js/vendor/modernizr-2.6.2.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!--[if lt IE 7]>
|
||||
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
|
||||
<![endif]-->
|
||||
|
||||
<div id="wrapper">
|
||||
<header id="sidebar" class="side-shadow">
|
||||
<hgroup id="site-header">
|
||||
<a id="site-title" href="../.."><h2><i class="icon-coffee"></i> Блог 529</h2></a>
|
||||
<p id="site-desc"> Project Euler и остальное </p>
|
||||
</hgroup>
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="../..//">Главная</a></li>
|
||||
<li><a href="../../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<footer id="site-info">
|
||||
<p>
|
||||
Powered by Pelican.
|
||||
</p>
|
||||
</footer></header>
|
||||
<div id="post-container">
|
||||
<ol id="post-list">
|
||||
<li>
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
<time class="post-time" datetime="2016-01-10T13:35:00+03:00" pubdate>
|
||||
Вс. 10 Январь 2016
|
||||
</time>
|
||||
<a href="../../posts/kak-ia-shakhmatnogo-bota-pisal/" rel="bookmark"><h1>Как я шахматного бота писал</h1></a>
|
||||
</header>
|
||||
|
||||
<section class="post-content">
|
||||
<p>Лет 5 назад я достаточно активно играл в “живые” шахматы. Потом времени на это стало не хватать и постепенно перешёл на редкие партии в онлайне. Сейчас для игры я использую одно из самых популярных приложений вк. Это проще, чем использовать, к примеру, <span class="caps">FICS</span>. Предмет обсуждения появился из-за того, что я как-то раз встретился с соперником, который на все ходы потратил порядка 10 секунд, при этом не допустив значимых ошибок. Тогда я решил написать своего бота, чтобы узнать что с ним будет и столкнусь ли я с какими-нибудь подводными камнями.</p>
|
||||
<p>Целью было максимально быстрое написание максимально простого решения. Поэтому от разбора протокола я сразу отказался, тем более у меня не было подобного опыта ранее. Была мысль работать с <span class="caps">FICS</span> (у меня есть библиотека для работы с их протоколом), но поскольку я там не играю, то и результаты были бы не так интересны, во всяком случае, для меня. Таким образом, я писал простого кликера для приложения вк.</p>
|
||||
<p>Изначально хотелось найти доску и определить положения всех фигур, это было бы достаточно универсально, хотя и привязало бы меня к OpenCV. Тем не менее, решил не усложнять: можно определять только последний ход, а это можно сделать, проверяя цвет только одного пикселя.</p>
|
||||
<p>В самом скрипте около 200 строк на python. Очень сильно помогла библиотека chess, которая взяла на себя общение с движком (я использовал stockfish), проверку на допустимые ходы и определение мата. Некоторое время я уделил тому, чтобы сделать бота максимально похожим на человека, чтобы было невозможно выявить, что это бот полностью автоматическими средствами. По пунктам:</p>
|
||||
<ul>
|
||||
<li>Клик по полю в случайном месте, с распределением по Гауссу, центр которого не совпадает с центром клетки</li>
|
||||
<li>Случайное время хода, длительность которого распределена по Гауссу, причём средняя длительность хода изменяется, в зависимости от номера текущего хода.</li>
|
||||
<li>Прокладываются дополнительные точки, с распределением по Гауссу, при перемещении курсора от точки к точке.</li>
|
||||
</ul>
|
||||
<p>По факту, всё это было лишним, бан получить не удалось даже при простом клике из начальной точки в конечную.</p>
|
||||
<p>Примеры работы скрипта можно посмотреть <a href="https://www.youtube.com/watch?v=VvcyYfU31gU">тут</a> и <a href="https://www.youtube.com/watch?v=1WNxd0VTT2k">тут</a>, анализы двух сыгранных игр лежат <a href="http://ru.lichess.org/uP2Wg4dz">тут</a> и <a href="http://ru.lichess.org/8iRjSCDs">тут</a> (оппонент имеет рейтинг около 2100).</p>
|
||||
<p>На момент публикации аккаунт вполне жив. Рейтинг достиг некоторого потолка (около 2200), после которого найти игроков примерно равного рейтинга, <em>не являющихся ботами</em>, очень сложно. Сражаться же с ботами сильно сложнее, такую цель я не ставил. Интересно, хоть и ожидаемо, что при наборе рейтинга было достаточно личностей, для которых возможность того, что их нагло обманули, и они играли с ботом была столь неприятна, что они не могли сдерживаться. Например:
|
||||
<img alt="alt text" src="../../images/chessbot_msg1.png" title="Одно из сообщений" /></p>
|
||||
<p>p.s. Уже после создания рабочей версии от одного из оппонентов узнал про <a href="http://ru.lichess.org">lichess.org</a>. Это отличный ресурс на котором кроме, собственно, платформы для игры в шахматы (поддерживается большое количество их вариантов), есть тренировки по дебютам, анализ игр. Самое интересное — ресурс полностью открытый, все исходники есть на github.</p>
|
||||
<p>В процессе подготовки данного материала узнал про InternetChessKiller, который делает, фактически, тоже самое, что и мой скрипт, но без привязки к какой-то одной игровой площадке. Исходники старых версий можно найти, например, в <a href="https://github.com/gomoku/Internet-Chess-Killer">этом</a> репозитории.</p>
|
||||
<p>p.p.s. Боты на серверах, предназначенных для людей, играющие в игры, которые предназначены для людей очень сильно мешают людям. Тем не менее, проверять, насколько сильно они мешают не нужно!</p>
|
||||
</section>
|
||||
<hr/>
|
||||
<aside class="post-meta">
|
||||
<p>Категория: <a href="../../category/proekty.html">Проекты</a></p>
|
||||
<p>Теги: <a href="../../tag/proekt.html">проект</a>, <a href="../../tag/shakhmaty.html">шахматы</a>, <a href="../../tag/bot.html">бот</a>, </p>
|
||||
</aside>
|
||||
<hr/>
|
||||
<div class="comments">
|
||||
<div id="disqus_thread"></div>
|
||||
<script type="text/javascript">
|
||||
var disqus_shortname = 'likemath';
|
||||
(function() {
|
||||
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
|
||||
</div>
|
||||
</article>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var _gaq=[['_setAccount','UA-62001537-1'],['_trackPageview']];
|
||||
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
||||
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
|
||||
s.parentNode.insertBefore(g,s)}(document,'script'));
|
||||
</script>
|
||||
<script src="../../theme/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -39,8 +39,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="../..//">Главная</a></li>
|
||||
<li><a href="../../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="../..//">Главная</a></li>
|
||||
<li><a href="../../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
83
tag/bot.html
Normal file
83
tag/bot.html
Normal file
@@ -0,0 +1,83 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
|
||||
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
|
||||
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
|
||||
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<title>Блог 529 - бот</title>
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<link rel="stylesheet" href="../theme/css/normalize.css">
|
||||
<link href='http://fonts.googleapis.com/css?family=Philosopher&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
|
||||
<link href='http://fonts.googleapis.com/css?family=Forum&subset=cyrillic' rel='stylesheet' type='text/css'>
|
||||
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
|
||||
<link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono' rel='stylesheet' type='text/css'>
|
||||
<link href='http://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" href="../theme/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="../theme/css/main.css">
|
||||
|
||||
<link rel="stylesheet" href="../theme/css/blog.css">
|
||||
<link rel="stylesheet" href="../theme/css/github.css">
|
||||
<link href="http://likemath.ru/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Блог 529 Atom Feed" />
|
||||
<link href="http://likemath.ru/feeds/all.rss.xml" type="application/rss+xml" rel="alternate" title="Блог 529 RSS Feed" />
|
||||
<script src="../theme/js/vendor/modernizr-2.6.2.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!--[if lt IE 7]>
|
||||
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
|
||||
<![endif]-->
|
||||
|
||||
<div id="wrapper">
|
||||
<header id="sidebar" class="side-shadow">
|
||||
<hgroup id="site-header">
|
||||
<a id="site-title" href=".."><h2><i class="icon-coffee"></i> Блог 529</h2></a>
|
||||
<p id="site-desc"> Project Euler и остальное </p>
|
||||
</hgroup>
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<footer id="site-info">
|
||||
<p>
|
||||
Powered by Pelican.
|
||||
</p>
|
||||
</footer></header>
|
||||
<div id="post-container">
|
||||
<ol id="post-list">
|
||||
<li>
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
<time class="post-time" datetime="2016-01-10T13:35:00+03:00" pubdate>
|
||||
Вс. 10 Январь 2016
|
||||
</time>
|
||||
<a href="../posts/kak-ia-shakhmatnogo-bota-pisal/" rel="bookmark"><h1>Как я шахматного бота писал</h1></a>
|
||||
</header>
|
||||
<section class="post-content">
|
||||
<p>Как я проверял шахматное приложение на “ботоустойчивость”.</p>
|
||||
</section>
|
||||
</article>
|
||||
</li>
|
||||
<hr/>
|
||||
</ol>
|
||||
<div class="paginator">
|
||||
Page 1 / 1
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var _gaq=[['_setAccount','UA-62001537-1'],['_trackPageview']];
|
||||
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
||||
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
|
||||
s.parentNode.insertBefore(g,s)}(document,'script'));
|
||||
</script>
|
||||
<script src="../theme/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -38,8 +38,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
@@ -50,6 +50,20 @@
|
||||
</footer></header>
|
||||
<div id="post-container">
|
||||
<ol id="post-list">
|
||||
<li>
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
<time class="post-time" datetime="2016-01-10T13:35:00+03:00" pubdate>
|
||||
Вс. 10 Январь 2016
|
||||
</time>
|
||||
<a href="../posts/kak-ia-shakhmatnogo-bota-pisal/" rel="bookmark"><h1>Как я шахматного бота писал</h1></a>
|
||||
</header>
|
||||
<section class="post-content">
|
||||
<p>Как я проверял шахматное приложение на “ботоустойчивость”.</p>
|
||||
</section>
|
||||
</article>
|
||||
</li>
|
||||
<hr/>
|
||||
<li>
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
83
tag/shakhmaty.html
Normal file
83
tag/shakhmaty.html
Normal file
@@ -0,0 +1,83 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
|
||||
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
|
||||
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
|
||||
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<title>Блог 529 - шахматы</title>
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<link rel="stylesheet" href="../theme/css/normalize.css">
|
||||
<link href='http://fonts.googleapis.com/css?family=Philosopher&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
|
||||
<link href='http://fonts.googleapis.com/css?family=Forum&subset=cyrillic' rel='stylesheet' type='text/css'>
|
||||
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
|
||||
<link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono' rel='stylesheet' type='text/css'>
|
||||
<link href='http://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" href="../theme/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="../theme/css/main.css">
|
||||
|
||||
<link rel="stylesheet" href="../theme/css/blog.css">
|
||||
<link rel="stylesheet" href="../theme/css/github.css">
|
||||
<link href="http://likemath.ru/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Блог 529 Atom Feed" />
|
||||
<link href="http://likemath.ru/feeds/all.rss.xml" type="application/rss+xml" rel="alternate" title="Блог 529 RSS Feed" />
|
||||
<script src="../theme/js/vendor/modernizr-2.6.2.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!--[if lt IE 7]>
|
||||
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
|
||||
<![endif]-->
|
||||
|
||||
<div id="wrapper">
|
||||
<header id="sidebar" class="side-shadow">
|
||||
<hgroup id="site-header">
|
||||
<a id="site-title" href=".."><h2><i class="icon-coffee"></i> Блог 529</h2></a>
|
||||
<p id="site-desc"> Project Euler и остальное </p>
|
||||
</hgroup>
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<footer id="site-info">
|
||||
<p>
|
||||
Powered by Pelican.
|
||||
</p>
|
||||
</footer></header>
|
||||
<div id="post-container">
|
||||
<ol id="post-list">
|
||||
<li>
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
<time class="post-time" datetime="2016-01-10T13:35:00+03:00" pubdate>
|
||||
Вс. 10 Январь 2016
|
||||
</time>
|
||||
<a href="../posts/kak-ia-shakhmatnogo-bota-pisal/" rel="bookmark"><h1>Как я шахматного бота писал</h1></a>
|
||||
</header>
|
||||
<section class="post-content">
|
||||
<p>Как я проверял шахматное приложение на “ботоустойчивость”.</p>
|
||||
</section>
|
||||
</article>
|
||||
</li>
|
||||
<hr/>
|
||||
</ol>
|
||||
<div class="paginator">
|
||||
Page 1 / 1
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var _gaq=[['_setAccount','UA-62001537-1'],['_trackPageview']];
|
||||
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
||||
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
|
||||
s.parentNode.insertBefore(g,s)}(document,'script'));
|
||||
</script>
|
||||
<script src="../theme/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -38,8 +38,8 @@
|
||||
<nav>
|
||||
<ul id="nav-links">
|
||||
<li><a href="..//">Главная</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../pages/projects.html">Мои проекты</a></li>
|
||||
<li><a href="../pages/about.html">Об авторе</a></li>
|
||||
<li><a href="../feeds/feed.atom.xml">Atom feed</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -29,9 +29,11 @@
|
||||
<div id="wrapper">
|
||||
<h1>Tags for Блог 529</h1> <li><a href="./tag/bgl.html">BGL</a> (1)</li>
|
||||
<li><a href="./tag/blog.html">блог</a> (1)</li>
|
||||
<li><a href="./tag/bot.html">бот</a> (1)</li>
|
||||
<li><a href="./tag/c.html">c++</a> (2)</li>
|
||||
<li><a href="./tag/proekt.html">проект</a> (2)</li>
|
||||
<li><a href="./tag/proekt.html">проект</a> (3)</li>
|
||||
<li><a href="./tag/project-euler.html">Project Euler</a> (1)</li>
|
||||
<li><a href="./tag/shakhmaty.html">шахматы</a> (1)</li>
|
||||
<li><a href="./tag/wxwidgets.html">wxWidgets</a> (1)</li>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user