Para quem esse livro é destinado? - Pág. i
Sobre o Livro - Pág. ii
Capítulo 1 - Instalando o Python e o Pygame - Pág. 1
- O que Você Deve Saber Antes de Começar - Pág. 1
- Baixando e Instalando o Python - Pág. 1
- Instruções para Windows - Pág. 1
- Instruções para Mac OS X - Pág. 2
- Instruções para Ubuntu e Linux - Pág. 2
- Iniciando o Python - Pág. 2
- Instalando o Pygame - Pág. 3
- Como Usar Esse Livro - Pág. 4
- Os Programas Apresentados - Pág. 4
- Baixando Arquivos Gráficos e de Som - Pág. 4
- Número de Linhas e Espaços - Pág. 4
- Quebra automática de Texto Nesse Livro - Pág. 5
- Checando Seu Código Online - Pág. 6
- Mais Links Informativos em http://invpy.com - Pág. 6
Capítulo 2 - Noções Básicas de Pygame - Pág. 7
- GUI vs. CLI - Pág. 7
- Código-fonte para Hello World com Pygame - Pág. 7
- Configurando um Progama do Pygame - Pág. 8
- Game Loops e Game States - Pág. 10
- Objetos pygame.event.Event - Pág. 11
- O Evento QUIT e a Função pygame.quit() - Pág. 12
- Coordenadas do Pixel - Pág. 13
- Um lembrete sobre Funções, Métodos, Funções Construtoras, e Funções em Módulos (e a Diferença entre eles) - Pág. 14
- Objetos Surface e a Janela - Pág. 15
- Cores - Pág. 16
- Cores Transparentes - Pág. 17
- Objetos pygame.Color - Pág. 18
- Objetos Rect - Pág. 18
- Funções Primitivas de Desenho - Pág. 20
- Objetos pygame.PixelArray - Pág. 23
- A Função pygame.display.update() - Pág. 24
- Animação - Pág. 24
- Frames Por Segundo e Objetos pygame.time.Clock - Pág. 27
- Desenhando Imagens com pygame.image.load() and blit() - Pág. 28
- Fontes - Pág. 28
- Anti-Aliasing - Pág. 30
- Reprodução de Sons - Pág. 31
- Sumário - Pág. 32
Capítulo 3 - Jogo da Memória - Pág. 33
- Como Jogar o Jogo da Memória - Pág. 33
- Loops for Aninhados - Pág. 33
- Código-fonte do Jogo da Memória - Pág. 34
- Créditos e Imports - Pág. 42
- Números Mágicos são Ruins - Pág. 42
- Checagens com Declarações assert - Pág. 43
- Dizendo Se um Número é Par ou Ímpar - Pág. 44
- Falha Precoce e Falha Frequente! - Pág. 44
- Deixando o Código-fonte Bonito - Pág. 45
- Usando Constantes ao invés de Strings - Pág. 46
- Certificando-se que Nós Temos Ícones o suficiente - Pág. 47
- Tuplas vs. Listas, Imutáveis vs. Mutáveis - Pág. 47
- Tuplas de Um Item Precisam de Uma Vírgula à Direita - Pág. 48
- Conversão entre Listas e Tuplas - Pág. 49
- A Declaração global, e Porque as Variáveis Globais são do Mal - Pág. 49
- Estruturas de Dados e Listas 2D - Pág. 51
- A Animação "Iniciar o Jogo" - Pág. 52
- O Loop do Jogo - Pág. 52
- O Evento Loop de Tratamento - Pág. 53
- Checando em Qual Caixa o Cursor do Mouse Está - Pág. 54
- Manipulando a Primeira Caixa Clicada - Pág. 55
- Tratando Par de Ícones Incompatíveis - Pág. 56
- Tratando se o Jogador Ganhou - Pág. 56
- Desenhando o Game State na Tela - Pág. 57
- Criando a Estrutura de Dados "Caixas Reveladas" - Pág. 58
- Criando a Estrutura de Dados do Quadro: Passo 1 - Obter Todos os Ícones Possíveis - Pág. 59
- Passo 2 - Misturar e Truncar a Lista de Todos os Ícones - Pág. 59
- Passo 3 - Posicionando os Ícones no Quadro - Pág. 59
- Dividindo uma Lista em uma Lista de Listas - Pág. 60
- Sistemas de Diferentes Coordenadas - Pág. 61
- Convertendo de Coordenadas de Pixel para Coordenadas de Caixa - Pág. 62
- Desenhando um Ícone, e Syntactic Sugar - Pág. 63
- Obtendo a Forma e Cor dos Icones nos Espaços do Quadro com Syntactic Sugar - Pág. 64
- Desenhando a Parte Coberta da Caixa - Pág. 64
- Tratando as Animações de Revelando e Escondendo - Pág. 65
- Desenhando o Quadro Inteiro - Pág. 66
- Desenhando o Realçe - Pág. 67
- A Animação de "Iniciar o Jogo" - Pág. 67
- Revelando e Escondendo os Grupos de Caixas - Pág. 68
- A Animação de "Você Venceu" - Pág. 68
- Dizendo se o Jogador Ganhou - Pág. 69
- Por que se Preocupar em ter uma Função main()? - Pág. 69
- Por que se Preocupar com Legibilidade? - Pág. 70
- Resumo, e uma sugestão de Hacking - Pág. 74
Capítulo 4 - Slide Puzzle - Pág. 77
- Como Jogar Slide Puzzle - Pág. 77
- Código-fonte para o Slide Puzzle - Pág. 77
- Segundo Verso, Igual ao Primeiro - Pág. 85
- Configurando os Botões - Pág. 89
- Sendo Esperto Usando Códigos Idiotas - Pág. 87
- O Loop do Jogo Principal - Pág. 88
- Clicando nos Botões - Pág. 89
- Deslizando tiles com o Mouse - Pág. 90
- Deslizando tiles com o Teclado - Pág. 90
- Truque "Equal To One Of" com o Operador in - Pág. 91
- WASD e Teclas de Seta - Pág. 91
- Realmente fazendo o Azulejo Deslizar - Pág. 92
- IDLE e Concluindo os Programas Pygame - Pág. 92
- Checando por um Evento Específico, e Postando Eventos na Fila de Eventos da Pygame - Pág. 92
- Criando a Estrutura de Dados do Quadro - Pág. 93
- Não Rastreando a Posição em Branco - Pág. 94
- Fazendo um Movimento por meio da Atualização da Estrutura de Dados do Quadro - Pág. 94
- Quando NÃO Usar uma Asserção - Pág. 95
- Obtendo um não tão aleatório Movimento - Pág. 96
- Convertendo as Coordenadas dos tiles para Coordenadas de Pixel - Pág. 97
- Convertendo de Coordenadas de Pixel para Coordenadas do Quadro - Pág. 97
- Desenhando um tile - Pág. 97
- Fazendo o Texto Aparecer na Tela - Pág. 98
- Desenhando o Quadro - Pág. 99
- Desenhando a Borda do Quadro - Pág. 99
- Desenhando os Botões - Pág. 100
- Animando os Deslizes dos tiles - Pág. 100
- O Método de Superfície copy() - Pág. 101
- Criando um Novo Quebra-Cabeça - Pág. 103
- Animando o Reset do Quadro - Pág. 104