Jogo de Tabuleiro Quarto.¶
Modulo Quarto¶
Jogo de Tabuleiro Quarto.
Code author: Carlo Oliveira <carlo@ufrj.br>
Classes neste módulo:
JogoDoQuarto
Jogo de tabuleiro para dois jogadores.
Pino
Representa um pino que se move de um tabuleiro para outro.
Casa
Representa um case que pode receber um pino no tabueiro.
See also
Note
Este módulo é um tutorial ensinando a programar um jogo de tabuleiro simples.
Classe Pino¶
Módulo Jogo de Tabuleiro Quarto.
-
class
adda.quarto.
Pino
(indice, cor, casa, dx=101, dy=60)[source]¶ Pinos do jogo quarto variando em cor, altura, forma e buraco
Observação: Uma folha sprite é uma imagem contendo vários desenhos com peças que serão usados em um jogo.
Parameters: - indice – O índice do pino na folha sprite (cada imagem tem 8 pinos).
- cor – Nome da imagem sprite com um conjunto de pinos claros ou escuros.
- casa – Casa original onde o pino vai ser colocado.
- dx – o intervalo horizontal em pixels entre duas figuras de pino na folha sprite.
- dy – o intervalo vertical em pixels entre duas figuras de pino na folha sprite.
-
static
pino
(nome)[source]¶ Retorna o pino localizado dado o nome.
Parameters: nome – O nome do pino no dicionário de pinos PINOS. Returns: O objeto pino que tem o nome dado. Return type: Instância da classe Pino.
-
static
pinos
(cor, table)[source]¶ Cria um conjunto de pinos de uma cor e aloca no dado tabuleiro.
Parameters: - table – A tabela contendo um cojunto de casas onde os pinos serão alocados.
- cor – Nome da imagem sprite com um conjunto de pinos claros ou escuros.
Returns: Uma lista de pinos alocados nas casas do tabuleiro dado.
Return type: Lista contendo instâncias da classe Pino.
Classe Casa¶
Módulo Jogo de Tabuleiro Quarto.
-
class
adda.quarto.
Casa
(base, fundo, x, y, dx=0, dy=3, mx=0, my=0, livre=False, t=75)[source]¶ Casa do jogo quarto, podendo ser do tabuleiro central ou adjacentes.
Parameters: - base – A cena em que este tabuleiro vai entrar.
- fundo – A imagem que representa esta casa.
- livre – Indica se a casa está livre ou ocupada quando for criada.
- t – Tamanho (altura e largura do desenho da casa, inicia em um oitavo do tabuleiro.
- x – A posição absoluta horizontal em casas que esta casa vai ser colocada.
- y – A posição absoluta vertical em casas que esta casa vai ser colocada.
- dx – O deslocamento horizontal em casas que esta casa tem em relação à esquerda.
- dy – O deslocamento vertical em casas que esta casa tem em relação ao topo.
- mx – Ajuste fino horizontal em pixels do posicionamento da casa.
- my – Ajuste fino vertical em pixels do posicionamento da casa.
Note
folha sprite: é uma imagem contendo vários desenhos com peças que serão usados em um jogo. dropper: dicionário necessário para definir o comportamento do drop. Cada chave deste dicionário deve ser o nome de um pino passível de ser arrastado para esta casa. Os nomes são do tipo topo0 … topo7 ou lado0 … lado7. A construção {f”{nome}{pino}”: ..} é chamada em Python de dict comprehension, pois gera um dicionário a partir de uma iteração. O termo f”{nome}{pino}” constrói as chaves do dicionário a partir da lista (topo, lado) e dos números de 0 a 7. O termo lambda ev, nome_pino, *_: self.entrar(nome_pino) é uma função anônima que recebe os parametros ev e nome_pino enviados pelo mecanismo interno de arrasto do Elemento. Neste caso, para qualquer pino eu quero que ele entre na casa corrente, por isso o self.entrar(nome_pino) é chamado dentro da função anônima.
Classe Jogo do Quarto¶
Módulo Jogo de Tabuleiro Quarto.
-
class
adda.quarto.
JogoDoQuarto
[source]¶ Bases:
object
Jogo do Quarto - Jogo de Tabuleiro. Quarto é um jogo de tabuleiro para dois jogadores inventado pelo matemático suíço Blaise Müller em 1991.
O jogo é jogado em um tabuleiro 4 × 4. Existem 16 peças únicas para brincar, cada uma das quais é:
- alto ou baixo;
- vermelho ou azul (ou um par diferente de cores, por exemplo, madeira manchada de clara ou escura);
- quadrado ou circular; e
- topo oco ou topo sólido.
Os jogadores se revezam na escolha de uma peça que o outro jogador deve colocar no tabuleiro. Um jogador vence colocando uma peça no tabuleiro que forma uma linha horizontal, vertical ou diagonal de quatro peças, todas com um atributo em comum (todas curtas, todas circulares, etc.). Uma regra de variante incluída em muitas edições fornece uma segunda maneira de ganhar colocando quatro peças correspondentes em um quadrado 2 × 2.
-
table
(base, fundo, linhas=5, colunas=5, dx=0, dy=3, mx=0, my=0, livre=False)[source]¶ Cria um conjunto de casas de um tipo e aloca na cena dada.
Parameters: - base – A cena em que este tabuleiro vai entrar.
- fundo – A imagem que representa cada casa.
- livre – Indica se as casas estão livres ou ocupadas quando forem criadas.
- t – Tamanho (altura e largura do desenho da casa, inicia em um oitavo do tabuleiro.
- linhas – O número de linhas de casas neste tabuleiro.
- colunas – O número de colunas de casas neste tabuleiro.
- dx – O deslocamento horizontal em casas que cada casa tem em relação à esquerda.
- dy – O deslocamento vertical em casas que cada casa tem em relação ao topo.
- mx – Ajuste fino horizontal em pixels do posicionamento de cada casa.
- my – Ajuste fino vertical em pixels do posicionamento de cada casa.
Returns: Uma tabela de duas dimensões de casas arranjadas nas posições dadas.
Return type: Lista de listas contendo instâncias da classe Casa.