Invasores Documentação

Universo

class universo.Universo(dimensao: typing.Tuple[int, int], quadros: int = 60) → None[código fonte]

Responsável pela manutenção do conjunto de objetos do jogo (objetodojogo.ObjetoDoJogo). Esta classe varre sua lista de objetos, chamando o método de respiração de cada objeto, rotina de cálculo de pontos e também gerando o fundo de estrelas.

adicione(objeto: objetodojogo.ObjetoDoJogo)[código fonte]

Adiciona um objeto à lista de desenho.

atualize()[código fonte]

Atualiza o estado do jogo, chamando o método ObjetoDoJogo.respire() de todos os objetos na lista de desenho.

desenhe(posicao: typing.List[int], imagem)[código fonte]

Desenha a imagem na posição x, y indicada

desenhe_fundo()[código fonte]

Apaga a tela e desenha as estrelas

desenhe_objetos()[código fonte]

Desenha a lista de objetos na tela

escreva(posicao: typing.List[int], texto, cor, tamanho=None)[código fonte]

Escreve uma mensagem de texto na posição x, y passada. Se uma das posições for igual a -1, centraliza no eixo específico

finalize_sincronia()[código fonte]

Espera o fim do frame atual.

gere_estrelas() → None[código fonte]

Gera aleatoriamente as estrelas do fundo. As coordenadas x e y de cada estrela são escolhidas aleatoriamente e representão a posição da estrela. z é o tamanho da estrela.

objetos = None

lista de objetos do jogo

reconfigura_video(mensagem: int)[código fonte]

Usado para trocar de resolução. Atualiza os limites do universo, gera novas estrelas.

remova(objeto: objetodojogo.ObjetoDoJogo)[código fonte]

Retira um objeto da lista de desenho e da lista de colisões

teste_colisao()[código fonte]

Verifica se objetos de classes diferentes colidem uns com os outros

Objetos

class objetodojogo.ObjetoDoJogo(nome, pos, imagem=None, tipo=None)[código fonte]

Implementa os objetos do universo. Um objeto do jogo representa uma imagem que será desenhada a cada frame. Para mudar o estado do objeto, o universo chama o método respire() a cada frame.

Quando dois objetos colidem, o valor de dano é utilizado para subtrair um valor da resistência do outro objeto.

Quando a resistência chega a zero, o objeto é removido do universo

carregue_imagem(nome: str) → None[código fonte]
colida(objeto)[código fonte]

Chamado quando dois objetos colidem no jogo. Para evitar que os inimigos colidam entre si, apenas objetos com nomes diferentes podem colidir entre si.

Em caso de colisão, retira da resistencia do objeto atual o dano causado pelo outro objeto.

dano = None

dano é o valor subtraido quando algo colide com este objeto

estado = None

estado variável utilizada para controlar estados e principalmente troca de imagens

imagem

Bitmap usado para desenhar este objeto

ix = None

ix é o incremento x aplicado durante a respiração

iy = None

iy é o incremento y aplicado durante a respiração

lx = None

lx é a largura da imagem em pontos

ly = None

ly é a altura da imagem em pontos

makeRect() → pygame.Rect[código fonte]

Retorna um retângulo com as dimensões deste objeto

move(direcao: int)[código fonte]

Move o objeto, na direção indicada.

Observar que direção é um int!

  • 0 - direita
  • 1 - esquerda
  • 2 - para baixo
  • 3 - para cima

A implementação deste método é responsável por fazer os ajustes de velocidade e posição necessários.

nome = None

nome é utilizada para identificar um grupo de objetos

pos = None

pos é a posicao inicial do objeto

resistencia = None

resistencia é o valor que quando zerado retira o objeto do jogo

respire()[código fonte]

Chamado a cada frame. Utilizado para modificar o estado do objeto.

retangulo() → typing.Tuple[int, int, int, int][código fonte]
universo = None

universo aponta para o universo ao qual este objeto pertence seu valor é setado pela classe Universo no momento da inclusão

visivel = None

visivel indica se o objeto deve ou não ser desenhado

class objetodojogo.Posicao2D(x, y)[código fonte]
add(ix, iy)[código fonte]
tuple()[código fonte]

Jogo

class invasores.Invasores(tela)[código fonte]

Esta classe é responsavel pelo jogo em si. Toda customização deve ser feita aqui

atira(evento=None)[código fonte]
aumentamisseis()[código fonte]

Cheat para aumentar o número de mísseis do jogador em 1000

aumentaresistencia()[código fonte]

Cheat para aumentar a resistência do jogador em 1000 pontos

avanca_fase()[código fonte]
baixo()[código fonte]
calcula_pontos(universo, a, b)[código fonte]
carrega_fase()[código fonte]
carregue_imagens()[código fonte]
cima()[código fonte]
cria_alienigena(xi, yi, c, l, script, xl=60, yl=60)[código fonte]
cria_municao(carga=100)[código fonte]
cria_resistencia(carga=100)[código fonte]
direita()[código fonte]
esquerda()[código fonte]
fase1()[código fonte]
fase2()[código fonte]
faseT()[código fonte]
incrementa_tempo_script()[código fonte]
inicializa_comandos()[código fonte]
inicializa_eventos()[código fonte]
mostra_texto(ttexto)[código fonte]
movejoystick(evento)[código fonte]
movemouse(evento)[código fonte]
nova_partida()[código fonte]
para_tempo_script(motivo)[código fonte]
repeticao_do_jogo()[código fonte]

Loop principal do jogo. Apaga a tela, carrega a fase e repete até o jogador morrer ou escolher para sair.

saida(evento=None)[código fonte]
tela_fim_de_jogo()[código fonte]
tela_inicial()[código fonte]
invasores.jogo()[código fonte]

Cria o loop do jogo. Alterna entre os três estados principais do invasores:

O usuário pode pressionar X para sair em qualquer tela.

Nave

Implementa a nave com aceleração vetorial (x,y) Faz o tratamento de colisão e evita objetos chamados “tiro”

Retorna o sinal de um nimero

class laser.Laser(nome, pos, imagem=None, tipo='JOGADOR')[código fonte]

Implementa os misseis do jogo.

colida(objeto)[código fonte]
move(direcao)[código fonte]
respire()[código fonte]
class objetosbonus.ObjetosBonus(nome, pos, imagem=None, tipo='INIMIGO')[código fonte]

Classe utilizada para representar os objetos de recarga de munição ou resistência

colida(objeto)[código fonte]
respire()[código fonte]

Inimigos

class alienigena.Alienigena(nome, pos, imagem, tipo='INIMIGO')[código fonte]
alienigenas_vivos = 0
move(direcao)[código fonte]
respire()[código fonte]
set_script(script)[código fonte]

Classes de Suporte

class score.Score(nome, pos=[0, 0])[código fonte]

Utilizada para exibir o score do jogo. Implementada como um objeto normal, podendo inclusive suportar animação.

respire()[código fonte]
class score.ScoreComFPS(nome, pos)[código fonte]
respire()[código fonte]
class score.Texto(nome, pos, texto, tamanho, tempo, universo, cor)[código fonte]

Utilizada para exibir o score do jogo. Implementada como um objeto normal, podendo inclusive suportar animação.

respire()[código fonte]

Decrementa a resistência a cada frame. Com objetivo de fazer o texto sumir após x frames

naleatorios.faixa(inicio, fim=None)[código fonte]

Gera um número aleatório entre inicio e fim

naleatorios.pega()[código fonte]

Retorna um número aleatório entre 0 e 1

som.canais(nome=None)[código fonte]
som.carregue(nome: str, local: str)[código fonte]
som.reproduza(nome: str)[código fonte]
class temporizador.Temporizador(nome, descricao, cabecalho='')[código fonte]

Classe utilitária, usada para registrar o tempo decorrido entre dois pontos

fim()[código fonte]
inicio(valores=[])[código fonte]
traducao.dicionario(lingua)[código fonte]
traducao.pega(chave)[código fonte]
class traducao.traducao(prefixo)[código fonte]
carregaDicionario(nome)[código fonte]
dicionario = {}
lingua = 'pt'
pega(chave)[código fonte]
class video.Imagem(nome, local)[código fonte]
altura()[código fonte]
carregue_imagem(nome, local)[código fonte]
largura()[código fonte]
ponto_croma(x, y)[código fonte]
class video.Video(dimensao, tela_cheia=False)[código fonte]
adicione(funcao)[código fonte]
anterior_modo()[código fonte]
atualize()[código fonte]
desenhe(imagem, posicao)[código fonte]
faz_tela_cheia(sim=None)[código fonte]
fonte(tamanho)[código fonte]
icone(imagem)[código fonte]
limpe(cor=(0, 0, 0, 0))[código fonte]
modo(dimensao, tela_cheia=None)[código fonte]
notifique(mensagem)[código fonte]
proximo_modo()[código fonte]
texto(mensagem, cor)[código fonte]
titulo(nome)[código fonte]
video.carregue(nome, local)[código fonte]
video.imagem(nome)[código fonte]