# Manual do &killbots;

Parker
Coates
parker.coates@kdemail.net
Luiz Fernando
Ranghetti

    elchevive@opensuse.org

Tradução
2008–2009
Parker Coates
&FDLNotice;
28/07/2009
1.1.0

O &killbots; é uma versão para o &kde; do jogo de console clássico do BSD que é o `robots`.

KDE
kdegames
jogo
robôs assassinos
Estratégia
Um jogador
Um jogador
robôs
robô
robô rápido
monte de lixo
tele-transporte
vaporizar
vaporizador
energia

## Introdução

### Tipo de jogo:

Estratégia

### Número de jogadores:

Um

O &killbots; é um jogo simples onde você deverá fugir de robôs assassinos. Quem criou os robôs e porque foram programados para destruir, ninguém sabe. Tudo o que se sabe é que eles são numerosos e o objetivo deles é destruí-lo. Felizmente para o jogador, o seu criador focou-se na quantidade em vez da qualidade e, em função disso, os robôs têm uma séria falta de inteligência. A sua mente superior e um útil dispositivo de tele-transporte são as suas únicas armas contra a corrente interminável de autômatos sem mente.

### Nota:

Esta documentação refere-se com frequência aos robôs, montes de lixo, etc., mas o &killbots; pode ser altamente configurável a nível visual. Isto significa que as imagens do jogo que pode ver poderão não corresponder às futuristas que aqui se encontram. O tipo de jogo e as estratégias, contudo, manter-se-ão, mesmo que o seu herói seja uma cenoura a ser perseguida num jardim por coelhos esfomeados.

### Nota:

O &killbots; suporta diversos conjuntos de regras que controlam os parâmetros do jogo e que determinam as funcionalidades do jogo incluídas. Esta documentação tenta ser genérica e não específica para um determinado conjunto de regras. Veja a descrição do seu conjunto de regras atual, na janela para Configurar o &killbots;, para informações mais detalhadas, nomeadamente sobre a mecânica do jogo, o tamanho da grade, as jogadas, a pontuação, a energia, etc.

## Como jogar

### Regras Básicas do Jogo

#### Objetivo:

Sobreviva a diversas levas de inimigos, acumulando ao mesmo tempo um recorde.

Imagem da grade do jogo

O &killbots; é um jogo por turnos, jogado numa grade retangular de células. O número de linhas e colunas da grade é baseado no conjunto de regras em uso. Cada célula poderá conter um dos seguintes itens:

Herói

  O herói é a alma errante que se encontra presa num quarto com vários robôs assassinos. Como jogador, o seu objetivo é garantir que permaneça vivo durante o máximo de tempo possível.

  No início de cada turno, o herói poderá efetuar um de três tipos de ações: poderá ficar onde está, poderá ir para uma célula adjacente ou poderá ainda efetuar uma ação especial. Veja em ou .

Robô

  Os robôs são homens mecânicos que apenas desejam esmagá-lo com a sua fúria metálica. Nunca ouviram falar das "Três Leis da Robótica" e, como tal, poderão provavelmente esmagar todos que tentem lhes explicar.

  Cada robô fará um movimento simples em direção ao herói em cada turno. Se o robô estiver acima do herói, ele andará para baixo. Se o robô estiver a esquerda do herói, ele andará para direita. Se o robô estiver abaixo e à direita do herói, ele andará na diagonal, acima e à esquerda. Se um robô conseguir chegar à célula do herói, o herói será morto e o jogo terminará.

Robô rápido

  Os robôs rápidos são uma versão muito mais acelerada do robô básico. Cada jogada que o herói faça, eles avançam dois passos. Felizmente, a sua mobilidade aumentada não foi associada a uma inteligência aumentada; muitas das vezes acabam por se destruir uns aos outros.

  Nem todos os tipos de jogos incluem robôs rápidos.

Monte de Lixo

  Quando dois ou mais inimigos colidem, eles são destruídos e os destroços resultantes produzem um monte de lixo. Os inimigos ignoram de forma cega os montes do lixo no seu caminho e são destruídos ao se chocarem com eles. Você poderá achar os montes de lixo bastante úteis, uma vez que poderão servir de barreiras entre você e os seus atacantes.

  Alguns conjuntos de regras permitem que o herói empurre os montes de lixo na grade. O herói poderá então usar os montes de lixo para construir bunkers ou abrigos que ofereçam proteção de vários lados. Os montes de lixo poderão inclusive ser usados de forma ofensiva, em alguns conjuntos de regras. Se empurrar um monte de lixo sobre um inimigo, irá esmagá-lo e isso poderá até resultar num bônus.

### Jogadas, Pontuação e Energia

Os indicadores de estado do jogo

#### Rodadas

A atuação em jogo no &killbots; está dividida em rodadas. Cada rodada começa com o herói no meio e com inimigos dispostos de forma aleatória em torno dele. A rodada termina quando todos os inimigos tiverem sido destruídos. À medida que cada rodada vai terminando, o número de inimigos aumenta. O número e tipo de inimigos adicionados são dependentes do conjunto de regras.

A grade irá continuar a ser preenchida com inimigos, até que uma de duas coisas aconteça: os inimigos ocupem mais de 50 por cento das células ou for tentado um tele-transporte seguro e já não existam células seguras na grade. Nesse momento, a rodada atual é abandonada e o número de inimigos é restaurado com a quantidade da rodada 1.

#### Pontuação

Não existe propriamente o conceito de ganhar no &killbots;; o herói tenta sobreviver o máximo possível, mas a triste realidade é que, no fim, a sua sorte se esgotará. Como tal, o objetivo do &killbots; é acumular a pontuação máxima possível, antes de acontecer o inevitável. As dez melhores pontuações (juntamente com a rodada atingida) são registradas na tabela de recordes.

Você irá ganhar pontos no caso de destruir os inimigos. Os robôs rápidos normalmente valem mais que os robôs normais. Você também pode ganhar pontos de bônus pelos inimigos destruídos enquanto espera na rodada ou empurra um monte de lixo.

#### Energia

Além dos pontos, o herói também poderá recolher energia à medida que o jogo evolui. A energia permite ao herói efetuar tele-transportes seguros e/ou usar o vaporizador. Dependendo do conjunto de regras, a energia poderá ser ganha por uma variedade de razões, inclusive a finalização de uma rodada, por empurrar um monte de lixo ou por destruir os inimigos enquanto espera.

A quantidade de energia máxima que o herói poderá armazenar é determinada por um valor do conjunto de regras. Em alguns tipos de jogos, o valor máximo vai aumentando à medida que vai avançando nos níveis. O estado da energia só é apresentado se o conjunto de regras incluir a energia e os tele-transportes seguros.

### Ações especiais

Além dos simples movimentos de células para células, o herói tem quatro ações especiais à sua disposição.

#### Teleporte

O herói conseguiu de alguma forma atingir um tele-transporte pessoal. Infelizmente, quando operado sem uma fonte de energia, ele não é muito confiável. Ativar o tele-transporte, fará com que o herói seja transportado para uma célula qualquer, escolhida aleatoriamente na grade. Não existe limite para o número de tele-transporte que o herói poderá efetuar.

A célula de destino está garantida como estando desocupada, mas existe uma boa chance que ela esteja adjacente a um robô enfurecido. Devido ao risco inerente do tele-transporte, este deverá ser usado como último recurso, quando já não existirem mais jogadas seguras possíveis.

#### Teleporte seguro

O tele-transporte tem de fato um segundo modo de operação, no qual irá transportar o herói para uma célula escolhida de forma aleatória mas segura. O tele-transporte seguro necessita de alguma energia, recurso normalmente pouco disponível. Obviamente, a capacidade do tele-transporte seguro poderá, em momentos-chave, aumentar o tempo de vida do herói.

Nem todos os conjuntos de regras permitem o tele-transporte seguro e os detalhes de como a energia é adquirida variam entre tipos de jogos.

#### Usar o Vaporizador

A terceira utilização para o dispositivo de tele-transporte não transporta de fato o herói. Este modo pouco comum de operação transporta todos os robôs nas células adjacentes ao herói. Ninguém irá saber de fato para onde os robôs serão transportados, mas supõe-se que irão para suficientemente longe, de modo a não incomodar o herói tão cedo. Uma vez que os robôs desaparecem no éter, sem deixarem um monte de lixo, este modo é chamado de vaporizador e os inimigos despachados pela vaporização contam como mortos, para fins de pontuação.

Como o tele-transporte seguro, a utilização do vaporizador irá necessitar de energia. Nem todos os tipos de jogos incluem o vaporizador, assim como a quantidade de energia necessária para o usar poderá variar entre tipos de jogos.

#### Jogada de Espera

Poderá haver uma situação em que a grade está disposta de tal forma que todos os robôs poderão ser destruídos sem que o herói tenha que sequer se mover. Nessa situação, você terá a opção de esperar nessa rodada.

##### Uma Oportunidade de Espera no Jogo

A espera na jogada fará com que o herói fique quieto no lugar, enquanto os inimigos continuam o seu movimento normal. Isto continua até que uma de duas situações aconteça: os inimigos se destruam entre si e a rodada termine, ou então se um inimigo conseguir atingir o herói e o jogo termine. Logo que um comando de espera seja emitido, ele não poderá ser cancelado, pelo que você deverá ter certeza que o herói esteja, de fato, seguro.

Então porque eu iria tomar uma ação que elimina a oportunidade de mudar de ideia? Bom, ela adiciona algum floreado e drama ao fim de uma rodada; porém, mais importante, existe um bônus que é ganho por cada inimigo destruído enquanto se espera na rodada. O tamanho e tipo (pontos ou energia) do bônus são determinados pelo tipo de jogo.

## Resumo da interface

### Controles de movimento

O jogador tem a opção de usar o teclado, o mouse ou ambos para controlar o herói.

#### Controlos de Movimento pelo Teclado

Existem nove ações de movimento: esquerda, direita, cima, baixo, as quatro diagonais e parar. Cada uma destas ações poderá ter duas teclas diferentes atribuídas. Por padrão, estas nove ações estão atribuídas às nove teclas do teclado numérico e a um bloco de 3 por 3 letras no extremo esquerdo de um teclado QWERTY. Obviamente, os usuários que usem um teclado diferente ou que não tenham um teclado numérico poderão modificar estas combinações de teclas com a janela para Configurar os Atalhos.

Cada um dos comandos de movimentos especiais (como o tele-transporte) também poderão ser invocados a partir do teclado. Veja como em .

#### Controles de Movimento com o Mouse

O mouse (ou qualquer dispositivo semelhante) pode ser usado para navegar de forma mais natural e intuitiva. À medida que o cursor percorre a área de jogo, o mesmo cursor irá mudar para indicar a direção relativa desde o cursor até ao herói. Por exemplo, mover o cursor para o espaço acima do herói, irá mudar o cursor para uma seta para cima. Se o cursor estiver colocado exatamente em cima do herói, o cursor muda para indicar que não haverá movimento.

Um clique simples com o botão esquerdo do mouse, fará com que o herói avance na direção indicada (desde que seja permitido um passo nesse sentido). Por conveniência, você poderá associar ações adicionais aos botões do meio e direito do mouse na janela para Configurar o &killbots;. Estas ações incluem as apresentadas em , assim como opções adicionais: Passo Repetido. Efetuar um passos repetido, fará com que o herói se desloque na direção indicada durante várias jogadas consecutivas, até que atinja um obstáculo ou até que o movimento contínuo se torne inseguro. Você poderá também interromper um passo repetido em curso clicando de novo no mouse.

### O menu Jogo

&Ctrl;N Jogo Novo

  Inicia um novo jogo, descartando o progresso atual do jogo.

&Ctrl;H Jogo Exibir recordes

  Mostra a janela de recordes, contendo as pontuações anteriores.

&Ctrl;Q Jogo Sair

  Sai do &killbots;.

### O menu Mover

R Mover Tele-transporte

  Tele-transporta o herói para uma célula aleatória e vazia do campo de jogo. Veja como em .

T Mover Tele-transportar em Segurança

  Tele-transporta o herói para uma célula vazia e aleatória que se garanta como sendo segura de ataques nessa jogada. Veja em .

Espaço Mover Tele-transportar em Segurança se Possível

  Uma ação de conveniência. Tele-transporta o herói em segurança, se isso for possível, caso contrário apenas o tele-transporta de forma aleatória.

F Mover Vaporizador

  Destrói todos os robôs nas células adjacentes ao herói Veja em .

Y Mover Esperar a Rodada

  Faz com que o herói fique fixo no lugar, até ao fim da rodada. Veja em .

### O menu Configurações

Configurações Exibir barra de ferramentas

  Mostra ou oculta a barra de ferramentas principal da aplicação.

Configurações Configurar atalhos...

  Mostra a janela padrão para Configurar os Atalhos do &kde;. Isto permite-lhe definir todos os atalhos de teclado do &killbots;, incluindo os de movimento.

Configurações Configurar barras de ferramentas...

  Mostra a janela padrão para Configurar as Barras de Ferramentas do &kde;. Isto permite ao usuário escolher as ações que aparecem na barra de ferramentas do &killbots;.

Configurações Configurar o &killbots;...

  Mostra a janela de configuração do &killbots;, onde poderá ajustar os parâmetros do jogo, escolher um conjunto de regras diferente ou alterar o tema do jogo.

### O menu Ajuda

&help.menu.documentation;

## Guia de desenvolvimento do &killbots;

Os indivíduos interessados poderão personalizar o &killbots; de duas formas importantes: temas e conjuntos de regras.

### Criando temas personalizados para o &killbots;

Como na maioria dos outros jogos do &kde;, um tema do &killbots; consiste em três arquivos.

#### O Arquivo 'Desktop'

O arquivo 'desktop' segue a sintaxe-padrão do `INI` e é usado para guardar as informações sobre o tema e para apontar para os outros arquivos. Segue-se um tema de exemplo.

##### O Arquivo 'Desktop' de um Tema de Exemplo

    [KGameTheme]
    Name=Tema de Exemplo
    Description=Um tema de exemplo para demonstrar a criação de temas. Este oferece piratas.
    Author=Sr. Artista
    AuthorEmail=senhor.artista@exemplo.com
    Type=SVG
    FileName=exemplo.svg
    Preview=exemplo.png

Os primeiros quatro parâmetros contêm metadados sobre eles e são relativamente simples de entender. Para os temas do &killbots;, o parâmetro `Type` deverá ser igual a `SVG`. Os dois últimos parâmetros contêm os nomes dos outros dois arquivos do tema. Embora não sejam estritamente necessários, por razões de consistência, todos os três arquivos compartilham o mesmo nome de base.

#### O Arquivo de Antevisão

O arquivo de antevisão é apenas um arquivo `PNG` que contém uma antevisão do tema. A imagem de antevisão deverá ter um tamanho de 240 por 1140 pixels e corresponder à disposição da antevisão do tema padrão o mais possível, uma vez que isto facilita a comparação dos temas no seletor.

#### O arquivo SVG

O arquivo SVG é um arquivo de gráficos vetoriais escaláveis que contém os elementos gráficos que são usados para compor o tema. O arquivo tanto poderá estar no formato não-comprimido `.svg` ou no formato comprimido `.svgz`. Cada elemento do jogo é identificado por um ID único no arquivo SVG. Ao criar um tema novo, normalmente é mais fácil começar com um tema existente e substituir os elementos um-a-um, até que o tema esteja completo. O arquivo SVG deverá conter os seguintes elementos.

`plano de fundo`

  A imagem apresentada atrás da grade na área de jogo principal.

`status`

  A área usada para mostrar a rodada atual, a pontuação, o número de inimigos e a energia.

`textcolor`

  Este elemento deverá ser um retângulo com uma cor única. A sua cor é usada para o texto das áreas de estado.

`célula`

  Uma célula individual da grade.

`herói`

  A personagem controlada pelo jogador.

`inimigo`

  O inimigo básico.

`fastenemy`

  O inimigo mais rápido.

`junkheap`

  O que resta de uma colisão entre inimigos.

`cursor0`

  Um cursor que indica um movimento para a direita.

`cursor1`

  Um cursor que indica um movimento para cima e para a direita.

`cursor2`

  Um cursor que indica um movimento para cima.

`cursor3`

  Um cursor que indica um movimento para cima e para a esquerda.

`cursor4`

  Um cursor que indica um movimento para a esquerda.

`cursor5`

  Um cursor que indica um movimento para baixo e para a esquerda.

`cursor6`

  Um cursor que indica um movimento para baixo.

`cursor7`

  Um cursor que indica um movimento para baixo e para a direita.

`cursor8`

  Um cursor que indica a permanência no mesmo lugar.

#### Instalar os Temas Personalizados

Para que o &killbots; detecte e use um tema novo, os arquivos deverão ser movidos para uma pasta apropriada. Para instalar o tema apenas no usuário atual, copie os arquivos 'desktop', SVG e de antevisão para `$`KDEHOME`/share/apps/killbots/themes`. Para disponibilizar o tema para todo o sistema, mova os arquivos para ```kde-config --prefix``/share/apps/killbots/themes`. Este caso poderá necessitar de privilégios de administração.

### Criar Tipos de Jogos Personalizados

#### O Arquivo 'Desktop' do Conjunto de Regras

A criação de novos tipos de jogos é incrivelmente simples para o &killbots;, especialmente quando se começa a partir de um conjunto de regras existente. Estes conjuntos são guardados como um único arquivo 'desktop', onde os parâmetros e metadados são guardados como pares chave-valor simples.

##### O Tipo de Jogo Padrão do &killbots;

    [KillbotsRuleset]
    Name=Killbots
    Name[pt]=Robots assassinos
    Author=Parker Coates
    AuthorContact=parker.coates@kdemail.net
    Description=<qt><p>The default Killbots game type.</p><p>Includes a medium size grid, safe teleports, fast enemies and pushable junkheaps.</p></qt>
    Description[pt_BR]=<qt><p>O tipo de jogo padrão do Killbots.</p><p>Inclui uma grade média, tele-transportes seguros, inimigos rápidos e lixo que se pode empurrar.</p></qt>
    Rows=16
    Columns=16
    EnemiesAtGameStart=8.0
    EnemiesAddedEachRound=4.0
    FastEnemiesAtGameStart=-2.0
    FastEnemiesAddedEachRound=2.0
    EnergyEnabled=true
    EnergyAtGameStart=0
    EnergyAddedEachRound=0
    MaxEnergyAtGameStart=12.0
    MaxEnergyAddedEachRound=0.0
    SafeTeleportEnabled=true
    CostOfSafeTeleport=1
    VaporizerEnabled=false
    CostOfVaporizer=0
    PushableJunkheaps=Many
    SquaskKillsEnabled=true
    JunkheapsAtGameStart=0.0
    JunkheapsAddedEachRound=0.0
    PointsPerEnemyKilled=5
    PointsPerFastEnemyKilled=10
    WaitKillPointBonus=0
    WaitKillEnergyBonus=1
    SquashKillPointBonus=0
    SquashKillEnergyBonus=1

Lembre-se que todos os parâmetros de texto deverão ser inseridos em Inglês. Como foi visto no exemplo acima, é possível adicionar novas traduções, repetindo para isso a chave e adicionando o código da língua entre colchetes. Repare também que você pode indicar texto formatado no campo `Description`, envolvendo o valor entre marcas <qt>.

Um arquivo de conjunto de regras deverá conter todos os seguintes parâmetros.

`Nome`

  o nome do conjunto de regras, como irá aparecer no seletor de regras e na janela de recordes.

`Autor`

  O criador do conjunto de regras

`AuthorContact`

  A informação de contato do criador. Normalmente é um endereço de e-mail.

`Descrição`

  Uma descrição do conjunto de regras. Isto deverá dar uma ideia geral decente sobre o tipo de jogo, se bem que você não precisa apresentar o valor de cada parâmetro, uma vez que essa informação poderá ser vista na janela de Detalhes.

`Linhas`

  O número de linhas na grade do jogo.

`Colunas`

  O número de colunas na grade do jogo.

`EnemiesAtGameStart`

  O número de inimigos normais adicionados à grade, no início da primeira rodada.

`EnemiesAddedEachRound`

  O número de inimigos normais adicionados à grade, no início de cada rodada.

`FastEnemiesAtGameStart`

  O número de inimigos rápidos adicionados à grade, no início da primeira rodada.

`FastEnemiesAddedEachRound`

  O número de inimigos rápidos adicionados à grade, no início de cada rodada.

`EnergyEnabled`

  Se for igual a `false`, o herói poderá ganhar ou gastar energia.

`EnergyAtGameStart`

  A quantidade de energia atribuída ao herói no início da primeira rodada.

`EnergyAddedEachRound`

  A quantidade de energia atribuída ao herói no início de cada rodada.

`MaxEnergyAtGameStart`

  A capacidade máxima de energia do herói no início da primeira rodada.

`MaxEnergyAddedEachRound`

  A capacidade máxima de energia do herói no início de cada rodada.

`SafeTeleportEnabled`

  Se for igual a `false`, a ação de tele-transporte seguro será desativada.

`CostOfSafeTeleport`

  A quantidade de energia consumida num tele-transporte seguro.

`VaporizerEnabled`

  Se for igual a `false`, a ação do vaporizador estará desativada.

`CostOfVaporizer`

  A quantidade de energia consumida na utilização do vaporizador.

`PushableJunkheaps`

  O número de montes de lixo que se podem mover com um único empurrão. Os valores possíveis são `None`, `One` e `Many`

`SquaskKillsEnabled`

  Se for verdadeiro, o herói pode esmagar os inimigos se empurrar os montes de lixo para cima deles.

`JunkheapsAtGameStart`

  O número de montes de lixo colocados na grade, no início da primeira rodada.

`JunkheapsAddedEachRound`

  O número de montes de lixo adicionais colocados na grade, no início de cada rodada.

`PointsPerEnemyKilled`

  O número de pontos ganhos por destruir um inimigo normal.

`PointsPerFastEnemyKilled`

  O número de pontos ganhos por destruir um inimigo rápido.

`WaitKillPointBonus`

  O número de pontos de bônus ganhos por destruir um inimigo enquanto se espera na rodada.

`WaitKillEnergyBonus`

  O número de unidades de energia ganhos por destruir um inimigo enquanto se espera na rodada.

`SquashKillPointBonus`

  O número de pontos de bônus ganhos por esmagar um inimigo com um monte de lixo.

`SquashKillEnergyBonus`

  O número de unidades de energia de bônus ganhas por esmagar um inimigo com um monte de lixo.

#### Instalar os Tipos de Jogos Personalizados

Para que o &killbots; detecte e use um novo tipo de jogo, o arquivo deverá ser movido para uma pasta apropriada. Para instalar o conjunto de regras apenas no usuário atual, copie o arquivo para `$`KDEHOME`/share/apps/killbots/rulesets`. Para disponibilizar o conjunto de regras para todo o sistema, mova o arquivo para ```kde-config --prefix``/share/apps/killbots/rulesets`. Lembre-se que este último caso necessita de privilégios de administração.

## Créditos e licença

&killbots;

Programa com 'copyright' 2007–2009 Parker Coates parker.coates@kdemail.net

Documentação com 'copyright' © 2008–2009 de Parker Coates parker.coates@kdemail.net

Tradução de Luiz Fernando Ranghetti elchevive@opensuse.org

&underFDL; &underGPL;

## Instalação

### Como obter o &killbots;.

&install.intro.documentation;

### Compilação e instalação

&install.compile.documentation;

&documentation.index;