Modulo Vitollino

Note

Engenho de jogos do Superpython

Gerador de labirintos e jogos tipo ‘novel’.

Gerador de labirintos e jogos tipo ‘novel’.

Vitollino em Github

class vitollino.main.Bloco[source]
conta_pecas(valor_peca)[source]
inicia_de_novo()[source]
nao_monta()[source]
vai()[source]
class vitollino.main.Cena(img='', esquerda=<CenaNula>, direita=<CenaNula>, meio=<CenaNula>, vai=None, nome='', xy=(0, 0), score={}, **kwargs)[source]

Use para construir uma cena.

from _spy.vitollino import Cena

cena_esq = Cena(img="esq.jpg")
cena_mei = Cena(img="mei.jpg", cena_esq)
cena_mei.vai()
Parameters:
  • img (str) – URL da imagem
  • esquerda (Cena) – Cena que está à esquerda desta
  • direita (Cena) – Cena que está à direita desta
  • meio (Cena) – Cena que está à frente desta
  • vai – Função a ser chamada no lugar da self.vai nativa
bota(nome_item)[source]
static c(**cenas)[source]
portal(esquerda=None, direita=None, meio=None, **kwargs)[source]
static q(n=<CenaNula>, l=<CenaNula>, s=<CenaNula>, o=<CenaNula>, nome='', **kwargs)[source]
static s(n=<CenaNula>, l=<CenaNula>, s=<CenaNula>, o=<CenaNula>, nome='', **kwargs)[source]
sai(saida)[source]
score(**kwargs)[source]
tira(item)[source]
vai(ev=<NoEvent>)[source]
vai_direita(_=0)[source]
vai_esquerda(_=0)[source]
vai_meio(_=0)[source]
class vitollino.main.Codigo(codigo='', topo='', cena=Inventario, img='', vai=None, style={})[source]
Um objeto de interação que é representado por uma trecho de código em uma cena.
exemplo = Codigo(
codigo=”from anna import main”, topo=”Importando um módulo”, vai=testa_codigo, style=dict(left=350, top=550, width=60))
Parameters:
  • codigo – O código de programa
  • vai – função executada quando se clica no objeto
  • style – dicionário com dimensões do objeto {“left”: …, “top”: …, width: …, height: …}
  • topo – Texto que aparece no topo do bloco
  • cena – cena onde o objeto vai ser colocado
class vitollino.main.Cursor(alvo, cena=<BrythonMock name='mock.__getitem__()' id='139857815857184'>)[source]
class vitollino.main.Dragger(dragger)[source]
ACTION = ''
POINTER = ''
drag_start(ev)[source]
highten(dy)[source]
mouse_down(ev)[source]
static mouse_over(ev)[source]
mouse_up(_)[source]
no_mouse_move(ev)[source]
pre_mouse_down(ev)[source]
pre_mouse_move(ev)[source]
static pre_mouse_over(ev)[source]
pre_mouse_up(_)[source]
widen(dx)[source]
class vitollino.main.Droppable(droppable, dropper_name='', action=None, cursor=None)[source]
drag_over(ev)[source]
drop(ev)[source]
class vitollino.main.Dropper(dropper)[source]
drag_start(ev)[source]
mouse_over(ev)[source]
class vitollino.main.Elemento(img='', vai=None, style={}, tit='', alt='', x=0, y=0, w=100, h=100, o=1, texto='', cena=Inventario, score={}, drag=False, drop={}, tipo='100% 100%', **kwargs)[source]

Um objeto de interação que é representado por uma imagem em uma cena.

papel = Elemento(
img=”papel.png”, tit=”caderno de notas”, vai=pega_papel, style=dict(left=350, top=550, width=60))
Parameters:
  • img – URL de uma imagem
  • vai – função executada quando se clica no objeto
  • style – dicionário com dimensões do objeto {“left”: …, “top”: …, width: …, height: …}
  • tit – Texto que aparece quando se passa o mouse sobre o objeto
  • alt – Texto para leitores de tela
  • x – Posição x, na horizontal a partir da esquerda do elemento na cena
  • y – Posição y, na vertical a partir do topo do elemento na cena
  • w – Largura em pixels do elemento na cena
  • h – Altura em pixels do elemento na cena
  • texto – Se fornecido, este texto vai aparecer quando se clica no elemento
  • cena – cena alternativa onde o objeto vai ser colocado
  • score – determina o score para este elemento
  • drag – Se o valor for True, o o elmento será arrastável, default Faslse
  • drop – recebe um dicionário {“a”: ator} onde ator é uma função def ator(ev, nome} chamada quando “a” é arrastado cá
  • kwargs – lista de parametros nome=URL que geram elementos com este nome e a dada imagem
do_drag(drag=True)[source]
do_drop(drop='')[source]
do_score(tit)[source]
drag
drag_over(ev)[source]
drag_set
drag_start(ev)[source]
drop(ev)[source]
drop_set
foi()[source]
img_drag_start(ev)[source]
img_prevent(ev)[source]
mouse_over(ev)[source]
o
style
style_set
tit
x
y
class vitollino.main.Elemento_(img='', vai=None, style={}, tit='', alt='', cena=Inventario, score={}, drag=False, drop='', **kwargs)[source]

Um objeto de interação que é representado por uma imagem em uma cena.

papel = Elemento(
img=”papel.png”, tit=”caderno de notas”, vai=pega_papel, style=dict(left=350, top=550, width=60))
Parameters:
  • img – URL de uma imagem
  • vai – função executada quando se clica no objeto
  • style – dicionário com dimensões do objeto {“left”: …, “top”: …, width: …, height: …}
  • tit – Texto que aparece quando se passa o mouse sobre o objeto
  • alt – Texto para leitores de tela
  • cena – cena alternativa onde o objeto vai ser colocado
  • score – determina o score para este elemento
  • kwargs – lista de parametros nome=URL que geram elementos com este nome e a dada imagem
classmethod c(**kwargs)[source]
entra(cena, style={})[source]
limbo = <BrythonMock name='mock.DIV()' id='139857815290640'>
score(**kwargs)[source]
class vitollino.main.Folha(texto, ht_ml, tela, left)[source]
drag_start(ev)[source]
mouse_over(ev)[source]
class vitollino.main.Inventario(tela=<BrythonMock name='mock.__getitem__()' id='139857815857184'>)[source]

Os objetos que estão de posse do jogador.

Parameters:tela – Div do HTML onde o inventário será anexado
GID = '80a75ccc'
bota(nome_item, item='', drag=False, acao=None)[source]

Os objetos que estão de posse do jogador.

>>> inv.bota("uma_coisa")
>>> "uma_coisa" in inv.inventario
True
Parameters:
  • nome_item – uma string com o nome do item, ele será criado e colocado no inventário
  • item – URL da imagem do item nomeado por nome_item
  • drag – Se for True o objeto será arrastável
  • acao – ação associada com o item nomeado quando ele é clicado
desmonta(_=0)[source]
inicia()[source]
monta(_=0)[source]
mostra(_=0)[source]
score(casa, carta, move, ponto, valor, _level=1)[source]
static send(operation, data, action=<function Inventario.<lambda>>, method='POST')[source]
tira(nome_item)[source]
class vitollino.main.Jogo[source]
algo

Acessa a classe Elemento

cena

Acessa a classe Cena

nota

Acessa a classe Texto

quarto

Acessa a classe Sala

sala

Acessa a classe Salao

class vitollino.main.Labirinto(c=<CenaNula>, n=<CenaNula>, l=<CenaNula>, s=<CenaNula>, o=<CenaNula>)[source]
lb()[source]
static m(cenas)[source]
static n(cenas)[source]
class vitollino.main.Musica(sound, loop=True, autoplay=True, sound_type='audio/mpeg')[source]
class vitollino.main.NoEv[source]

Representa um evento vazio.

>>> print(ev.x, ev.y)
-100 -100
class vitollino.main.Point(x, y)[source]
px()[source]
class vitollino.main.Popup(cena, tit='', txt='', vai=None, **kwargs)[source]
POP = <Popup>
static d(cena, tit='', txt='')[source]
static inicia()[source]
vai()[source]
class vitollino.main.Portal(cena=None, debug_=False, **kwargs)[source]
L = {'cursor': 'e-resize', 'left': '90%', 'margin': '0%', 'min-height': '60%', 'position': 'absolute', 'top': '20%', 'width': '10%'}
N = {'cursor': 'n-resize', 'left': '20%', 'margin': '0%', 'min-height': '20%', 'position': 'absolute', 'top': 0, 'width': '60%'}
O = {'cursor': 'w-resize', 'left': 0, 'margin': '0%', 'min-height': '60%', 'position': 'absolute', 'top': '20%', 'width': '10%'}
PORTAIS = {'L': {'cursor': 'e-resize', 'left': '90%', 'margin': '0%', 'min-height': '60%', 'position': 'absolute', 'top': '20%', 'width': '10%'}, 'N': {'cursor': 'n-resize', 'left': '20%', 'margin': '0%', 'min-height': '20%', 'position': 'absolute', 'top': 0, 'width': '60%'}, 'O': {'cursor': 'w-resize', 'left': 0, 'margin': '0%', 'min-height': '60%', 'position': 'absolute', 'top': '20%', 'width': '10%'}, 'S': {'bottom': 0, 'cursor': 's-resize', 'left': '20%', 'margin': '0%', 'min-height': '10%', 'position': 'absolute', 'width': '60%'}, 'Z': {'cursor': 'zoom-in', 'margin': '0%', 'min-height': '10%', 'position': 'absolute', 'width': '10%'}}
S = {'bottom': 0, 'cursor': 's-resize', 'left': '20%', 'margin': '0%', 'min-height': '10%', 'position': 'absolute', 'width': '60%'}
Z = {'cursor': 'zoom-in', 'margin': '0%', 'min-height': '10%', 'position': 'absolute', 'width': '10%'}
p(**kwargs)[source]
vai(*_)[source]
class vitollino.main.Sala(n=<CenaNula>, l=<CenaNula>, s=<CenaNula>, o=<CenaNula>, nome='', **kwargs)[source]
static c(**cenas)[source]
leste
norte
oeste
p()[source]
sul
class vitollino.main.SalaCenaNula[source]

Define uma Sala ou uma Cena vazia.

>>> cena = Cena(SalaCenaNula())  # A próxima cena
>>> uma_cena = Cena(SalaCenaNula(), cena)  # Cena nula à esquerda, proxima no meio
>>> uma_cena.vai_esquerda()  # tenta navegar para a cena à esquerda
>>> # não vai, pois a cena é nula e não deixa que se navegue para ela
>>> print(INVENTARIO.cena == cena)
True

Deve ser usado quando um parâmetro requer uma cena mas não deve ter uma cena válida ali.

class vitollino.main.Salao(n=<CenaNula>, l=<CenaNula>, s=<CenaNula>, o=<CenaNula>, nome='', **kwargs)[source]
static c(**cenas)[source]
p()[source]
class vitollino.main.Suporte(bloco, ht_ml, tela, left, certa)[source]
drag_over(ev)[source]
drop(ev)[source]
class vitollino.main.Texto(cena=<CenaNula>, tit='', txt='', foi=None, **kwargs)[source]
esconde(ev=<NoEvent>)[source]
foi
mostra(tit='', txt='', act=None, **kwargs)[source]
static texto(tit='', txt='', **kwars)[source]
vai(ev=<NoEvent>)[source]
vitollino.main.main()[source]
vitollino.main.parametrized(dec)[source]
vitollino.main.singleton(cls_to_decorate)[source]

Decora um classe para ser um singleton e retornar sempre a mesma instância.

>>> @singleton
... class Mono:
...     def __init__(self):
...             self.x = 0
...
>>> Mono().x, Mono().x = 1, 2
>>> print(Mono().x == Mono().x, Mono().x)
True 2
Parameters:cls_to_decorate – A classe para ser definida como singleton
Returns:O decorador de singleton
vitollino.main.wraps_class_to_mimic_wrapped(original_cls)[source]

Empacota uma classe decoradora para que apareça corretamente nos documentos.

>>> @wraps_class_to_mimic_wrapped
... class Exemplo:
...     ...
...
>>> print(Exemplo.__doc__)
Atualiza wrapper_cls para se assemelhar à classe original_cls.
Parameters:original_cls – A Classe a ser empacotada
Returns:O empacotador da classe

Indices and tables