• Jogos
  • 02. Criando uma janela

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.

5
6
7
8
9
pygame.init()

# ----- Gera tela principal
window = pygame.display.set_mode((500, 400))
pygame.display.set_caption('Hello World!')

Agora vamos treinar a habilidade de aprender a partir de documentações para entendermos o trecho de código acima.

Exercício 1

Abra a documentação da função pygame.init(). Escreva abaixo, em uma frase, o que essa função faz.

Resposta

Inicializa a biblioteca pygame. Apenas após este comando é que os recursos do pygame podem ser utilizados.

Exercício 2

Abra a documentação da função pygame.display.set_mode((500, 400)). Escreva abaixo, em uma frase, o que essa chamada específica da função faz.

Resposta

Cria uma janela com 500 pixels de largura e 400 pixels de altura.

Exercício 3

Ainda na documentação da função pygame.display.set_mode((500, 400)), qual é o tipo do valor retornado? Você não precisa saber o que esse tipo faz, mas será útil saber qual é esse tipo para podermos consultar a documentação no futuro.

Resposta

Siga o handout para entender um pouco melhor o que o tipo Surface faz.

Exercício 4

Abra a documentação da função pygame.display.set_caption('Hello World!'). Escreva abaixo, em uma frase, o que essa chamada específica da função faz.

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 valor 400)
  • 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

Edite o arquivo funcoes.py, fazendo as seguintes tarefas:

  1. Crie uma função inicializa que não recebe nenhum argumento;
  2. Inicialize a pygame, criando uma janela de tamanho \(320\times 240\) com o título "Jogo da/do NOME" (trocando NOME pelo seu nome);
  3. Retorne a janela devolvida pela função set_mode.

Sua função deverá passar no teste test_1_inicializacao. Os outros testes ainda vão falhar.

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.