Ensine Seus Filhos A Programar
SUMÁRIO Agradecimentos 19 Introdução O que é programar e por que isso é bom para seus filhos? 20 Por que as crianças devem aprender a programar?... 21 Programar é divertido.... 21 Saber programar é uma habilidade importante no trabalho.... 22 Em que locais as crianças podem aprender a codificar?... 22 Como usar este livro............................................23 Explore!... 23 Trabalhe junto!... 24 Recursos online... 25 Programar = resolver problemas... 26 1 Básico sobre o PYTHON: Conheça o seu ambiente 27 Introdução ao Python... 29 1. Fazer download do Python... 30 2. Instalar o Python... 31 3. Testar o Python com um programa... 31 Criando programas em Python.... 32 Executando programas em Python.... 32 O que você aprendeu... 34 2 Gráficos tartaruga: desenhando com o python 37 Nosso primeiro programa com a tartaruga... 38 Como o programa funciona... 39 O que o programa faz... 40 SUMÁRIO 13
A tartaruga dando voltas... 42 A tartaruga em círculos... 44 Acrescentando um toque de cor... 45 Uma espiral de quatro cores... 46 Mudando as cores de fundo... 50 Uma variável para controlar tudo... 52 O que você aprendeu... 54 3 números e variáveis: O Python faz a matemática 58 Variáveis: onde armazenamos nossas informações... 59 Números e matemática em Python.... 61 Números em Python... 62 Operadores em Python... 63 Realizando operações matemáticas no shell Python... 64 Erro de sintaxe: o que foi que você disse?.... 65 Variáveis no shell Python... 66 Programando com operadores: uma calculadora para pizzas.... 68 Strings: os verdadeiros caracteres em Python... 71 Aperfeiçoando nossa espiral colorida com strings... 74 Listas: reunindo informações... 76 O Python faz a sua lição de casa... 78 O que você aprendeu... 81 4 os laços são divertidos (você pode repetir isso) 84 Criando seus próprios laços for.... 86 Usando um laço for para criar uma roseta com quatro círculos... 87 Modificando nosso laço for para criar uma roseta com seis círculos... 89 Aperfeiçoando nosso programa de roseta com dados de entrada do usuário 91 Laços de jogos e laços while... 92 A espiral da família.... 96 Reunindo tudo: a espiral torna-se viral... 100 O que você aprendeu... 106 14 SUMÁRIO
5 Condições (e se?) 110 Instruções if.... 112 Conheça os booleanos... 114 Operadores de comparação... 115 Você não tem idade suficiente!... 117 Instruções else.... 119 Polígonos ou rosetas... 120 Par ou ímpar?... 121 Instruções elif... 125 Condições complexas: if, and, or, not... 126 Mensagens secretas... 129 Trabalhando com strings... 131 O valor do(s) caractere(s)... 133 Nosso programa codificador/decodificador... 134 O que você aprendeu... 136 6 diversão e jogos com aleatoriedade: vá em frente, faça sua jogada! 140 Um jogo de adivinhação... 141 Espirais aleatórias coloridas.... 145 Escolha uma cor, qualquer cor... 146 Obtendo coordenadas.... 147 Qual é o tamanho de nosso canvas?... 149 Reunindo tudo... 152 Pedra-Papel-Tesoura (Rock-Paper-Scissors).... 154 Escolha uma carta, qualquer carta... 157 Preparando o baralho... 157 Tirando uma carta... 159 Comparando cartas... 160 Continuar jogando... 162 Reunindo tudo... 164 Jogando dados: criando um jogo no estilo do Yahtzee... 165 Criando o jogo... 166 Ordenando os dados.... 167 SUMÁRIO 15
Testando os dados... 169 Reunindo tudo... 169 Caleidoscópio... 173 O que você aprendeu... 178 7 Funções: Há um nome para isso 183 Organizando o código com funções... 185 Definindo random_spiral()... 185 Chamando random_spiral()... 187 Parâmetros: alimentando a sua função... 188 Carinhas felizes em posições aleatórias... 189 Reunindo tudo... 195 Retorno: o que você dá de volta é o que conta.... 197 Retornando um valor a partir de uma função... 198 Usando valores de retorno em um programa... 199 Um toque de interação... 202 Tratando eventos: TurtleDraw... 203 Ouvindo eventos do teclado: ArrowDraw... 206 Tratando eventos com parâmetros: ClickSpiral.... 209 Dando um passo a mais: ClickAndSmile... 212 ClickKaleidoscope............................................. 214 A função draw_kaleido()... 215 A função draw_spiral()... 216 Reunindo tudo... 217 O que você aprendeu... 219 8 Timers e animação: o que DISNEY faria? 222 GUI para todo lado com o Pygame... 223 Desenhando um ponto com o Pygame... 224 O que há de novo no Pygame... 228 As partes de um jogo... 229 Calcule o timing correto: mover, bater e voltar... 233 Movendo uma carinha feliz.... 235 Fazendo a animação de uma carinha feliz com a classe Clock... 237 16 SUMÁRIO
Fazendo uma carinha feliz bater em uma parede e voltar... 240 Fazendo uma carinha feliz bater em quatro paredes e voltar... 247 O que você aprendeu... 252 9 interação com o usuário: entre no jogo 259 Adicionando interação: clicar e arrastar... 260 Clicando para desenhar pontos.... 260 Arrastando para pintar.... 263 Interação avançada: explosão de carinhas felizes... 268 Sprites de carinhas felizes... 269 Criando sprites... 272 Atualizando os sprites... 274 Carinhas felizes maiores e menores... 275 Reunindo tudo... 276 SmileyPop versão 1.0.... 278 Detectando colisões e removendo sprites... 279 Reunindo tudo... 281 O que você aprendeu... 283 10 Criação de jogos: codificando por diversão 286 Criando o esqueleto de um jogo: Smiley Pong versão 1.0.... 287 Desenhando um tabuleiro e as partes do jogo... 289 Mantendo uma pontuação.... 291 Exibindo a pontuação... 297 Reunindo tudo... 299 Aumentando a dificuldade e finalizando o jogo: Smiley Pong versão 2.0. 302 Fim de jogo.... 302 Jogar novamente... 303 Cada vez mais rápido.... 304 Reunindo tudo... 307 Acrescentando novas funcionalidades: SmileyPop v2.0... 310 Adicionando um som com o Pygame.... 310 Monitorando e exibindo o progresso dos jogadores.... 312 Reunindo tudo... 316 O que você aprendeu... 320 SUMÁRIO 17
A INSTALAÇÃO do Python para WINDOWS, MAC e LINUX 324 Python para Windows... 325 Download do programa de instalação.... 325 Execute o programa de instalação... 327 Teste o Python... 331 Python para Mac... 333 Download do programa de instalação.... 333 Execute o programa de instalação... 334 Teste o Python... 338 Python para Linux... 340 B instalação DO PYGAME PARA WINDOWS, MAC E LINUX 343 Pygame para Mac... 349 Python 2.7 e Pygame 1.9.2... 349 Pygame para Linux.... 352 Pygame para Python 2... 353 C Criando seus próprios módulos 355 Criando o módulo colorspiral... 356 Utilizando o módulo colorspiral... 358 Reutilizando o módulo colorspiral.... 359 Recursos adicionais... 360 Glossário 361 18 SUMÁRIO