<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
 <!ENTITY kblackbox "<application>kblackbox</application>">
 <!ENTITY % addindex "IGNORE">
 <![ %addindex; [ <!ENTITY docindex SYSTEM "docindex.docbook"> ]]>
]>
<book lang="ru">
<bookinfo>
<title>Руководство по игре KBlackBox</title>
<authorgroup>
<author>
<surname></surname>
</author>
</authorgroup>
<date>Версия 0.2.3, 10 февраля 1998 </date>
<releaseinfo><!-- information about this particular version --></releaseinfo>
<abstract>
<para>Этот документ содержит руководство по установке и краткое описание игры KBlackBox.</para>
<para>Russian translation of KDE game KBlackBox by Dmitry Mozzherin</para><!-- Merge this with the previous paragraph; it comes from <META NAME="description" CONTENT="..."> --></abstract>
<keywordset>
<keyword>KDE documentation</keyword>
<keyword>translation</keyword>
<keyword>Russian</keyword>
<keyword>kblackbox</keyword>
<keyword>Dmitry Mozzherin</keyword>
<keyword>Дмитрий Мозжерин</keyword>
<keyword>русский</keyword>
<keyword>перевод</keyword>
<keyword>документация</keyword>
</keywordset>
</bookinfo>

<chapter id="chto-takoe-kblackbox">
<title>Что такое KBlackBox?</title>

<para>KBlackBox (К Черный ящик) -- это увлекательная графическая логическая игра, похожая на blackbox в Emacs. Игра выпущена под лицензией GPL. Значительная часть этого справочного файла основана на справочной информации из Emacs-версии.</para>

<para>KBlackBox -- это игра в прятки, которая происходит в координатной сетке, где
каждая ячейка является черным ящиком. Ваш противник (в данном случае --
генератор случайных чисел) прячет в этих ящиках несколько шаров. Посылая
лучи в ящик и наблюдая где они выходят можно рассчитать местоположение
спрятанных шаров. Чем меньше лучей вы использовали для поиска, тем меньше
очков вы получите.</para>
</chapter>

<chapter id="ustanovka">
<title>Установка</title>

<para>KBlackBox -- это приложение KDE. Следовательно, вам понадобится установить
KDE на ваш компьютер, по крайней мере пакеты kdesupport, kdelibs и kdebase. 
В действительности, установка очень проста:
<programlisting>       cd в какой-нибудь каталог
       gunzip kblackbox-x.y.z.tgz
       tar -xvf kblackbox-x.y.z.tar
       cd kblackbox-x.y.z
       # Это для генерирования настроечного сценария. Вероятно, эта часть
       # будет удалена, когда kblackbox станет частью kdegames.
       make -f Makefile.dist
       #
       ./configure
       make
       make install</programlisting>

Возможно, вам придется зарегистрироваться как  root для того, чтобы сделать make install.</para>
</chapter>

<chapter id="opisanie-graficheskogo-interfeisa-s-polzovat">
<title>Описание графического интерфейса с пользователем</title>

<para><itemizedlist>
<listitem>
<para><emphasis remap="bf">Меню</emphasis>
<itemizedlist>
<listitem>
<para><emphasis remap="bf">File (Файл)</emphasis>
<itemizedlist>
<listitem>
<para><emphasis remap="bf">Quit (Завершить игру)</emphasis> -- М-да, это трудно объяснить. Давайте
перейдем к следующим пунктам. </para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para><emphasis remap="bf">Game (Игра)</emphasis>
<itemizedlist>
<listitem>
<para><emphasis remap="bf">New (Новая)</emphasis> -- Начинает новую игру (и обрывает текущую, если
таковая была). </para>
</listitem>
<listitem>
<para><emphasis remap="bf">Give up (Сдаюсь)</emphasis> -- Показывает местоположение шаров. </para>
</listitem>
<listitem>
<para><emphasis remap="bf">Done (Готово)</emphasis> -- Проверяет, все ли шары найдены, если да, то
прекращает игру, вычисляет количество очков и показывает действительное
положение шаров. Средняя кнопка мыши также выполняет эту функцию.</para>
</listitem>
<listitem>
<para><emphasis remap="bf">Resize (Изменить размер)</emphasis> -- Изменяет размер главного окна
до оптимального размера. Полезно, если вы
случайно изменили размер окна...</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para><emphasis remap="bf">Options (Настройки)</emphasis>
<itemizedlist>
<listitem>
<para><emphasis remap="bf">Size (Размер)</emphasis> -- Изменяет размер игрового поля (черного ящика). </para>
</listitem>
<listitem>
<para><emphasis remap="bf">Balls (Шары)</emphasis> -- Определяет количество шаров в черном ящике. </para>
</listitem>
<listitem>
<para><emphasis remap="bf">Tutorial (Обучение)</emphasis>  -- Включает/отключает режим обучения,
когда вы можете видеть расположение шаров.</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para><emphasis remap="bf">Help (Помощь)</emphasis>
<itemizedlist>
<listitem>
<para><emphasis remap="bf">Help (Помощь)</emphasis> -- Показывает этот документ. </para>
</listitem>
<listitem>
<para><emphasis remap="bf">About (О программе)</emphasis> -- Показывает диалог &quot;About&quot;.</para>
</listitem>
<listitem>
<para><emphasis remap="bf">About Qt (О Qt)</emphasis> - Показывает информацию о библиотеке
графического интерфейса с пользователем Qt. </para>
</listitem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para><emphasis remap="bf">Панель инструментов:</emphasis> Панель инструментов дублирует некоторые
наиболее полезные функции меню, а именно (в приводимом порядке):
<itemizedlist>
<listitem>
<para><emphasis remap="bf">Quit (Завершить игру)</emphasis></para>
</listitem>
<listitem>
<para><emphasis remap="bf">New (Новая)</emphasis></para>
</listitem>
<listitem>
<para><emphasis remap="bf">Give up (Сдаюсь)</emphasis></para>
</listitem>
<listitem>
<para><emphasis remap="bf">Done (Готово)</emphasis></para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para><emphasis remap="bf">Панель статуса:</emphasis> Показывает некоторую полезную информацию.</para>
</listitem>
</itemizedlist>
</para>
</chapter>

<chapter id="opisanie-igry">
<title>Описание игры</title>

<para>В первой части этого раздела будет дано описание игровой доски. Вторая часть
рассказывает о взаимодействии пользователя с игровой доской и, наконец, в
третьей части будут даны собственно правила игры.</para>

<sect1 id="opisanie-igrovoi-doski">
<title>Описание игровой доски</title>

<para>Игровая доска содержит следующие типы игровых полей:</para>

<para><itemizedlist>
<listitem>
<para><emphasis remap="bf">&quot;Серые&quot;</emphasis> -- Это черный ящик. Здесь вы отмечаете поля,
где, по вашему мнению, находятся шары. </para>
</listitem>
<listitem>
<para><emphasis remap="bf">&quot;Зеленые&quot;</emphasis> -- Это лазеры, посылающие лучи света при их
активации. </para>
</listitem>
<listitem>
<para><emphasis remap="bf">&quot;Белые&quot;</emphasis> -- Ничего интересного -- просто граница. </para>
</listitem>
<listitem>
<para><emphasis remap="bf">&quot;Голубые&quot;</emphasis> -- &quot;Здесь должен быть шар!&quot; (вы
так
считаете). </para>
</listitem>
<listitem>
<para><emphasis remap="bf">&quot;Сине-зеленые&quot;</emphasis> -- Действительное положение шаров. </para>
</listitem>
<listitem>
<para><emphasis remap="bf">&quot;Красные&quot;</emphasis> -- Неправильно угаданные положения шаров. </para>
</listitem>
<listitem>
<para><emphasis remap="bf">&quot;Коричневые&quot;</emphasis> - Цвет пометок. </para>
</listitem>
</itemizedlist>
</para>

<para><emphasis remap="bf">Примечание:</emphasis> Цвета используются только для определения различных типов
полей в этом тексте. <emphasis>Возможно</emphasis>, что они не соответствуют действительным
цветам полей. Проще говоря -- черный ящик расположен в центре, вокруг него
-- лазеры, вокруг них -- граница. Если хотите, переделайте цвета по-своему.</para>
</sect1>

<sect1 id="interfeis-s-polzovatelem">
<title>Интерфейс с пользователем</title>

<para>Курсор (квадрат) можно передвигать с помощью стандартных клавиш движения
курсора. Активирование лазеров или метки внутри черных ящиков делается с
помощью левой кнопки мыши, или нажатием клавиши &quot;Return&quot; или
&quot;Enter&quot;. Вы также можете отмечать поля на которых не должно быть
шаров щелчком правой кнопкой мыши. Это часто помогает найти правильное  
расположение шаров. Для того, чтобы удалить все метки (голубые или
коричневые) щелкайте левой кнопкой мыши. Коричневые метки не могут заместить
голубые. Благодаря этому случайные щелчки по правой кнопки мыши не приведут
к удалению голубых шаров (отмечающих возможное расположение "реальных"
шаров). </para>

<para>Когда вы решите, что найденные вами позиции шаров правильны, щелкните
средней кнопкой мыши. Программа проинформирует вас правильно ли ваше решение
и рассчитает количество очков. Количество очков -- это число букв и цифр
возникших вокруг игрового поля плюс пять очков за каждый неправильно
угаданный шар. Если вы неправильно разместили какие-либо шары, они будут
указаны красным цветом, а их правильные позиции будут указаны сине-зеленым.</para>
</sect1>

<sect1 id="pravila-igry">
<title>Правила игры</title>

<para>Вы должны найти шары, спрятанные в черном ящике. Ваши возможности --
ограничены. Вы можете только активировать лазеры, расположенные по периметру
черного ящика. Существует три возможных исхода для каждого луча, посланного
в черный ящик. </para>

<para><itemizedlist>
<listitem>
<para><emphasis remap="bf">Отклонение</emphasis> - Луч отражается и появляется где-либо в другом месте,
отличном от того, откуда он был послан. На игровом поле отраженные лучи
обозначаются одним и тем же номером в позициях, откуда луч был послан и где
он вышел.</para>
</listitem>
<listitem>
<para><emphasis remap="bf">Обратное отражение</emphasis> - Луч отражается обратно и появляется в том же
самом месте, откуда был послан. На игровом поле это обозначается символом
'R'.</para>
</listitem>
<listitem>
<para><emphasis remap="bf">Поглощение</emphasis> Луч попадает прямо в шар и поглощается. Он не покидает
черного ящика. На игровом поле Поглощение обозначается буквой 'H'.</para>
</listitem>
</itemizedlist>
</para>

<para>Правила, по которым шары отклоняются -- просты и лучше всего объясняются на
примерах.</para>

<para>Когда луч приближается к шару, он отклоняется на 90 градусов. Лучи могут
отклоняться много раз. Как показано на диаграммах внизу, пунктир обозначает
пустые ящики, буква 'O' обозначает шар. Входной и выходной сигнал каждого
луча отмечен номерами, как описано выше в строке &quot;Отклонение&quot;.
Заметьте, что входная и выходная точки взаимо-заменимы. &quot;*&quot;
обозначает путь, проделанный лучом.</para>

<para>Внимательно изучите относительные расположения шаров и отклонения лучей,
которые они вызывают.
<programlisting>
           1                                            
         - * - - - - - -         - - - - - - - -         - - - - - - - -       
         - * - - - - - -         - - - - - - - -         - - - - - - - -       
       1 * * - - - - - -         - - - - - - - -         - O - - - - O -       
         - - O - - - - -         - - O - - - - -         - - * * * * - -
         - - - - - - - -         - - - * * * * * 2     3 * * * - - * - -
         - - - - - - - -         - - - * - - - -         - - - O - * - -      
         - - - - - - - -         - - - * - - - -         - - - - * * - -       
         - - - - - - - -         - - - * - - - -         - - - - * - O -       
                                       2                         3</programlisting>
</para>

<para>Как указывалось ранее, отражение случается, когда луч появляется в той же
позиции, с которой он испускался. Это может случиться в нескольких случаях:</para>

<para><programlisting>         - - - - - - - -         - - - - - - - -          - - - - - - - -
         - - - - O - - -         - - O - O - - -          - - - - - - - -
       R * * * * - - - -         - - - * - - - -          O - - - - - - -
         - - - - O - - -         - - - * - - - -        R - - - - - - - -
         - - - - - - - -         - - - * - - - -          - - - - - - - -
         - - - - - - - -         - - - * - - - -          - - - - - - - -
         - - - - - - - -       R * * * * - - - -          - - - - - - - -
         - - - - - - - -         - - - - O - - -          - - - - - - - -</programlisting>

В первом примере луч отражается сначала вниз верхним шаром, затем влево
нижним, и, наконец, появляется там же, где он был в самом начале.
Второй пример похож на первый. Третий пример -- немного аномальный, но может
быть объяснен, если понять, что луч в этом примере не может войти в черный
ящик. Либо можно думать, что луч был отражен вниз и немедленно покинул ящик.</para>

<para>Поглощение случается, когда луч напрямую попадает в шар:
<programlisting>         - - - - - - - -         - - - - - - - -          - - - - - - - -
         - - - - - - - -         - - - - - - - -          - - - - O - - -
         - - - - - - - -         - - - - O - - -        H * * * * - - - -
         - - - - - - - -       H * * * * O - - -          - - - * - - - -
         - - - - - - - -         - - - - O - - -          - - - O - - - -
       H * * * O - - - -         - - - - - - - -          - - - - - - - -
         - - - - - - - -         - - - - - - - -          - - - - - - - -
         - - - - - - - -         - - - - - - - -          - - - - - - - -</programlisting>

Сравните второй пример поглощения с первым примером отражения.</para>
</sect1>
</chapter>

<chapter id="epilog">
<title>Эпилог</title>

<sect1 id="avtory">
<title>Авторы</title>

<para> 
<literal remap="tt">Роберт Симрман, <ulink url="mailto:cimrman3@students.zcu.cz">cimrman3@students.zcu.cz</ulink>
Дмитрий Мозжерин, <ulink url="mailto:dim@pharm.sunysb.edu">dim@pharm.sunysb.edu</ulink> -- Перевод на русский</literal></para>
</sect1>

<sect1 id="litsenziia">
<title>Лицензия</title>

<para>KBblackBox выпущен под лицензией GPL.</para>
</sect1>
</chapter>
<![ %addindex; [ &docindex; ]]>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
sgml-general-insert-case: lower
End:
-->