# O Manual do &killbots;

Parker Coates parker.coates@kdemail.net
José Pires

    zepires@gmail.com

Tradução
2008–2009 Parker Coates
&FDLNotice;
2016-05-09
1.2.0 (Aplicações 16.04)

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

KDE kdegames jogo Killbots Estratégia Um jogador Um jogador robots robot robot 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 poderá fugir de robots assassinos. Quem criou os robots e porque foram programados para destruir, ninguém o sabe. Tudo o que se sabe é que eles são numerosos e o objectivo deles é destruí-lo a si. Felizmente para o jogador, o seu criador focou-se na quantidade em vez da qualidade e, em função disso, os robots têm uma séria falta de inteligência. A sua disposição superior e um dispositivo de tele-transporte útil 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 robots, 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 durante o jogo 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 actual, na janela para Configurar o &killbots;, para informações mais detalhadas, nomeadamente sobre a mecânica do jogo, o tamanho da grelha, as jogadas, a pontuação, a energia, etc.

## Como Jogar

### Regras Básicas do Jogo

Objectivo:

Sobreviva a diversas sequências de inimigos, acumulando ao mesmo tempo um recorde.

Imagem da grelha do jogo

O &killbots; é um jogo por turnos, jogado numa grelha rectangular de células. O número de linhas e colunas da grelha é 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 robots assassinos. Como jogador, o seu objectivo é garantir que permanece vivo durante o máximo de tempo possível.

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

Robot

  Os robots 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 toda a gente que lhas tente explicar.

  Cada 'robot' irá fazer um movimento único em direcção ao herói em cada turno. Se o 'robot' estiver por cima do herói, irá começar a descer. Se estiver à esquerda, deslocar-se-á para a direita. Se estiver em baixo e à direita, deslocar-se-á na diagonal para cima e para a esquerda. Se o 'robot' vier a ocupar a mesma célula que o herói, este será esmagado e o jogo irá terminar.

Robot Rápido

  Os 'robots' rápidos são uma versão muito mais acelerada do 'robot' básico. Por 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 'robots' rápidos.

Monte de Lixo

  Quando dois ou mais inimigos colidem, eles são destruídos e os detritos resultantes produzem um monte de lixo. Os inimigos ignoram de forma cega os montes do lixo no seu caminho e são destruídos se chocarem com eles. Poderá achar os montes de lixo bastante úteis, dado que poderão servir de barreiras entre si e os seus atacantes.

  Alguns conjuntos de regras permitem que o herói empurre os montes de lixo na grelha. O herói poderá então usar os montes de lixo para construir bunkers ou abrigos que ofereçam protecçã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

#### Jogadas

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

A grelha irá continuar a preencher-se com inimigos, até que uma de duas coisas aconteça: os inimigos ocuparem mais de 50 por cento das células ou for tentado um tele-transporte seguro e já não existam células seguras na grelha. Nessa altura, a ronda actual é abandonada e o número de inimigos é reposto com a quantidade da ronda 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 realidade depressiva é que, no fim, a sua sorte esgotar-se-á. Como tal, o objectivo do &killbots; é acumular a pontuação máxima possível, antes de acontecer o inevitável. As dez melhores pontuações (em conjunto com a ronda atingida) são registadas na tabela de recordes.

Irá ganhar pontos no caso de destruir os inimigos. Os 'robots' rápidos normalmente valem mais que os 'robots' normais. Também pode ganhar pontos de bónus pelos inimigos destruídos enquanto espera na ronda ou empurra um monte de lixo.

#### Energia

Para além dos pontos, o herói também poderá recolher energia à medida que o jogo evolui. A energia permite ao herói efectuar 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 ronda, 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.

### Acções Especiais

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

#### Tele-Transporte

O herói conseguiu de alguma forma atingir um tele-transporte pessoal. Infelizmente, não é muito fiável. Se activar o tele-transporte, fará com que o herói seja transportado para uma célula qualquer, escolhida aleatoriamente na grelha. Não existe limite para o número de tele-transporte que o herói poderá efectuar.

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

#### Tele-Transporte Seguro

O tele-transporte tem de facto 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, sendo que esta normalmente tem pouca 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 facto o herói, de todo. Este modo pouco comum de operação transporta todos os 'robots' nas células adjacentes ao herói. Ninguém irá saber de facto para onde os 'robots' serão transportados, mas supõe-se suficientemente longe, de modo a não incomodar o herói tão cedo. Dado que os 'robots' 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 altura em que a grelha está disposta de tal forma que todos os 'robots' poderão ser destruídos sem que o herói se tenha de mover sequer. Nessa situação, terá a opção de esperar nessa ronda.

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 ronda termine, ou então se um inimigo conseguir atingir o herói e o jogo termine, nesse caso. Logo que um comando de espera seja emitido, não poderá ser cancelado, pelo que deverá estar certo que o herói esteja, de facto, seguro.

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

## Apresentação à Interface

### Controlos de Movimento

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

#### Controlos de Movimento pelo Teclado

Existem nove acções de movimento: esquerda, direita, cima, baixo, as quatro diagonais e parar. Cada uma destas acções poderá ter duas teclas diferentes atribuídas. Por omissão, estas nove acçõ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 utilizadores 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 Mover.

#### Controlos de Movimento com o Rato

O rato (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 direcção relativa desde o cursor até ao herói. Por exemplo, se mover o cursor para o espaço por cima do herói, irá mudar o cursor para uma seta para cima. Se o cursor estiver colocado exactamente em cima do herói, o cursor muda para indicar que não haverá movimento.

Ao carregar uma única vez com o rato, fará com que o herói avance na direcção indicada (desde que seja permitido um passo nesse sentido). Por conveniência, poderá associar acções adicionais aos botões do meio e direito do rato na janela para Configurar o &killbots;. Estas acções incluem as apresentadas em Mover, assim como opções adicionais: Passo Repetido. Se efectuar um passos repetido, fará com que o herói se desloque na direcção indicada durante várias jogadas consecutivas, até que atinja um obstáculo ou até que o movimento contínuo se torne inseguro. Poderá também interromper um passo repetido em curso se carregar de novo no rato enquanto a jogada estiver em curso.

### Opções do Menu

&Ctrl;N Jogo Novo

  Inicia um jogo novo, esquecendo a evolução actual do jogo.

&Ctrl;H Jogo Mostrar os Recordes

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

&Ctrl;Q Jogo Sair

  Sai do &killbots;.

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 acçã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 'robots' nas células adjacentes ao herói Veja em .

V Mover Esperar a Jogada de Saída

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

Configuração 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.

Para além disso, o &killbots; tem os menus de Configuração e Ajuda normais do &kde;; para mais informações, leia as secções acerca dos menus de Configuração e Ajuda dos Fundamentos do &kde;.

## Guia de Programação do &killbots;

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

### Criar Temas Personalizados do &killbots;

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

#### O Ficheiro 'Desktop'

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

O Ficheiro '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 meta-dados 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 ficheiros do tema. Embora não sejam estritamente necessários, por razões de consistência, todos os três ficheiros partilham o mesmo nome de base.

#### O Ficheiro de Antevisão

O ficheiro de antevisão é apenas um ficheiro `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 predefinido o mais possível, dado que isto facilita a comparação dos temas no selector.

#### O Ficheiro SVG

O ficheiro SVG é um ficheiro de gráficos vectoriais escaláveis que contém os elementos gráficos que são usados para compor o tema. O ficheiro tanto poderá estar no formato não-comprimido `.svg` ou n formato comprimido `.svgz`. Cada elemento do jogo é identificado por um ID único no ficheiro 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 ficheiro SVG deverá conter os seguintes elementos.

`background`

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

`status`

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

`textcolor`

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

`cell`

  Uma célula individual da grelha.

`hero`

  A personagem controlada pelo jogador.

`enemy`

  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 sítio.

#### Instalar os Temas Personalizados

Para que o &killbots; detecte e use um tema novo, os ficheiros deverão ser movidos para uma pasta apropriada. Para instalar o tema apenas no utilizador actual, copie os ficheiros 'desktop', SVG e de antevisão para `killbots/themes` na pasta local em ``qtpaths` `--paths GenericDataLocation`` . Para disponibilizar o tema para todo o sistema, mova os ficheiros para `killbots/themes` na pasta de sistema em ``qtpaths` `--paths GenericDataLocation`` . Este caso poderá necessitar de privilégios de administração.

### Criar Tipos de Jogos Personalizados

#### O Ficheiro 'Desktop' do Conjunto

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 ficheiro 'desktop', onde os parâmetros e meta-dados são guardados como pares chave-valor simples.

O Tipo de Jogo Predefinido 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]=<qt><p>O tipo de jogo predefinido do Killbots.</p><p>Inclui uma grelha 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 introduzidos em Inglês. Como foi visto no exemplo acima, é possível adicionar novas traduções, repetindo para tal a chave e adicionando o código da língua entre parêntesis rectos. Repare também que pode indicar texto formatado no campo `Description`, envolvendo o valor entre marcas <qt>.

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

`Name`

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

`Author`

  O criador do conjunto de regras

`AuthorContact`

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

`Description`

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

`Rows`

  O número de linhas na grelha do jogo.

`Columns`

  O número de colunas na grelha do jogo.

`EnemiesAtGameStart`

  O número de jogadores normais a adicionar à grelha, no início da primeira ronda.

`EnemiesAddedEachRound`

  O número de jogadores normais a adicionar à grelha, no início de cada ronda.

`FastEnemiesAtGameStart`

  O número de jogadores rápidos a adicionar à grelha, no início da primeira ronda.

`FastEnemiesAddedEachRound`

  O número de jogadores rápidos a adicionar à grelha, no início de cada ronda.

`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 ronda.

`EnergyAddedEachRound`

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

`MaxEnergyAtGameStart`

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

`MaxEnergyAddedEachRound`

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

`SafeTeleportEnabled`

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

`CostOfSafeTeleport`

  A quantidade de energia consumida num tele-transporte seguro.

`VaporizerEnabled`

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

`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 grelha, no início da primeira ronda.

`JunkheapsAddedEachRound`

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

`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 ronda.

`WaitKillEnergyBonus`

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

`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 ficheiro deverá ser movido para uma pasta apropriada. Para instalar o conjunto de regras apenas no utilizador actual, copie o ficheiro para `killbots/rulesets` na pasta local em ``qtpaths` `--paths GenericDataLocation`` . Para disponibilizar o conjunto de regras para todo o sistema, mova o ficheiro para `killbots/rulesets` na pasta de sistema em ``qtpaths` `--paths GenericDataLocation`` . 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 José Nuno Pires zepires@gmail.com

&underFDL; &underGPL;
&documentation.index;