Criando uma janela
Inicialização
A etapa de inicialização consiste em configurar a pygame, definindo o tamanho da janela desejada e seu título. As linhas onde isto é feito no arquivo jogo_v0.py
são apontadas abaixo.
Agora vamos treinar a habilidade de aprender a partir de documentações para entendermos o trecho de código acima.
Exercício 1
Resposta
Inicializa a biblioteca pygame. Apenas após este comando é que os recursos do pygame podem ser utilizados.
Exercício 2
Resposta
Cria uma janela com 500 pixels de largura e 400 pixels de altura.
Exercício 3
Resposta
Siga o handout para entender um pouco melhor o que o tipo Surface
faz.
Exercício 4
Resposta
Define o título da janela (que aparece na barra superior) como o texto 'Hello World!'
.
Como só mostramos uma janela vazia, não fazemos muito por aqui, mas tarefas comuns nesta seção são:
- carregar imagens, sons e outros recursos necessários;
- definir os valores iniciais de todas as variáveis do jogo
Tuplas
Você reparou no argumento de pygame.display.set_mode((500, 400))
? Este par (500, 400)
é uma tupla e representa as dimensões da janela a ser criada. Tuplas são usadas quanto queremos representar pequenos conjuntos de dados que são naturalmente agrupados.
Dada uma tupla tamanho = (400, 300, 100)
, mostramos abaixo o que podemos e não podemos fazer com tuplas.
- podemos ler seu conteúdo usando índices (
tamanho[0]
contém o valor400
) - podemos comparar tuplas usando
==
(tamanho == (400, 300, 100)
éTrue
) - não podemos modificar elementos da tupla (
tamanho[1] = 500
resulta em erro) - não podemos adicionar novos elementos na tupla
Código Python bem escrito em geral contém muitas tuplas. Se acostume a usá-las sempre que precisar passar valores que só fazem sentido em conjunto.
Vamos iniciar nossa versão "organizada" deste código agora.
Exercício 5
Atenção
Por enquanto vamos só criar as funções para que elas passem nos testes preliminares. No fim do handout o programa em jogo.py
, que efetivamente chama todas essas funções, deve funcionar.
Agora vamos para a segunda etapa.