<para>&kenolaba; — простая настольная игра для двух игроков. На игровом поле имеются красные и жёлтые шары по 14 для каждого игрока. Перемещая свои шары, вы должны вытолкнуть с поля 6 шаров оппонента.</para>
<para>Первоначально программа была разработана в 1993 под DOS и полностью базировалась на Xlib. Под &kde; она была практически переписана заново.</para>
<note><para>Если вы любите игру Abalone, то наверняка полюбите и эту (в действительности &kenolaba; является потомком Abalone). Abalone - это торговая марка компании Abalone SA, Франция.</para></note>
<listitem><para>Один, два или три ваших шара, выстроенных в ряд, могут перемещаться в шести направлениях. Боковые ходы допустимы (когда смещается ряд шаров).</para>
<para>Нажмите левую кнопку мыши на том шаре, который хотите переместить — шар будет подсвечен. Теперь, не отпуская кнопки, укажите требуемое направление. Если ход возможен, курсор сменится на стрелку, указывающую направление движения, и все шары, которые передвинуться, будут подсвечены. Отпускайте кнопку, и ход будет произведён.</para>
<para>Боковые ходы производятся несколько иным способом: для двух стоящих рядом шаров щёлкните мышкой между ними и перетаскивайте; для трёх — нажмите <mousebutton>среднюю</mousebutton> кнопку мыши на среднем шаре — если боковой ход допустим, все три шара будут подсвечены, иначе будет подсвечен только средний шар, и переместить его можно обычным способом. </para>
<listitem><para>Вы можете вытолкнуть максимум два шара оппонента, если они стоят напротив ваших и количество выталкивающих шаров больше количества выталкиваемых. То есть, три ваших шара могут вытолкнуть один или два шара оппонента, два шара могут вытолкнуть только один.</para>
<para>Если вам ещё неясно, как играть в &kenolaba;, включите демонстрационный режим, в котором компьютер играет за обоих. После запуска &kenolaba; выберите пункт меню <menuchoice><guimenu>Настройка</guimenu><guisubmenu>Компьютер играет</guisubmenu><guimenuitem>За обоих</guimenuitem></menuchoice> и начните новую игру. </para>
<para>&kenolaba; поддерживает игру по сети. Два человека могут играть друг против друга на разных компьютерах или один человек может наблюдать за другой игрой &kenolaba;. Чтобы использовать сетевые возможности &kenolaba;, нужно программу перевести в сетевой режим, выбрав пункт меню <menuchoice><guimenu>Игра</guimenu><guimenuitem>Сетевая игра</guimenuitem></menuchoice>.</para>
<para>Все игры, запущенные в сетевом режиме, изменяют свои позиции синхронно (то есть во всех окнах вы видите одно и то же).</para>
<para>Чтобы изменять позиции, программы &kenolaba; должны знать друг о друге. Если они запущены на одной машине, то делать ничего ненужно (кроме, конечно, переключения в сетевой режим). При игре на разных компьютерах вы должны указать другую машину в командной строке при помощи параметра <option>-h</option>, например: </para>
<note><para>Для пытливых умов: в сетевом режиме &kenolaba; использует сокет <acronym>TCP</acronym> для получения команд смены позиции от других запущенных программ &kenolaba;. Вы можете определить номер порта с помощью параметра <option>-p</option> — это полезно, если вы хотите играть две независимые сетевые игры &kenolaba;.</para></note>
<para>Саша на машине <systemitem class="systemname">machine1</systemitem> и Маша на машине <systemitem class="systemname">machine2</systemitem> хотят поиграть в &kenolaba; друг с другом: Маша запускает свою &kenolaba;, выбирает <menuchoice><guimenu>Настройка</guimenu><guisubmenu>Компьютер играет</guisubmenu></menuchoice><guimenuitem>Ни за кого</guimenuitem> и переключается в сетевой режим. Саша запускает &kenolaba; из командной строки: <screen width="40"><prompt>%</prompt><userinput><command>kenolaba</command> <option>-h</option> <parameter><replaceable>machine2</replaceable></parameter></userinput></screen>, а дальше делает то же, что и Маша. Теперь один из них создаёт новую игру и делает ход красными. Каждый раз, когда позиция меняется в одной программе, она автоматически показывается и во второй.</para>
<para>Теперь запустим две разные сетевые игры &kenolaba; между машинами <systemitem class="systemname">m1</systemitem> и <systemitem class="systemname">m2</systemitem>. Чтобы различать игры, мы выберем для первой номер порта 12345. На машине <systemitem class="systemname">m1</systemitem> мы запускаем как обычно: <screen width="40"><prompt>%</prompt><userinput><command>kenolaba</command></userinput></screen> для первой игры, и (что не так обычно): <screen width="40"><prompt>%</prompt><userinput><command>kenolaba</command> <option>-p</option> <parameter><replaceable>12345</replaceable></parameter></userinput></screen> на второй. На машине <systemitem class="systemname">m2</systemitem> мы запускаем первую игру следующим образом: <screen width="40"><prompt>%</prompt><userinput><command>kenolaba</command> <option>-h</option> <parameter><replaceable>m1</replaceable></parameter></userinput></screen>, а вторую: <screen width="40"><prompt>%</prompt><userinput><command>kenolaba</command> <option>-h</option> <parameter><replaceable>m1:12345</replaceable></parameter></userinput></screen> (двоеточие разделяет сетевое имя компьютера и порт, как в &URL;).</para> </listitem>
<para>Вы можете изменять текущую позицию на поле, выбрав пункт меню <menuchoice><guimenu>Правка</guimenu><guimenuitem>Изменить</guimenuitem></menuchoice>. Вы можете добавлять или удалять как красные, так и жёлтые шары. Строка состояния показывает количество красных и жёлтых шаров, номер хода и допустима ли позиция: восклицательный знак обозначает недопустимость, галочка обозначает допустимость. </para>
<para>Если позиция недопустима и вы пытаетесь переключиться в обычный игровой режим, вы не сможете играть! Только допустимые позиции могут быть использованы как начальные позиции игры. </para>
<para><menuchoice><guimenu>Ход</guimenu><guimenuitem>Вернуть ход</guimenuitem> </menuchoice> и <menuchoice><guimenu>Ход</guimenu><guimenuitem>Вперёд</guimenuitem> </menuchoice> просто увеличивают или уменьшают количество ходов, не изменяя позиции шаров.</para>
<para>Нажатие <mousebutton>левой</mousebutton> или <mousebutton>правой</mousebutton> кнопок мыши на пустой или заполненной жёлтым шаром клетке приводит к добавлению красного шара, нажатие <mousebutton>средней</mousebutton> кнопки на пустом или красном поле приводит к добавлению жёлтого шара. Наконец, нажатие <mousebutton>левой</mousebutton> или <mousebutton>правой</mousebutton> кнопок на красном шаре или <mousebutton>средней</mousebutton> кнопки на жёлтом приводит к удалению этого шара. Все шары, над которыми пробегает курсор мыши, тоже удаляются. </para>
<para>Для выхода из режима правки и входа в режим игры просто уберите галочку с пункта <guimenuitem>Изменить</guimenuitem> в меню <guimenu>Правка</guimenu>.</para>
<para>Текущее поле &kenolaba; может быть скопировано в буфер обмена командой <guimenuitem>Копировать</guimenuitem> в меню <guimenuitem>Правка</guimenuitem>, а потом вставлено обратно командой <guimenuitem>Вставить</guimenuitem>. Этим способом вы можете скопировать позицию поля из одной программы &kenolaba; в другую, выбрав в первой пункт меню <guimenuitem>Копировать</guimenuitem>, а во второй <guimenuitem>Вставить</guimenuitem>, но лучше это делать при помощи сетевого режима как было описано выше.</para>
<para>Режим шпионажа за противника может быть включен или выключен в меню <guimenu>Настройка</guimenu> пунктом <guimenuitem>Показывать ходы противника</guimenuitem>. При включенном режиме вы можете видеть оценку вашего хода в строке состояния. Если ходит компьютер, то вы можете посмотреть ход, который компьютер считает лучшим. Естественно, что он меняется в в процессе поиска оптимального решения.</para>
<para>Вы можете заставить компьютер играть за красных, за жёлтых или за обоих. Выберите один из пунктов меню <guimenu>Настройка</guimenu><guimenuitem>Компьютер играет</guimenuitem> до начала игры. Хотя можно менять цвет и в процессе игры. Выберите пункт <guimenuitem>Ни за кого</guimenuitem>, чтобы играть с человеком. Этот вариант используется в основном в сетевом режиме.</para>
<para>В &kenolaba; можно настроить дополнительные параметры, позволяющие при желании полностью изменить систему ведения счета. Для того, чтобы настроить эти параметры, выберите пункт меню <guimenu>Настройка</guimenu><guimenuitem>Настроить Kenolaba...</guimenuitem>. В нижней части диалога напротив надписи <guilabel>Оценка текущей позиции</guilabel> показываются баллы, которые вы получите за текущий ход. По мере настройки это число будет меняться.</para>
<para>На этой вкладке вы можете указать число баллов, добавляемых к счету за каждый вид хода в зависимости от количества шаров. Предусмотрено три вида ходов:</para>
<para>Оценка позиции зависит от положения ваших шаров на поле. При оценке для каждого шара определяется, на каком кольце он находится. Вы можете установить свои значения баллов, добавляемых за положение на каждом кольце. При этом вы должны указать некоторый <quote>разброс</quote> — интервал, на котором будет лежать реальное значение (случайное число из этого интервала). Это можно сделать в поле со значком +/-. Зачем это нужно? Дело в том, что если сделать фиксированное значение, то игра компьютер-компьютер может зайти в бесконечный цикл. </para>
<para>Каждый раз, когда некоторое количество шаров выстраивается в ряд, указанные на этой вкладке баллы добавляются в оценку позиции, например, <inlinemediaobject> <imageobject> <imagedata fileref="kenolaba-pieces.png" format="PNG"/> </imageobject> <textobject> <phrase>X O O O</phrase> </textobject> </inlinemediaobject> добавляет балы за три шара в ряд, а также два раза за два шара в ряд.</para>
<para>Добавляет данное число баллов за разницу в количестве шаров, начиная от разницы <guilabel>На 1 шар больше</guilabel> и заканчивая <guilabel>На 5 шаров больше</guilabel>. Разница в шесть шаров означает победу одного из игроков и конец игры. </para>
<listitem><para>Интерпретирует содержание буфера обмена как ASCII-представление игрового поля &kenolaba; и вставляет его в текущее поле. Правильное ASCII-представление генерируется командой <guimenuitem>Копировать</guimenuitem>.</para>
<listitem><para>Сохраняет текущую позицию с целью последующего восстановления командой <menuchoice><guimenu>Правка</guimenu> <guimenuitem>Восстановить позицию</guimenuitem> </menuchoice>. </para>
<listitem><para>Восстанавливает позицию поля, сохранённую в конфигурационном файле &kenolaba; командой <guimenu>Правка</guimenu> <guimenuitem>Сохранить позицию</guimenuitem>.</para>
<para>Можете поверить компьютеру и ходить, как он подскажет. Возможно лишь при обычном (и выше) уровне игры и как минимум двух сделанных ходах. К тому же ход не должен быть перед этим отменен.</para>
<para>Если компьютер надолго ушёл в себя при поиске очередного хода, эта команда поможет ему — поиск решения прервётся и будет произведён лучший найденный ход.</para>
<para>Возвращает вас к предыдущему ходу. Отменяются оба хода: ход противника и ваш. Запоминается максимум 100 ходов, так что вы можете возвратиться вплоть до начала игры. В режиме редактирования (<menuchoice><guimenu>Правка</guimenu><guimenuitem>Изменить</guimenuitem></menuchoice>), уменьшается число ходов.</para>
<listitem><para>При включении этого режима ход компьютера выделяется мерцанием и подсвечиванием шаров, используемых в этом ходе. Отключение режима ведёт к отмене анимации: показывается лишь быстрое подсвечивание.</para>
<para>При выборе этого режима, шары будут отрисовываться в процессе работы приложения специальным образом (например, при изменении размеров окна).</para>
<para>Параметр <option>-p</option> позволяет указать номер порта сокета TCP в сетевом режиме.</para>
<para>Параметр <option>-h</option> позволяет указать удалённый процесс &kenolaba;, с которым нужно соединится в сетевом режиме (возможно дополнительно указать номер порта, если вас не устраивает порт по умолчанию на удалённой машине). Можно определить несколько удалённых процессов.</para>