# O manual do &kappname;

Wolfgang
Rohdewald
wolfgang@rohdewald.de
Marcus
Gama

    marcus.gama@gmail.com

Tradução
2010-03-19
&kappversion;

Esta documentação descreve a versão &kappversion; do jogo &kappname;

KDE
kdegames
jogo
kajongg
tabuleiro
arcade
jogo de peças
peças
quatro jogadores

## Introdução

### Tipo de jogo:

Tabuleiro, arcade

### Número de possíveis jogadores:

Quatro

O &kajongg; é um jogo de tabuleiro criado com base no famoso jogo oriental Mahjong (do Chinês 麻將). É jogado por quatro jogadores. Existem diversas regras de jogo disponíveis no mundo inteiro. Atualmente, o &kajongg; suporta as regras clássicas chinesas, que também são usadas na Alemanha; eventualmente, outros conjuntos de regras irão surgir, sendo possível também a configuração dos mesmos conjuntos. Por favor, faça-o e envie as modificações para o autor do programa, de modo a integrá-las!

O &kajongg; pode ser usado de duas formas diferentes: Pontuar um jogo manual, onde poderá jogar como sempre fez sem o auxílio de um computador e usar o &kajongg; para o cálculo dos pontos e para registro. Por outro lado, você poderá usar o &kajongg; para jogar contra qualquer combinação de jogadores humanos ou computorizados.

## A Disposição da Tela

Uma imagem do &kajongg;; Captura de tela

Uma explicação rápida dos componentes da tela do jogo.

Barra de Ferramentas

  A barra de ferramentas localiza-se abaixo da barra de menu e contém botões para as ações usadas com maior frequência. O conteúdo da barra de ferramentas poderá ser editado. Você poderá torná-la invisível também, ganhando mais espaço no tabuleiro.

Tabuleiro

  O Tabuleiro é a maior seção da janela. Você poderá ver as quatro paredes com uma extensão de 18 peças (poderá ser configurável, eventualmente). Os nomes dos jogadores estão escritos nas paredes, juntamente com o valor da mão atual (conforme conhecida) com as suas peças de pontos cardeais. A parede prevalente tem um fundo colorido, que na imagem acima corresponde ao Este.

  Quando estiver jogando, o interior das paredes contém as peças descartadas pelos jogadores. Estas são colocadas de forma aleatória. A última peça eliminada tem um contorno a azul.

  Quando estiver pontuando jogos manuais, o interior das paredes tem uma seleção com todas as peças disponíveis, o seletor central. Você poderá atribuí-las aos jogadores com o mouse ou com o teclado.

Região do Jogador

  Todos os jogadores possuem um espaço na tela para as suas peças. A fila superior contém as peças expostas, enquanto a inferior contém as ocultas. No caso dos jogos de pontuação manual, as peças ocultas são apresentadas com uma sombra sobre a peça inteira. As peças de bônus vão para o lado direito.

Diálogo

  A janela apresenta as opções que o jogador tem. Na maior parte dos casos, tem um tempo-limite com uma barra de progresso que apresenta o tempo que falta.

Barra de Estado

  A barra de estado localiza-se no fundo da janela e contém os totais atuais para os jogadores.

## Pontuar um Jogo Manual

Neste modo, o &kajongg;; só é usado para calcular a pontuação. Você joga como de costume, com pessoas reais numa mesa real e, no fim do jogo, poderá dizer ao &kajongg; as peças que um jogador tem na sua mão e toda a informação necessária para calcular a pontuação - que é o que o programa irá fazer. Em alternativa, você poderá calcular manualmente os pontos da jogada e inserí-los. O &kajongg;; irá então fazer os pagamentos entre os vários jogadores e guardar os resultados numa base de dados. É possível suspender um jogo, iniciar outro com outros jogadores e prosseguir os jogos antigos. Todas as regras serão salvas em conjunto com os jogos, de modo que possa jogar diferentes jogos com diferentes regras.

- A partir do menu, escolha Jogo / Jogo de Pontuação Manual ou pressione &Ctrl;C.

- Para um jogo novo, associe os jogadores aos quatro ventos e selecione o conjunto de regras desejado. O &kajongg; irá propor os mesmos valores que o jogo anterior. Se não existir nenhum jogo anterior, irá propor os primeiros quatro jogadores definidos. Lembre-se que você não poderá alterar o conjunto de regras ou algumas destas regras após esta seleção. Se quiser rever ou modificar as regras de um jogo, faça-o de antemão no editor de conjuntos de regras.

- Agora você irá obter uma nova janela chamada "Insira os resultados da jogada". Veja em Ter o &kajongg; calculando a pontuação para obter uma descrição mais detalhada.

- Depois de salvar os resultados da jogada, continue com a jogada seguinte.

### Inserir os resultados da jogada.

#### Pontuações

Uma imagem do &kajongg;;
Captura de tela

Esta é a janela para inserir os resultados da jogada. Aparece automaticamente quando o &kajongg; achar que você poderá necessitar dela. Você poderá mostrá-la ou ocultá-la sempre com o atalho &Ctrl;S ou selecionando o item de menu correspondente.

Como sempre, o vento prevalente tem o seu fundo colorido.

Aqui você poderá inserir manualmente as pontuações para todos os jogadores. Em alternativa, poderá definir exatamente as peças que um jogador tinha na sua mão. Se optar por fazer isso, o campo correspondente para o valor da pontuação manual ficará desativado, uma vez que o &kajongg; irá calcular automaticamente a pontuação.

Depois de ter inserido todos os dados relevantes para uma mão, pressione o botão Salvar a mão. Os valores serão inseridos na base de dados, sendo também inseridos na tabela de pontuações. Você poderá ser questionado para mudar as posições dos jogadores, mas também pode optar por não mudar os lugares. As alterações propostas não podem ser personalizadas atualmente - se um conjunto de regras necessitar de algo diferente, isso poderá ser alterado.

Se o jogador tiver ganho, a opção na coluna "Vencedor" ficará ativa - clique nela para o vencedor.

A barra de estado irá mostrar agora os saldos para os jogadores, e você poderá depois prosseguir com a mão seguinte.

##### Inserir a pontuação manualmente

Um bom jogador irá provavelmente preferir calcular a sua própria pontuação. Nesse caso, você poderá inserí-la diretamente. Isto só é possível, desde que não tenha selecionado nenhuma peça para este jogador.

Se você inserir uma pontuação manual, já deverá conter tudo exceto as penalidades, não tendo regras opcionais por onde escolher. Existe uma exceção: o "Jogo Perigoso". Isto não influencia nenhuma pontuação, assim como também não é nenhuma ofensa. Significa apenas que o pagamento entre os jogadores é diferente: a pessoa ofensiva paga tudo por todos ao vencedor. Os outros dois jogadores não efetuam pagamentos entre si. Isto não é possível personalizar neste momento.

##### Deixar o &kajongg; calcular a pontuação

Se você disser explicitamente ao &kajongg; as peças que um jogador apresenta, a inserção das pontuações ficará desativada para esse jogador nesta janela. Enquanto associa as peças a um jogador, irá ver como a pontuação dele irá aumentar - contudo, assim que adicionar a 14ª peça, a pontuação vai a zero. Isso poderá surpreendê-lo mas, a menos que declare esta como sendo a jogada do vencedor, será reconhecida como uma jogada extensa, que terá sempre zero pontos. Este comportamento é definido pelo conjunto de regras chinesas clássicas, podendo ser diferente se usar um conjunto de regras diferente.

Você poderá associar as peças e as combinações com um jogador, usando o mouse, o teclado ou ambos. Atribua opcionalmente as peças aos jogadores, arrastando e soltando-as no espaço do jogador. Ao soltar a peça, será questionado o que deseja mover: Simples, Par, Pung, Kong, Kong Pedido ou Chow. A fila superior serve para as peças expostas, enquanto a inferior serve para as ocultas. As peças de bônus irão aparecer no lado direito. Você poderá também mover as peças entre filas, entre jogadores e para o seletor central.

Se você preferir usar o teclado, poderá usar o &Tab; para mudar entre o seletor central e as regiões dos jogadores. As teclas ESWN movem uma peça dos jogadores a Este, Sul, Oeste e Norte. A tecla xX recoloca a peça de volta no seletor central. O ESWN vai para o grupo oculto, enquanto o eswn vai para o grupo visível. Você poderá mover o cursor entre as peças ou as combinações, usando as teclas de cursores, em que a peça ou combinação atual terão uma moldura azul. Uma vez que as teclas dos cursores estão distantes das letras no teclado, poderá também usar as teclas hjkl ou HJKL para mover o cursor. O hH move para a esquerda, o jJ para baixo, o kK para cima e o lL para a direita. Assim é como funciona o editor de Unix "vi". Estas teclas poderão ser diferentes se usar uma língua diferente do Inglês, mas não é possível atualmente configurá-las.

As opções "Última Peça" e "Última Combinação" são necessárias para algumas regras, como a "última peça completa o par". Só podem ser usadas na jogada do vencedor.

Do lado direito, você poderá aplicar manualmente algumas regras. As regras que aparecem nesta lista dependem do conjunto de regras atual e das peças. No exemplo da imagem acima, os jogadores perdedores poderão ter uma opção de "jogo perigoso" - que depende mais uma vez do conjunto de regras e das suas peças. O objetivo dos programadores é manter esta lista de regras a mais curta possível. Otimamente, o &kajongg; deverá ser sempre capaz de determinar automaticamente se uma regra se aplica, mas em alguns casos o &kajongg; não tem informação suficiente ou não é inteligente o suficiente para decidir.

#### Penalidades

Uma imagem do &kajongg;;
Captura de tela

Na janela para inserir os resultados da jogada, o botão de Penalidades irá invocar esta janela, na qual poderá inserir as mesmas penalidades. Isto poderá ser feito a qualquer momento, independentemente do mecanismo de pontuação normal.

A lista ofensa mostra todas as ofensas que poderão ser aplicadas às jogadas que os jogadores efetuaram. Escolha uma entre elas.

Agora, você poderá adaptar a Penalidade Total. Esta é a soma total que é movida entre devedores e credores. Ela poderá ser dividida por igual entre eles.

Dependendo do tipo de ofensa, o número de credores e devedores varia. O número correto de listas é apresentado. Se escolher um jogador, o &kajongg; garante que este jogador só ocorre uma vez, alterando os outros jogadores.

## Jogando

### Jogar contra o computador

Em primeiro lugar, você irá obter uma janela de autenticação. Insira o servidor do jogo a que deseja se conectar, bem como o seu nome de usuário. Se escolher o item especial "Jogo Local", você só terá que indicar o seu nome (ou aceitar o proposto) e o conjunto de regras desejado. Isto irá iniciar automaticamente um jogo local onde poderá jogar contra 3 jogadores por computador.

### Jogar com amigos

Se você quiser jogar contra outras pessoas reais, irá necessitar de um servidor do jogo onde todos os jogadores, incluindo você mesmo, terão que se conectar. Faça isso selecionando outra máquina qualquer ou inserindo manualmente o nome de uma nova máquina e indicando a sua senha para essa máquina. Será proposta a última senha usada.

Se você não tiver uma conta nesse servidor com o nome que inseriu, será questionado se deseja abrir uma conta. Caso responda afirmativamente, irá obter uma nova janela onde poderá inserir duas vezes a senha desejada. A sua conta será criada automaticamente.

Depois de se autenticar com sucesso no servidor de jogos, irá obter uma lista das mesas com lugares disponíveis nesse servidor de jogos. Junte-se a uma mesa ou crie uma nova. Se criar uma nova, espere até que os outros lugares sejam ocupados por jogadores. Você poderá iniciar o jogo numa mesa que tenha reservado em qualquer momento, sendo que os lugares não ocupados serão ocupados por jogadores computorizados.

A lista de mesas também mostra o nome do conjunto de regras jogado na mesa. O conjunto de regras e seu nome são enviados para o servidor de jogos pelo jogador que iniciou a mesa. Se você possuir um conjunto de regras idêntico, a mesa mostra o seu nome para o conjunto de regras - isto pode ser útil se o iniciador da mesa falar outro idioma e nomear o conjunto de regras de maneira diferente. Além disso, se o nome do seu conjunto de regras for exibido, ele será exibido em preto. Se, no entanto, você não possuir um conjunto de regras idêntico, o nome aparece em vermelho, e você poderá usar o botão Comparar para comparar com os seus próprios conjuntos de regras.

Você poderá iniciar o servidor de jogos do Kajongg de duas diferentes formas:

- conecte-se ao servidor "localhost". Este é o seu próprio computador. Se o fizer, e caso não tenha nenhum servidor rodando, ele será iniciado automaticamente. Quando parar de jogar, o servidor será também interrompido.

- inicie manualmente um servidor em qualquer computador que desejar. Tudo o que precisa é em uma linha de comando iniciar o programa "kajonggserver". Se indicar "kajonggserver --help", serão apresentadas todas as opções disponíveis, como a alteração da porta padrão, que é o 8149. Este servidor ficará rodando até que você o termine.

Em ambos os casos, você precisa dizer aos outros jogadores como eles podem acessar o seu servidor de jogos. Eles irão necessitar do URL, ou apenas do endereço IP e porta onde tem o seu servidor à espera de conexões. Isto poderá ser algo do tipo "meupc.dyndns.org:8149" onde o 8149 é a porta. Obviamente, você terá que configurar o seu 'firewall', para que o jogador remoto consiga se conectar a essa porta. A comunicação será criptografada.

Se você encontrar possíveis erros, poderá querer usar a opção "--showtraffic". Ela lhe mostrará, no console em que o servidor foi iniciado, as mensagens que seguem entre o servidor do jogo e os clientes.

#### Protestos

- Se quiser ter certeza de que ninguém trapaceará, nenhum dos jogadores humanos deverá ter acesso ao computador onde está o servidor em execução. Obviamente, você não poderá nunca evitar que dois jogadores se ajudem um ao outro, porque não pode saber o que realmente eles estão fazendo. Esses dois jogadores até poderão ser uma mesma pessoa.

### Como jogar

Você será questionado sobre o que deseja fazer. Esta é uma pequena janela que aparece seja à direita ou na base, dependendo do tamanho total da janela. Se você torná-la mais larga do que alta, a janela aparece à direita. Algumas janelas terão um tempo-limite - quando este expirar, a primeira resposta possível fica selecionada automaticamente. Este tempo-limite é configurado no Editor de Conjuntos de Regras, em Opções, Tempo-Limite do Pedido. Todos os jogadores deverão ter o mesmo tempo-limite, o que explica porque isto faz parte do conjunto de regras.

Se você precisar selecionar uma peça da sua jogada, poderá circular pelas peças com as teclas de cursor para a esquerda ou direita, ou então com as teclas 'h' e 'l', respectivamente. Você pode usar também o mouse, é claro.

Muitas vezes, as janelas irão oferecer opções que não se aplicam de fato, como invocar um Pung quando não possui as peças necessárias. Isso é o desejado - como acontece num jogo real.

As peças descartadas são colocadas aleatoriamente entre as paredes. Algumas variantes do jogo definem onde deverão ser colocadas as peças, mas isso ainda não é configurável. Quando for, fará parte do conjunto de regras.

## Resumo da interface

### O menu Jogo

Jogo Jogo de Pontuações Manuais

  Só pontuar um jogo executado manualmente.

  Você poderá carregar um jogo antigo ou iniciar um novo. Por padrão, só os jogos pendentes (i.e., não terminados) aparecem na lista de seleção. Você poderá mostrar opcionalmente todos os jogos, incluindo os terminados. Aqui poderá também apagar os jogos.

Jogo Jogar

  Jogar com outros jogadores (humanos ou computorizados)

Jogo Cancelar

  Interrompe o jogo atual. Se foi um jogo manual apenas com pontuações, você poderá prosseguir mais tarde. Se você jogou com recurso ao &kajongg;, o jogo ainda não pode ser continuado.

Jogo Sair

  Sai do &kappname;.

### O Menu Ver

Ver Pontuação

  Janela de Pontuações: Mostra ou oculta a janela de pontuações. Esta janela está explicada aqui.

Ver Tabela de Pontuações

  Tabela de Pontuações Tabela de Pontuações Imagem Mostra a tabela de pontuações. A coluna mais esquerda, com os valores E,S,O,N mostra o ponto cardeal do jogador. A coluna ∆ mostra quanto o jogador ganhou ou perdeu nesta ronda. A coluna ∑ mostra o saldo total. As dicas fornecem mais detalhes: Mostram todas as regras que foram aplicadas a esta jogada.

  A parte inferior mostra o conjunto de regras usado. Entre a tabela de pontuações e a última regra usada, você poderá encontrar uma divisória que lhe permite mudar os tamanhos relativos de ambas as partes.

Ver Explicar as Pontuações

  Explicar as Pontuações Tabela de Pontuações Tabela de Pontuações Explica como foi calculada a pontuação para a mão atual.

### O menu Configurações

Configurações Jogadores

  Adicione, modifique e apague jogadores.

Configurações Mudar o Ângulo Visual

  Altera o ângulo de visualização das peças no sentido anti-horário.

Configurações Modo Tela Cheia

  Muda entre o modo de tela cheia e o modo normal.

Configurações Exibir barra de ferramentas

  Mostra ou oculta a barra de ferramentas.

Configurações Exibir barra de estado

  Exibe ou oculta a barra de estado.

Configurações Configurar atalhos...

  Mostra uma janela normal de configuração de atalhos do &kde; para mudar os atalhos do teclado do &kappname;.

Configurações Configurar barra de ferramentas...

  Mostra uma janela padrão do &kde; onde poderá configurar os ícones da barra de ferramentas.

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

  Abre uma janela de configuração para o &kappname;.

### O menu Ajuda

&help.menu.documentation;

## Configuração do jogo

Janela de Configuração
Janela de Configuração

A opção de menu Configurações Configurar o &kappname;... abre a janela para Configurar o &kappname;.

Se você pressionar o botão Cancelar aqui, todas as suas alterações de configuração serão restauradas, incluindo tudo o que fez com o editor de conjuntos de regras.

Você poderá também selecionar as diferentes páginas com o teclado: o &Ctrl;1 seleciona a primeira página com as opções para Jogar, o &Ctrl;2 seleciona a segunda página, e assim por diante.

### Opções de reprodução

Mostrar sombras das peças

  Isto exibe as peças com contornos e sombras. Também haverá algum espaço entre as linhas de peças e as peças do muro são exibidas de modo que você possa ver se o muro possui duas ou três peças de altura. Assim, se você desativar esta opção, você terá uma visão mais simples com peças ligeiramente maiores. Isto pode ser útil para telas pequenas.

Reorganizar as peças ocultas em combinações

  Esta opção agrupa as combinações que um determinado jogador possui. Em alguns casos, o agrupamento não será o que deseja, e você poderá preferir não ter qualquer agrupamento, tal como aconteceria num jogo real.

Usar os sons se possível

  Isto permite-lhe ouvir os descartes e pedidos. Se os outros jogadores gravaram arquivos de sons com a sua própria voz, você poderá ouví-los.

Deixar os outros ouvirem a minha voz

  Se você gravou arquivos de som com a sua voz, esta opção permitirá aos outros jogadores ouvirem os seus descartes e pedidos com a sua voz.

#### Som

É possível gravar arquivos de som para os seus pedidos, os quais serão escutados pelos outros jogadores. No entanto, é necessário algum trabalho manual:

- Primeiro, você terá que descobrir onde guardar os arquivos com a sua voz. Normalmente, esta pasta é a '~/.kde/share/apps/kajongg'. Por isso, se o seu nome de usuário for 'joao', poderá ser algo do tipo /home/joao/.kde/share/apps/kajongg. Aí dentro, irá encontrar a base de dados 'kajongg.db'.

- Na pasta que encontrou, crie uma nova sub-pasta chamada `voices`.

- Na pasta `voices`, crie outra sub-pasta com seu nome de jogador. Este é o nome que você usa quando conecta ao servidor de jogos. Você pode também definir vozes para os outros jogadores `ROBOT 1`, `ROBOT 2`, `ROBOT 3`.

- Nessa sub-pasta, poderá colocar os arquivos de som. Eles terão que ser codificados com a compressão de áudio Ogg Vorbis, devendo os nomes dos arquivos ter a extensão `.ogg`.

- Um arquivo único tem um nome do tipo `s3.ogg` - esta é a Pedra 3. Você poderá definir esses arquivos para todas as peças, bem como para todos os pedidos e anúncios.

Por favor, certifique-se de que a duração do som é curta mas emitida de forma clara - este jogo poderá ser jogado de forma muito rápida quando se habituar a ele. É mais fácil se escrever primeiro uma lista com tudo o que deseja falar. Não o leia como uma sequência de itens; tente pronunciar cada um deles como se fosse o único, ao jogar. A leitura disto necessita de alguma prática.

Esta é apenas uma possibilidade para criar os arquivos de som:

- Grave um arquivo de som com o programa `qarecord` e grave-o no formato `WAV`. Neste arquivo de som único, emita logo todos os sons desejados.

- Edite esse arquivo com o editor de sons `audacity`. Nesse editor, use o mouse para marcar um intervalo nas ondas sonoras. O editor irá reproduzir apenas essa parte. Repita o procedimento até ter selecionado a parte correta. Isto será mais fácil se usar a opção Ver Ampliar. Use a opção Arquivo Exportar a Seleção e salve no formato OGG. Nas Opções, escolha a qualidade baixa - ela é suficiente e, de certa forma, até desejável, porque reduz o tempo de transferência para os outros jogadores.

Os seguintes são os nomes dos arquivos que você deverá gerar. Sempre anexe `.ogg` a eles:

##### Nomes dos arquivos de som

&s1; .. &s9; | Pedra 1 a Pedra 9
&b1; .. &b9; | Bambu 1 a Bambu 9
&c1; .. &c9; | Caractere 1 a Caractere 9
&we; &ws; &ww; &wn; | Os ventos de Este, Sul, Oeste e Norte
&db; &dr; &dg; | Os dragões azul/branco, vermelho, verde
&chow; &pung; &kong; &mahjongg; | Os pedidos principais
&originalcall; &violatesoriginalcall; | Pedido do original e a sua violação
&dangerousgame; | Um jogador deixou um canhão (jogo perigoso)
&nochoice; | Um jogador declara que não tem outra opção, a não ser fazer um jogo perigoso

### Opções das Peças

Editor de conjuntos de peças
Editor de conjuntos de peças

Usar o seletor de Peças para escolher os gráficos para as peças.

### Opções do Fundo

Seletor do fundo
Seletor do fundo

Usar o seletor do Fundo para escolher uma imagem de fundo para o jogo.

Alguns fundos, como a Paisagem Chinesa, levam algum tempo para carregar. Se achar que o programa deva iniciar mais depressa ou se o dimensionamento da janela leva muito tempo, poderá tentar outro fundo qualquer.

### Editor de Conjuntos de Regras

Editor de Conjuntos de Regras
Editor de Conjuntos de Regras

Use o Editor de Conjuntos de Regras para personalizá-las. Os conjuntos de regras padrão aparecem em itálico, enquanto os personalizados aparecem com um tipo de fonte normal. Os conjuntos padrão não poderão ser alterados de forma alguma. Uma atualização do &kajongg; poderá alterá-las. Os conjuntos de regras personalizados não serão alterados por nenhuma atualização.

Ao iniciar um jogo novo, você poderá escolher um conjunto de regras para esse jogo. Todos os conjuntos de regras definidos no editor de conjuntos de regas poderão ser usados. O conjunto de regras é salvo em conjunto com o jogo, assim poderá alterar sempre os conjuntos de regras aqui - as suas alterações só irão afetar os jogos futuros.

#### Regra, Pontuação e Unidade

Basta fazer duplo-clique sobre o item a alterar.

#### Definição

A definição de uma regra poderá ser relativamente complexa. Existe um capítulo separado para isto, o Definir uma Regra. Você não terá normalmente que alterar uma definição. Isto define essencialmente as jogadas em que a regra se aplica.

#### Copiar e Remover

Você poderá copiar regras individuais dentro de um conjunto ou conjuntos de regras inteiros. Uma vez que os conjuntos padrão são imutáveis, as regras individuais só poderão ser copiadas para dentro de conjuntos de regras personalizados.

Você poderá remover conjuntos inteiros ou regras individuais dentro dos conjuntos. Mais uma vez, isto até poderá ser feito se os jogos existentes usarem este conjunto, uma vez que cada jogo tem a sua própria cópia do conjunto de regras. Você poderá ver os conjuntos de regras dos jogos antigos: Carregue o jogo antigo e mostre a sua tabela de pontuações.

#### Comparar

Comparador de Conjuntos de Regras Comparador de Conjuntos de Regras Você poderá selecionar este comando quando selecionar um conjunto de regras inteiro. Ele permite-lhe comparar o conjunto de regras selecionado contra qualquer outro conjunto de regras.

### Combinações de teclas padrão

A opção de menu Configurações Configurar os atalhos... permite-lhe modificar os atalhos de teclado padrão.

As combinações de teclas padrão são as seguintes:

F1

  Mostra este manual.

&Ctrl;C

  Pontua um jogo manual.

&Ctrl;N

  Joga um jogo com outros amigos ou jogadores computorizados.

&Ctrl;W

  Interrompe o jogo atual.

&Ctrl;Q

  Sai do programa.

&Ctrl;T

  Mostra a tabela de pontuações.

&Ctrl;G

  Muda o ângulo de visualização.

&Shift;F1

  Ajuda O Que É Isto?

&Ctrl;&Shift;F

  Modo tela cheia

## Definir uma Regra

O motor de pontuações e muitos outros aspectos do &kajongg; poderão ser personalizados com o editor de conjuntos de regras. Uma regra consiste num nome, numa pontuação (incluindo a sua unidade) e uma definição.

### Grupos de Regras

Existem diversos grupos de regras:

Regras das Combinações

  As regras de combinações são aplicadas às combinações individuais, independentemente do resto da jogada.

Regras da Jogada

  As regras da jogada aplicam-se à jogada toda, incluindo todos os jogadores.

Regras do Mah Jongg

  As regras do Mah Jongg definem como deverá ser composta uma rodada vencedora. Normalmente são quatro combinações, com 3 ou 4 peças cada uma, e um par. Mas poderão existir outras rodadas especiais e diferentes, como os 13 Órfãos no Chinês Clássico.

Regras do Vencedor

  As regras do vencedor aplicam-se à jogada inteira, mas apenas ao vencedor. Isto inclui a maioria das rodadas especiais. Essas regras não têm que aplicar o número correto de peças.

Opções

  Aqui você poderá encontrar alguns parâmetros especiais, como os pontos para uma jogada limitada.

Penalidades

  As penalidades são aplicadas manualmente pelo usuário.

#### Ordem de Execução

- crie uma lista de regras aplicáveis, a partir das regras de combinações e de jogadas

- descubra, usando as regras do Mah Jongg, se a jogada do vencedor declarado é realmente uma jogada vencedora.

- para o vencedor, aplique as regras do vencedor aplicáveis

- se alguma das regras tiver a ação '&absolute;', mantenha apenas essa. Ainda está por definir o que acontece, caso seja encontrada mais de uma.

- se alguma das regras definir limites, retire todas as outras

- aplique as regras encontradas nessa ordem

### A Definição

A definição é uma cadeia única de caracteres, uma vez que o objetivo é torná-la simples de ser gravada numa base de dados. Consiste em diversas partes separadas pelos dois caracteres "||". Uma parte expressa tanto uma condição sob a qual se aplica a regra ou expressa algumas ações. Só poderá ser definida uma parte para as ações, mas poderá definir várias para as condições. A regra aplica-se assim que pelo menos uma das expressões de condição corresponder à jogada.

O &kajongg; vem com dois conjuntos de regras predefinidos, que implementam exatamente as mesmas regras chinesas clássicas que se jogam também pela DMJL na Alemanha. Isto deverá fornecer vários exemplos.

Estas são todas as partes reconhecidas:

Expressão Regular com Capitalização Variável

  Uma parte que comece por um I é uma Expressão Regular que não faz qualquer diferença entre maiúsculas e minúsculas.

Ação

  Uma parte que comece por A é uma lista de Ações.

Expressão Manual

  Esta é uma Expressão Regular opcional. Para os jogos de pontuação manual, define se esta regra deverá ser selecionada pelo jogador assinalado. O M inicial não pertence à expressão regular. Um exemplo disto seria a regra "Última Peça Retirada da Parede Morta".

Expressão regular

  Qualquer outra parte é uma Expressão Regular.

### Expressões Regulares

Uma expressão regular é uma ferramenta de programação muito poderosa para fazer a correspondência de cadeias de caracteres. É poderosa, mas também é bastante difícil. Não é para os jogadores normais. Existem livros disponíveis que não fazem mais nada a não ser explicar as expressões regulares.

Existem diversos dialetos para as expressões regulares. O &kajongg; está escrito na linguagem de programação Python. Uma vez que a biblioteca-padrão do Python contém um módulo para expressões regulares, é este que é usado.

Para mais detalhes, veja em

Tudo o que possa ter uma influência na pontuação de uma jogada é codificada como uma única cadeia de caracteres. Depois, o &kajongg; verifica se a expressão regular corresponde a esse texto. Se o fizer, a regra é aplicada.

Por exemplo, esta expressão regular corresponde à jogada por limite "Todos os Verdes":

    ( |[bB][23468]|[dD]g)*[fy/]

#### Estrutura do Texto de uma Jogada

O conteúdo do texto de uma jogada é sempre o mesmo, independentemente da língua que usar no seu ambiente de trabalho.

O texto que representa uma jogada consiste em diversos textos parciais, separados por um espaço. A ordem destas partes é sempre a mesma, excetuando as combinações no início.

O &kajongg; é capaz de reagrupar as peças ocultas em combinações, com o objetivo de obter uma pontuação máxima. Não interessa como são agrupadas as peças para isto funcionar. Contudo, quando se relaciona com as jogadas por limite, isto poderá falhar. É por isso que o &kajongg; irá tentar o agrupamento original das peças, tal como é inserido pelo usuário, bem como a variante reagrupada. Se algum deles corresponder à expressão regular da regra, esta aplicar-se-á. A variante que resultar na melhor pontuação é a escolhida.

Aqui vem um exemplo. Ele está apenas numa linha, mas está aqui dividido por razões de legibilidade. Além disso, esta frase está repetida uma vez, porque algumas expressões regulares são muito mais fáceis de escrever se as partes poderem ser referenciadas por outra ordem. Veja a regra Roubar o Kong: A sua expressão regular vê primeiro o grupo L (Última Peça) antes de olhar para as combinações.

    c1c1c1C1 s1s2s3 b6b6b7b7b8b8 b5b5 fn yn
    /c416s000b000b000b200 -C416s000b000b000b200 %n Mneka LB5B5B5

Uma peça é representada por 2 caracteres. O primeiro é o 's' para pedra, 'b' para bambu, 'c' para caracter, 'w' para vento, 'd' para dragão, 'y' para um bônus de estação e 'f' para um bônus de flor. O segundo é 1..9 para os naipes, e,s,w,n para os ventos e w,r,g para os dragões (branco, vermelho, verde). As peças visíveis têm o primeiro caracter em minúsculas, enquanto as ocultas o possuem em em maiúsculas.

Todas as partes a seguir estão sempre presentes nesta ordem, exceto a parte "Última Peça": Ela existe apenas para a jogada vencedora.

Combinação

  Uma parte que comece por um dos caracteres `s,b,c,d,w,S,B,C,D,W` é uma combinação. Uma combinação contém um número arbitrário de peças. O &kajongg; irá dividir as combinações com muitas peças, de modo a tentar maximizar a pontuação.

  É usada uma sintaxe especial para os 'kongs': o 'c1c1c1c1' é um 'kong' aberto. O 'c1c1c1C1' é um 'kong' aberto, onde foi pedida a 4ª peça, completando um 'pung' oculto. Isto é necessário para o jogo limitado 'jogo de cores verdadeiras ocultas'. O 'c1C1C1c1' é um 'kong' declarado oculto. O 'C1C1C1C1' seria um 'kong' não declarado e oculto. Contudo, uma vez que não está declarado, conta como um 'pung'. Assim, esta combinação será dividida num 'pung' C1C1C1 e num C1 individual.

  As peças de bônus aparecem após todas as combinações.

Resumo

  Uma parte que começa por / contém a informação de resumo das combinações. Isto torna mais simples criar expressões regulares. Cada combinação é representada por quatro caracteres. O primeiro caracter é um de `sbcdwSBCDW`, correspondendo as minúsculas aos expostos e as maiúsculas aos ocultos. O segundo caracter é um número que diz quantas peças a combinação contém. Vai de 0, para um 'chow', e de 1 até 4 para um 'kong'. Os dois últimos caracteres contêm o valor desta combinação.

Resumo alternativo

  A parte que começa por '-' é idêntica ao resumo acima, mas contém os 'kongs' pedidos como 'kongs' ocultos. Algumas regras, como os "Três Pongs Ocultos", tratam um 'kong' pedido como oculto.

Comprimento da jogada

  A parte que começa por % contém informações sobre o comprimento da jogada: 's' é uma jogada curta com peças a menos, 'n' é uma jogada com o número correto de peças e 'l' é uma jogada longa com peças a mais.

Mah Jongg

  Uma parte que começa por 'm', 'M' ou 'x' contém informações adicionais. O 'M' corresponde a uma jogada vencedora, enquanto o 'm' corresponde a uma jogada perdedora, e o 'x' corresponde a uma jogada proibida no Mah Jongg, por exemplo. O 'M'/'m'/'x' é seguido de um caractere para o próprio vento, um caractere para o vento predominante, um caractere para a origem da última peça que conduziu ao Mah Jongg e um caractere para as declarações que um jogador fez.

  Estas são as origens possíveis da última peça: w=parede, d=descartado, e=beco sem saída, z=última peça do fim, Z=última peça descartada do fim k=roubar o kong, 1=benção da terra/céu. Os valores 'w' e 'd' são especiais - são de certa forma valores intermediários. Ao escolher uma peça oculta como última peça, a origem é mudada para 'w'. Em seguida, diversas regras dizem que só são aplicadas se a última peça vier da parede. Assim, isto permite uma melhor seleção prévia das regras manuais que se aplicam de fato. Para uma melhor compreensão, veja por favor as regras do manual e consulte a ação &lastsource;.

  Estas são as declarações possíveis: a=pedir no início, t=sorte dobrando.

Última Peça

  Uma parte que começa por L contém informações sobre a última peça. Primeiro vem a última peça propriamente dita, seguida da combinação que foi terminada com a última peça. É necessária esta última combinação para a regra "A Última Peça é a Única Possível", porque nem sempre é suficiente saber que é apenas a última peça. Lembre-se que a última combinação não poderá ser um Kong, porque se completar um Kong, terá que colocar uma peça de substituição.

Jogada Limitada Manualmente

  Isto ainda não está implementado mas poderá ser necessário para as regras que são definidas pela BMJA (na Inglaterra). Uma parte que começa por K contém todas as peças possíveis a verificar, caso sejam atribuídos pontos para um jogada limitada pedida. Poder-se-á usar a força bruta e verificar todas as peças, mas isso poderá levar bastante tempo.

### Ações

Todas as ações de uma regra estão definidas numa única sequência de texto. Elas são separadas por espaços. Algumas delas definem um valor.

&payforall;

  O jogador fez algo realmente errado e deverá pagar para todos. Mesmo assim, não é uma penalidade, uma vez que a soma dos pagamentos é a mesma - só o pagador é que muda. Do mesmo modo, os dois jogadores não envolvidos não efetuam pagamentos.

&payers;=X

  Define quantos pagadores esta regra de penalidade implica. O X é um número.

&payees;=X

  Define quantos receptores de pagamento esta penalidade implica. O X é um número.

&absolute;

  Esta regra define um pagamento absoluto. A pontuação da jogada é ignorada. Usado para as regras de penalidades.

&lastsource;

  Esta ação define a origem da última peça. É usada nas regras manuais como a "última peça de um beco sem saída". A definição da última origem com esta ação serve como filtro para outras regras - se só forem disparadas para determinadas origens. Essas outras regras também poderão ser regras manuais, obviamente. Assim, esta filtragem irá reduzir a quantidade de regras manuais que são apresentadas ao usuário na janela de pontuação. Se isto parecer complicado, basta brincar um pouco com a janela de pontuações e ver as opções de marcação aparecendo ou a desaparecendo, dependendo da origem da última peça.

## Problemas conhecidos

- Ainda não é possível para o próprio jogador abrir uma conta no servidor de jogos.

- No modo de jogo, as penalidades ainda não são possíveis.

- Os jogadores computorizados ainda são relativamente estúpidos.

- Os nomes dos jogadores computadorizados não podem ser personalizados.

- Não é possível ainda prosseguir os jogos com o computador.

## Possíveis funcionalidades futuras

- Adicionar mais conjuntos de regras. Isto deverá ser feito opcionalmente pelas pessoas que usam esses conjuntos de regras com regularidade.

- Adicionar sons. Os pedidos de "Chow", &etc;, deverão ser sintetizados, bem como as peças que são eliminadas. Definir sons-padrão, mas possibilitar ao jogador gravar a sua própria voz.

## Perguntas mais frequentes

Eu quero alterar o visual do jogo. É possível?

Sim. Para mudar a aparência do &kappname;. use a opção do menu para abrir o utilitário de configuração.

Posso usar o teclado para atribuir peças aos jogadores?

Sim. Veja como Ter o &kajongg; calculando a pontuação

## Créditos e licença

&kappname; para o &kde;

Programa com 'copyright' © 2009, 2010 de Wolfgang Rohdewald wolfgang@rohdewald.de

Documentação com 'copyright' © 2009, 2010 de Wolfgang Rohdewald wolfgang@rohdewald.de

Tradução de Marcus Gamamarcus.gama@gmail.com

&underFDL; &underGPL;

## Instalação

Use o pacote .deb de . Se não funcionar para você, poderá obter o kajongg-x-y.tar.gz no mesmo endereço e depois fazer o seguinte:

    tar xfz kajongg-x-y.tar.gz
    cd kajongg-x-y
    ./setup.py install

Em ambos os casos, terá que se certificar manualmente que os outros pacotes necessários estão instalados. O pacote da Debian ainda não contém esses requisitos. O &kajongg; necessita de: (pacotes correspondentes na Debian entre parênteses)

- a biblioteca de jogos do KDE4 (libkdegames5)

- Python 2.5 ou superior (python)

- QT4.4 ou superior (libqt4-core, libqt4-gui, libqt4-svg, libqt4-sql, libqt4-sql-sqlite)

- as interfaces em Python para o QT4 (python-qt4, python-qt4-sql)

- as interfaces em Python para o KDE4 (python-kde4)

- a interface 'twisted' em Python (python-twisted-core)

- sqlite3 (libsqlite3-0)

&documentation.index;