Kwarwp¶
Um jogo de aventura que se joga aprendendo e criando programas na linguagem Python.
Este ambiente facilita a aprendizagem da linguagem Python.
O jogo é dirigido principalmente ao ensino de programação de computadores para jovens e crianças do ensino médio e fundamental.
Documentação¶
Descrição dos módulos do Kwarwp.
Jogo para ensino de programação Python.
- Classes neste módulo:
Changelog¶
New in version 20.08.b1: Adicionou JogoProxy para realizar o passo a passo.
Capacidade de gerenciar mais de um índio.
Changed in version 20.08.b0: Moveu constantes de classe VITOLLINO, LADO para Vazio.
Moveu Vazio, Oca, Piche para kwarwpart.
New in version 20.08.a3: Movimentação do índio para Indio.esquerda() e
Indio.direita(). Fala do índio: Indio.fala().
classes Oca e Piche, double dispatch para sair.
New in version 20.08.a2: Classe Vazio que recebe cada componente do mapa. Movimentação do índio é feita pulando para outro vazio.
New in version 20.08.a1: Classe Indio que executa roteiro e anda.
New in version 20.08.a0: Fábrica de componentes classe Indio. Usa um mapa de caracteres para colocar os elementos.
New in version 20.07: classe Kwarwp.
-
kwarwp.kwarapp.IMGUR= 'https://imgur.com/'¶ Prefixo do site imgur.
-
class
kwarwp.kwarapp.Indio(imagem, x, y, cena, taba, vitollino=None)[source]¶ Cria o personagem principal na arena do Kwarwp na posição definida.
Parameters: - imagem – A figura representando o índio na posição indicada.
- x – Coluna em que o elemento será posicionado.
- y – Cinha em que o elemento será posicionado.
- cena – Cena em que o elemento será posicionado.
- taba – Representa a taba onde o índio faz o desafio.
-
AZIMUTE= Rosa(n=Ponto(x=0, y=-1), l=Ponto(x=1, y=0), s=Ponto(x=0, y=1), o=Ponto(x=-1, y=0))¶ Constante com os pares ordenados que representam os vetores unitários dos pontos cardeais.
-
acessa(ocupante)[source]¶ Pedido de acesso a essa posição, delegada ao ocupante pela vaga.
Parameters: ocupante – O componente candidato a ocupar a vaga já ocupada pelo índio. No caso do índio, ele age como um obstáculo e não prossegue com o protocolo.
-
azimute= None¶ índio olhando para o norte
-
elt¶ A propriedade elt faz parte do protocolo do Vitollino para anexar um elemento no outro .
No caso do índio, retorna o elt do elemento do atributo self.indio.
-
ocupa(vaga, *_)[source]¶ Pedido por uma vaga para que ocupe a posição nela.
Parameters: vaga – A vaga que será ocupada pelo componente. No caso do índio, requisita que a vaga seja ocupada por ele.
-
ocupou(ocupante)[source]¶ O candidato à vaga decidiu ocupá-la e efetivamente entra neste espaço.
Parameters: ocupante – O canditato a ocupar a posição corrente. Este ocupante vai entrar no elemento do Vitollino e definitivamente se tornar o ocupante da vaga. Com isso ele troca o estado do método acessa para primeiro consultar a si mesmo, o ocupante corrente usando o protocolo definido em _valida_acessa ()
-
x= None¶ Este x provisoriamente distingue o índio de outras coisas construídas com esta classe
-
class
kwarwp.kwarapp.JogoProxy(vitollino=None, elt=None, proxy=None, master=False)[source]¶ Proxy que enfileira comandos gráficos.
Parameters: - vitollino – Empacota o engenho de jogo Vitollino.
- elt – Elemento que vai ser encapsulado pelo proxy.
- proxy – Referência para o objeto proxy parente.
- master – Determina se este elemento vai ser mestre de comandos.
-
a(*args, **kwargs)[source]¶ Método fábrica - Encapsula a criação de elementos
Parameters: - args – coleção de argumentos posicionais.
- kwargs – coleção de argumentos nominais.
Returns: Proxy para um Elemento construído com estes argumentos.
-
ae= None¶ Cria um referência o Adapador de Eelementos
-
c(*args, **kwargs)[source]¶ Encapsula a criação de cenas - apenas delega.
Parameters: - args – coleção de argumentos posicionais.
- kwargs – coleção de argumentos nominais.
Returns: Uma Cena do Vitollino construída com estes argumentos.
-
corrente¶ Ativa Fábrica do JogoProxy
-
e(*args, **kwargs)[source]¶ Método fábrica - Encapsula a criação de elementos ativos, que executam scripts
Parameters: - args – coleção de argumentos posicionais.
- kwargs – coleção de argumentos nominais.
Returns: Proxy para um Elemento construído com estes argumentos.
-
elt¶ Propriedade elemento
-
pos¶ Propriedade posição
-
siz¶ Propriedade tamanho
-
x¶ Propriedade posição x
-
y¶ Propriedade posição y
-
class
kwarwp.kwarapp.Kwarwp(vitollino=None, mapa=None, medidas={}, indios=())[source]¶ Jogo para ensino de programação.
Parameters: - vitollino – Empacota o engenho de jogo Vitollino.
- mapa – Um texto representando o mapa do desafio.
- medidas – Um dicionário usado para redimensionar a tela.
-
KW= None¶
-
apedra(imagem, x, y, cena)[source]¶ Cria uma pedra na arena do Kwarwp na posição definida.
Parameters: - x – coluna em que o elemento será posicionado.
- y – linha em que o elemento será posicionado.
- cena – cena em que o elemento será posicionado.
Cria uma vaga vazia e coloca o componente dentro dela.
-
atora(imagem, x, y, cena)[source]¶ Cria uma tora na arena do Kwarwp na posição definida.
Parameters: - x – coluna em que o elemento será posicionado.
- y – linha em que o elemento será posicionado.
- cena – cena em que o elemento será posicionado.
Cria uma vaga vazia e coloca o componente dentro dela.
-
barra(imagem, x, y, cena)[source]¶ Cria uma armadilha na arena do Kwarwp na posição definida.
Parameters: - x – coluna em que o elemento será posicionado.
- y – linha em que o elemento será posicionado.
- cena – cena em que o elemento será posicionado.
Cria uma vaga vazia e coloca o componente dentro dela.
-
coisa(imagem, x, y, cena)[source]¶ Cria um elemento na arena do Kwarwp na posição definida.
Parameters: - x – coluna em que o elemento será posicionado.
- y – linha em que o elemento será posicionado.
- cena – cena em que o elemento será posicionado.
Cria uma vaga vazia e coloca o componente dentro dela.
-
col= None¶ Largura da casa da arena dos desafios, número de colunas e linhas no mapa
-
cria(mapa='')[source]¶ Fábrica de componentes.
Parameters: mapa – Um texto representando o mapa do desafio.
-
indio(imagem, x, y, cena)[source]¶ Cria o personagem principal na arena do Kwarwp na posição definida.
Parameters: - x – coluna em que o elemento será posicionado.
- y – linha em que o elemento será posicionado.
- cena – cena em que o elemento será posicionado.
-
lado= None¶ Largura da casa da arena dos desafios, número de colunas e linhas no mapa
-
lin= None¶ Largura da casa da arena dos desafios, número de colunas e linhas no mapa
-
maloc(imagem, x, y, cena)[source]¶ Cria uma maloca na arena do Kwarwp na posição definida.
Parameters: - x – coluna em que o elemento será posicionado.
- y – linha em que o elemento será posicionado.
- cena – cena em que o elemento será posicionado.
Cria uma vaga vazia e coloca o componente dentro dela.
-
mapa= None¶ Cria um matriz com os elementos descritos em cada linha de texto
-
os_indios= None¶ Instância do personagem principal, o índio, vai ser atribuído pela fábrica do índio
-
taba= None¶ Cria um dicionário com os elementos traduzidos a partir da interpretação do mapa
-
vazio(imagem, x, y, cena)[source]¶ Cria um espaço vazio na arena do Kwarwp na posição definida.
Parameters: - x – coluna em que o elemento será posicionado.
- y – linha em que o elemento será posicionado.
- cena – cena em que o elemento será posicionado.
-
vitollino= None¶ Referência estática para obter o engenho de jogo.
-
kwarwp.kwarapp.MAPA_INICIO= '\n..#^¨..\n'¶ Mapa com o posicionamento inicial dos elementos.
-
class
kwarwp.kwarapp.Ponto(x, y)¶ Par de coordenadas na direção horizontal (x) e vertiacal (y).
-
x¶ Alias for field number 0
-
y¶ Alias for field number 1
-