# Manual do &killbots;

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

    elchevive@opensuse.org

Tradução
André Marcelo Alvarenga

    alvarenga@kde.org

Tradução
2008–2009 Parker Coates
&FDLNotice;
05/07/2021
KDE Gear 21.04

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 - &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 de configuração dos 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 Mover.

#### 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 no menu Mover, 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.

### Itens dos menus

&Ctrl;N Jogo Novo

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

&Ctrl;H Jogo Mostrar recordes

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

&Ctrl;Q Jogo Sair

  Sai do &killbots;.

R Movimento Teletransporte

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

T Movimento Teletransporte seguro

  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 .

&Space; 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 Movimento Vaporizador

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

V Movimento Esperar o turno

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

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 &killbots; possui os itens dos menus Configurações e Ajuda, comuns do &kde;. Para mais informações, consulte as seções sobre o Menu Configurações e o Menu Ajuda dos Fundamentos do &kde;.

## 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 visualização

O arquivo de visualização é apenas um arquivo PNG que contém uma visualização do tema. A imagem de visualização deverá ter um tamanho de 240 por 1140 pixels e corresponder ao layout da visualizaçã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 visualização para `killbots/themes` na pasta local em ``qtpaths` `--paths LocalizaçãoDeDadosGenérica``. Para disponibilizar o tema para todo o sistema, mova os arquivos para `killbots/themes` na pasta do sistema (do comando anterior, possivelmente `/usr/share`). Neste caso será necessário ter 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 `killbots/rulesets` na pasta local em ``qtpaths` `--paths LocalizaçãoDeDadosGenérica``. Para disponibilizar o conjunto de regras para todo o sistema, mova o arquivo para `killbots/rulesets` na pasta do sistema (do comando anterior, possivelmente `/usr/share` ou semelhante). Neste caso será necessário ter 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 e André Marcelo Alvarenga alvarenga@kde.org

&underFDL; &underGPL;
&documentation.index;