# Руководство по &kenolaba;

Джозеф
Вайдендорфер
Филипп
Родригес

    phil.rod@ntlworld.com

Lauri
Watts

    lauri@kde.org

Редакция
Андрей
Балагута

    uj_comma_kby@mail.ru

Перевод на русский
2002-07-15
1.06.00
2001
Филипп Родригес
&FDLNotice;

&kenolaba; -- это простая настольная игра для двух игроков.

KDE
игра
кенолаба
linux

## Введение

&kenolaba; -- это простая настольная игра для двух игроков. На игровом поле имеются красные и желтые шары по 14 для каждого игрока. Перемещая свои шары, вы должны вытолкнуть с поля 6 шаров оппонента.

Первоначально программа была разработана в 1993 под DOS и полностью базировалась на Xlib. Под &kde; она была практически переписана заново.

Если вы любите игрушку Abalone, то наверняка полюбите и эту (в действительности &kenolaba; является потомком Abalone). Abalone - это торговая марка компании Abalone SA, Франция.

## Правила игры

Первыми всегда ходят красные.

Допустимы два вида передвижения:

Обычное

  Один, два или три ваших шара, выстроенных в ряд, могут перемещаться в шести направлениях. Боковые ходы допустимы (когда смещается ряд шаров).

  Нажмите левую кнопку мыши на том шаре, который хотите переместить - шар будет подсвечен. Теперь, не отпуская кнопки, укажите требуемое направление. Если ход возможен, курсор сменится на стрелку, указывающую направление движения, и все шары, которые передвинуться, будут подсвечены. Если вы довольны - отпускайте кнопку и ход будет произведен.

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

Выталкивание

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

  Ходы, при которых вы выталкиваете шары оппонента, называются выталкивающими. Если вы вытолкнули шесть шаров оппонента, кричите "Ура!" - вы победили.

Если до вас еще не дошло, как играть в &kenolaba; - включите демонстрационный режим, в котором компьютер играет за обоих. После запуска &kenolaba; выберите пункт меню Настройка Компьютер играет за обоих и начните новую игру.

## Сетевая игра

### Обычная сетевая игра

&kenolaba; поддерживает игру по сети. Два человека могут играть друг против друга на разных компьютерах, или же один человек может наблюдать за другой игрой &kenolaba;. Чтобы использовать сетевые прелести &kenolaba;, нужно программу перевести в сетевой режим, выбрав пункт меню Игра Сетевая игра.

Все игры, запущенные в пространстве сетевого режима, изменяют свои позиции синхронно (т.е. во всех окнах вы видите одно и то же).

Чтобы изменять позиции, программы &kenolaba; должны знать друг о друге. Если они запущены на одной машине, то делать ничего ненужно (кроме, конечно, переключения в сетевой режим). При игре на разных компьютерах вы должны указать другую машину в командной строке при помощи ключа `-h`, например:

    %kenolaba -h SomeHostName

Для пытливых умов: в сетевом режиме &kenolaba; использует TCP-сокет для получения команд смены позиции от других запущенных программ &kenolaba;. Вы можете определить номер порта с помощью ключа `-p` - это полезно, если вы хотите играть две независимые сетевые игры &kenolaba;.

#### Примеры

- Саша на машине machine1 и Маша на машине machine2 хотят поиграть в &kenolaba; друг с другом: Маша запускает свою &kenolaba;, устанавливаетНастройка Компьютер играет в ни за кого и переключается в сетевой режим. Саша, как истинный мужчина, работает с командной строки: сильными пальцами он набирает

      %kenolaba -h machine2

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

- Петя хочет посмотреть, как Саша и Маша играют в &kenolaba; (третий не лишний... :-):он делает все так же, как и Саша, но, увы, не может ходить (в игре, по крайней мере).

- Теперь запустим две разные сетевые игры &kenolaba; между машинами m1 и m2. Чтобы различать игры, мы выберем для первой номер порта 12345. На машине m1 мы стартуем как обычно:

      %kenolaba

  для первой игры, и (что не так обычно):

      %kenolaba -p 12345

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

      %kenolaba -h m1

  , а вторую:

      %kenolaba -h m1:12345

  (Двоеточие разделяет хост и порт, как в &URL;).

## Дополнительные возможности

### Режим правки

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

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

Действия Вернуть ход и Вперед просто увеличивают или уменьшают количество ходов, не изменяя шаров.

#### Использование

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

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

##### Использование буфера обмена

Текущее поле &kenolaba; может быть скопировано в буфер обмена командой Копировать в меню Правка, а потом вставлено обратно командой Вставить. Этим способом вы можете скопировать позицию поля из одной программы &kenolaba; в другую, выбрав в первой пункт меню Копировать, а во второй Вставить, но лучше это делать при помощи сетевого режима (смотри выше).

### Уровень компьютера

Компьютер может играть на четырех разных уровнях, а именно:

- Легкий

- Обычное

- Тяжелый

- Запредельный

Чем сложнее уровень, тем дольше компьютер думает над ходом. Прервать поиск решения можно нажатием клавиши S.

### Шпион

Шпион может быть включен (выключен) в меню Настройка пунктом Шпион. При включенном шпионе вы можете видеть оценку вашего хода в строке состояния. Если ходит компьютер, то вы можете посмотреть ход, который компьютер считает лучшим. Естественно, что он меняется в в процессе поиска оптимального решения.

### Выбор цвета шаров компьютера

Вы можете заставить компьютер играть за красных, за желтых или за обоих. Выберите одну из опций до начала игры. Хотя можно менять цвет и в процессе игры. Выберите ни за кого, чтобы играть с человеком. Эта опция используется в основном в сетевом режиме.

## Дополнительная конфигурация

В &kenolaba; можно настроить дополнительные параметры, позволяющие при желании полностью изменить систему ведения счета. Для того, чтобы настроить эти параметры, выберите пункт меню Настройка Настроить Kenolaba.... В нижней части диалога напротив надписи Оценка текущей позиции отображаются баллы, которые вы получите за текущий ход. По мере настройки это число будет меняться.

### Вкладка Ходы

На этой вкладке вы можете указать число баллов, добавляемых к счету за каждый вид хода в зависимости от количества шаров. Предусмотрено три вида ходов (если найдете еще - пишите разработчику :)):

Обычное

  Обычный ход - вы двигаете один или более шаров, не задевая шаров противника.

Толкнуть

  Толкание - вы толкаете один или несколько шаров оппонента, при этом они остаются на поле.

Вытолкнуть

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

### Вкладка Позиция

Оценка позиции зависит от положения ваших шаров на поле. При оценке для каждого шара определяется, на каком кольце он находится. Вы можете установить свои значения баллов, добавляемых за положение на каждом кольце. При этом вы должны указать некоторый разброс - интервал, на котором будет лежать реальное значение (случайное число из этого интервала). Это можно сделать в поле со значком +/-. Зачем это нужно? Дело в том, что если сделать фиксированное значение, то игра компьютер-компьютер может зайти в бесконечный цикл.

### Вкладка В ряд

Каждый раз, когда некоторое количество шаров выстраивается в ряд, указанные на этой вкладке баллы добавляются в оценку позиции, например, X O O O добавляет балы за три шара в ряд, а также два раза за два шара в ряд.

### Вкладка Счет

Добавляет данное число баллов за разницу в количестве шаров, начиная от разницы На 1 шар больше и заканчивая разницей в пять шаров. Разница в шесть шаров означает победу одного из игроков.

## Краткая справка по меню

Ходы шарами объясняются в разделе Правила игры.

### Меню Игра

&Ctrl;N Игра Новая игра

  Начать новую игру, даже если текущая игра активна.

S Игра Прекратить поиск

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

PgUp Игра Вернуть ход

  Возвращает вас к предыдущему ходу. Отменяются два хода - ход противника и ваш. Запоминается максимум 100 ходов, так что не пытайтесь вернуться к началу (быстрее это сделать клавишей F2). В режиме правки (описание см. ниже) уменьшает количество шагов для данной позиции.

PgDown Игра Вперед

  Возможно только в режиме правки: увеличивает число ходов для данной позиции.

H Игра Подсказка

  Можете поверить компьютеру и ходить, как он подскажет. Возможно лишь при обычном (и выше) уровне игры и как минимум двух сделанных ходах. К тому же ход не должен быть перед этим отменен.

N Игра Сетевая игра

  Этот команда включает (или выключает) сетевой режим.

&Ctrl;Q Игра Выход

  Завершает &kenolaba;

### Меню Правка

&Ctrl;C Правка Копировать

  Копирует поле &kenolaba; в буфер обмена (не картинку!).

&Ctrl;V Правка Вставить

  Интерпретирует содержание буфера обмена X как ASCII-представление поля &kenolaba; и вставляет его в текущее поле. Правильное ASCII-представление генерируется командой Копировать

&Ctrl;Ins Правка Изменить

  Переключает &kenolaba; в режим правки.

&Ctrl;S Правка Сохранить позицию

  Сохраняет текущую позицию с целью последующего восстановления командой Правка Восстановить позицию .

&Ctrl;O Правка Восстановить позицию

  Восстанавливает позицию поля, сохраненную в конфигурационном файле &kenolaba; командой Правка Сохранить позицию.

### Меню Настройка

&Ctrl; M Настройка Показать меню

  Показывает или прячет меню &kenolaba;

Настройка Показать панель инструментов

  Показывает или прячет панель инструментов &kenolaba;

Настройка Показать строку состояния

  Показывает или прячет строку состояния &kenolaba;

Настройка Сохранить настройки

  Сохраняет текущие настройки для &kenolaba;

Настройка Настроить быстрые клавиши...

  Вызывает стандартный диалог &kde; для настройки быстрых клавиш, используемых в &kenolaba;

Настройка Настроить панели инструментов...

  Вызывает стандартный диалог &kde; для настройки панели инструментов &kenolaba;

Настройка Уровень

  В этом подменю можно выбрать уровень игры компьютера. Может быть одним из:

  - Легкий

  - Обычное

  - Тяжелый

  - Запредельный

Настройка Компьютер играет

  Выбрать цвет, которым играет компьютер. Может быть одним из:

  - красными

  - Желтыми

  - за обоих

  - Ни за кого

Настройка Ходить медленно

  При включенной опции ход компьютера отображается мерцанием и подсвечиванием шаров, используемых в этом ходе. Отмена этой опции ведет к отмене анимации: показывается лишь быстрое подсвечивание.

Настройка Украсить шары

  При выборе этой опции, шары будут отрисовываться в процессе работы приложения рендерером (например, при изменении размеров окна).

Настройка Шпион

  Если здесь проставлена галочка, значит шпион не спит.

### Меню Помощь

&help.menu.documentation;

## Параметры командной строки

    kenolaba

    -p
    MyPortNumber

    -h
    host:port

Параметр `-p` позволяет указать номер порта TCP-сокета в сетевом режиме.

Параметр `-h` позволяет указать удаленный процесс &kenolaba;, с которым нужно соединится в сетевом режиме (возможно дополнительно указать номер порта, если вас не устраивает порт по умолчанию на удаленной машине). Можно определить несколько удаленных процессов.

## Разработчики и лицензирование

&kenolaba;

Авторские права 1997-2000 Джозеф Вайдендорфер (Josef Weidendorfer) Josef.Weidendorfer@gmx.de

Первоначальная документация - Роберт Вильямс (Robert Williams) rwilliams@kde.org и Джозеф Вайдендорфер

Обновление документации для &kde; 2.0 - Филипп Родригес (Philip Rodrigues) phil.rod@ntlworld.com

Перевод на русский: Андрей Балагута aka Uj,kbyuj_comma_kby@mail.ru

&underFDL; &underGPL;

## Установка

### Как получить &kenolaba;

&install.intro.documentation;

### Сборка и установка

&install.compile.documentation;