Aprenda a Programar com Minecraft

Documentos relacionados
Allen B. Downey. Novatec

Sumário. Prefácio Capítulo 1 Orientação e primeiras etapas Capítulo 2 Dados: trabalhando com texto e números... 40

3ª Edição Nilo Ney Coutinho Menezes

Osvaldo Santana Thiago Galesi

Introdução ao GitHub Peter Bell e Brent Beer

Novatec Editora Ltda

Ryan Mitchell. Novatec

Miguel Grinberg. Novatec

Indira Knight. Novatec

Jody Culkin e Eric Hagan

William Pereira Alves

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Objective-C Fundamental Christopher K. Fairbairn Johannes Fahrenkrug Collin Ruffenach

PHP. Programando com Orientação a Objetos. Pablo Dall Oglio. Novatec

Matheus Marabesi Michael Douglas

Rodrigo de Barros Paes

Benjamin Bengfort Jenny Kim

Primeiros Passos com o Arduino

Ademir C. Gabardo. Novatec

Desenvolvendo Websites com PHP

Luiz Eduardo Borges. Novatec

Guia Mangá. Álgebra Linear. Shin Takahashi, Iroha Inoue e Trend-Pro Co., Ltd. novatec

Raspberry Pi Manual do Usuário

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Shyam Seshadri & Brad Green

Jonathan Weber e a equipe da LunaMetrics

André Gugliotti. Novatec

Criando Relatórios com PHP Pablo Dall Oglio

Aditya Y. Bhargava. Novatec

Adriano Pataro. Novatec

Christopher Duffy. Novatec

Novatec Editora Ltda

Guia Mangá. Microprocessadores. Michio Shibuya, Takashi Tonagi e Office Sawa. Novatec

Novatec Editora Ltda

Simon Holmes. Novatec

Análise de Regressão

Uma introdução visual à programação com jogos, arte, ciência e matemática

Wolfram Donat. Novatec

4ª Edição Pablo Dall Oglio

Web Interativa com Ajax e PHP

Hélio Engholm Jr. Novatec

Edécio Fernando Iepsen

Kenneth Reitz Tanya Schlusser

Introdução à Programação com Python

Primeiros Passos com Sensores Kimmo Karvinen Tero Karvinen

Shelley Powers. Novatec

Arduino Básico. 2ª edição. Michael McRoberts. Novatec

Ensine Seus Filhos A Programar

Introdução às. Expressões Regulares. Michael Fitzgerald. Novatec

CONTEÚDO PROGRAMÁTICO

Ademir Cristiano Gabardo. Novatec

MERGULHANDO NO PHYTON MERGULHANDO NO. O guia rápido e prático para dominar o Python. Mark Pilgrim

Guia Mangá FISIOLOGIA. Etsuro Tanaka, Keiko Koyama, e Becom Co., Ltd. Novatec

Jessey Bullock Jeff T. Parker

Primeiros Passos com o Netduino

Arduino Básico Michael McRoberts

Sumário. Introdução 1

Aaron Newcomb. Novatec

Ademir Ribeiro dos Passos

Editor: Rubens Prates Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Assistente editorial: Priscila A.

Guia Mangá Circuitos Eletrônicos

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

Karl Matthias Sean P. Kane

Introdução à Programação com Python

Allan Liska e Timothy Gallo. Novatec

Chris Binnie. Novatec

Métricas. Como melhorar os principais resultados de sua empresa. Martin Klubeck. Novatec

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI Maurício Samy Silva Novatec

Expressões Regulares Cookbook Jan Goyvaerts Steven Levithan

AngularJS. Uma abordagem prática e objetiva. Michael Henrique R. Pereira. Novatec

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI 2a Edição Maurício Samy Silva Novatec

Editor: Rubens Prates PY Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Patrizia Zagni Capa: Edinei Gonçalves/Carolina Kuwabata

Roni Antônio Mendes. Novatec

Harrison Kinsley Will McGugan

WordPress 3 Básico Stephanie Leary

Ben Vinegar Anton Kovalyov

Programando para. iphone e ipad. Aprenda a construir aplicativos para o ios. André Milani. Novatec

Eric Matthes. Novatec

A Arte de Escrever Programas Legíveis

Blender 3D jogos e animações interativas Allan Brito

Aravind Shenoy Anirudh Prabhu

Guia Mangá Motores elétricos

Adrian Mouat. Novatec

4. PÚBLICO ALVO Alunos que queiram conhecer os fundamentos de programação de computadores com a linguagem Python.

desenvolva aplicações web profissionais com uso dos poderosos recursos de estilização das css3 Maurício Samy Silva

Copyright 2015 da Novatec Editora Ltda.

Guia Mangá Circuitos Eletrônicos

Sérgio de Oliveira. Novatec

Maurício Samy Silva. Novatec

Fundamentos de Programação em Python

Guia Prático Richard E. Silverman

Dinâmica dos fluidos

Jarrod Overson e Jason Strimpel

Adrian Pruteanu. Novatec

Ademir Cristiano Gabardo. Novatec

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

Transcrição:

Aprenda a Programar com Minecraft Transforme seu mundo com o poder do Python Craig Richardson novatec

Copyright 2015 by Craig Richardson. Title of English-language original: Learn to Program with Minecraft, ISBN 978-1-59327-670-6, published by No Starch Press. Portuguese-language edition copyright 2016 by Novatec Editora Ltda. All rights reserved. Copyright 2015 por by Craig Richardson. Título original em Inglês: Learn to Program with Minecraft, ISBN 978-1-59327-670-6, publicado pela No Starch Press. Edição em Português copyright 2016 pela Novatec Editora Ltda. Todos os direitos reservados. Novatec Editora Ltda. 2016. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates IG20160408 Assistente editorial: Priscila A. Yoshimatsu Tradução: Patrícia Gavazzi Revisão gramatical: Solange Martins e Smirna Cavalheiro Revisão técnica: Rafael Milléo Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-493-9 Histórico de impressões: Abril/2016 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 E-mail: novatec@novatec.com.br Site: novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec IG20160411

SUMÁRIO Agradecimentos XIII Introdução XV Por que aprender a programar?...xvi Por que Python?...XVI Por que Minecraft?... XVI O que o livro aborda?.... XVII Fontes online... XIX Vamos começar a aventura!.... XIX 1 Instalações e configurações: preparando-se para a aventura 21 Configurando o seu PC Windows... 22 Instalando o Minecraft.... 22 Instalando o Python.... 23 Instalando o Java... 24 Instalando a API do Minecraft Python e o Spigot... 26 Executando o Spigot e criando um jogo... 28 Recomeçando um novo mundo... 30 Jogando offline.... 31 Alterando para o Modo de Sobrevivência... 32 Configurando o seu Mac... 33 Instalando o Minecraft.... 33 Instalando o Python.... 35 Instalando o Java... 36 Instalando a API do Minecraft Python e o Spigot... 37 Executando o Spigot e criando um jogo... 39 Recomeçando um novo mundo... 40 Jogando offline.... 41 Alterando para o Modo de Sobrevivência... 41 Configurando o seu Raspberry Pi... 42 Conhecendo o IDLE... 44 Conhecendo o Shell Python... 44 Diga olá ao editor de texto do IDLE... 45

Quando usar o Shell Python ou o editor de texto.... 47 Os Prompts utilizados neste livro... 48 Testando a configuração do Minecraft Python.... 48 2 Teletransportando com variáveis 51 O que é um programa?.... 51 Armazenando dados em variáveis... 52 A estrutura das linguagens de programação... 53 Regras de sintaxe para variáveis... 55 Mudando os valores das variáveis... 55 Números inteiros (Integers).... 56 Números de ponto flutuante (floats)... 63 Reduzindo a velocidade de teletransporte com o módulo time... 65 Depuração (debugging).... 69 O que você aprendeu... 72 3 Construindo rápido e viajando longe com a matemática 73 Expressões e declarações... 73 Operadores... 74 Adição... 75 Subtração.... 79 Usando operadores matemáticos em argumentos... 80 Multiplicação... 85 Divisão.... 86 Potenciação... 89 Parênteses e ordem das operações... 89 Truques úteis de matemática... 90 Operadores abreviados.... 90 Brincando com números aleatórios.... 91 O que você aprendeu... 93 4 Comunicando-se com Strings 95 O que são strings?... 96 A função print()... 96 A função input()... 99 Concatenando strings... 101 Convertendo números em strings... 102 Concatenando números inteiros e decimais.... 103 Convertendo strings em números inteiros com int()... 104 Recuperando-se dos erros.......................................107 O que você aprendeu... 112 VIII Sumário

5 Descobrindo o que é verdadeiro (true) e falso (false) com booleanos 113 Básico sobre o tipo booleano.... 114 Concatenando o tipo booleano... 116 Operadores de comparação... 116 Igual a................................................... 116 Diferente de... 119 Maior que e menor que... 121 Maior ou igual a e Menor ou igual a... 122 Operadores lógicos.... 126 E (and)... 126 Ou (or).... 128 Negação (not).... 130 Ordem dos operadores lógicos... 132 Meu número está entre dois outros?... 133 O que você aprendeu... 136 6 Fazendo minigames com declarações if (condicionais) 137 Usando declarações if (se)... 138 Declarações else (senão)... 141 Declarações elif (senão-se)... 144 Encadeando declarações elif... 147 Declarações if aninhadas.... 150 Usando declarações if para testar diversos valores... 152 Operadores booleanos e declarações if... 156 O que você aprendeu... 159 7 Festas dançantes e desfiles de flores com loops while 161 Um simples loop while... 161 Controlando loops com uma variável de contagem... 166 Loops while infinitos.... 169 Condições extravagantes... 170 Operadores booleanos e loops while... 174 Verificando um intervalo de valores com loops while... 174 Declarações if aninhadas e loops while.... 177 Interrompendo um loop while com break... 180 Declarações while-else... 182 O que você aprendeu... 185 8 Funções: obtendo superpoderes 187 Definindo as suas próprias funções... 188 Chamando uma função.... 189 Funções recebem argumentos... 189 Sumário IX

Refatorando um programa.... 192 Comentários com Docstrings... 195 Quebras de linhas em argumentos... 196 Valores de retorno da função... 196 Usando declarações if e loops while em funções... 200 Declarações if.... 201 Loops while.... 204 Variáveis locais e globais... 206 O que você aprendeu... 211 9 Acertando blocos com listas e dicionários 213 Usando listas... 214 Acessando um elemento de uma lista... 215 Mudando um elemento de uma lista.... 215 Manipulando listas... 218 Adição de um elemento.... 218 Inserção de um elemento.... 219 Remoção de um elemento... 219 Tratando strings como listas... 222 Tuplas... 223 Definindo variáveis com tuplas... 223 Retornando uma tupla... 226 Outras funcionalidades das listas... 227 Comprimento da lista... 227 Escolhendo um elemento aleatoriamente... 230 Copiando uma lista.... 232 Elementos e estruturas if... 234 Dicionários... 237 Definindo um dicionário... 237 Acessando elementos em dicionários... 238 Mudando e adicionando um elemento em um dicionário.... 241 Removendo elementos de dicionários... 241 O que você aprendeu... 244 10 Minecraft fazendo mágica com loops for 245 Um simples loop for... 246 A função range()... 248 Brincando com range()... 251 Outras funções das listas... 252 Percorrendo um dicionário.... 256 Loops for-else... 258 Interrompendo um loop for-else... 259 Loops for aninhados e listas multidimensionais... 261 Pensando em duas dimensões... 261 Acessando valores em listas 2D... 266 Gerando listas 2Ds com loops... 269 X Sumário

Pensando em três dimensões... 272 Saída de listas 3D... 273 Acessando valores em listas 3D... 278 O que você aprendeu... 285 11 Salvando e carregando construções com arquivos e módulos 287 Usando arquivos... 288 Abrindo um arquivo.... 288 Escrevendo e salvando um arquivo... 290 Lendo um arquivo... 290 Lendo uma linha de um arquivo... 291 Parte 1: escrevendo a lista de tarefas... 292 Parte 2: exibindo a lista de tarefas... 294 Usando módulos.... 295 O módulo pickle... 296 Importando o pickle... 296 Importando uma função com a cláusula from... 297 Importando todas as funções com *... 298 Fornecendo um apelido ao módulo... 299 Parte 1: salvando a construção.... 300 Parte 2: carregando a construção... 304 Armazenando grande quantidade de dados com o módulo shelve... 305 Abrindo um arquivo com shelve... 306 Adicionando, modificando e acessando elementos com shelve.... 306 Parte 1: salvando uma estrutura em uma coleção... 307 Parte 2: carregando uma estrutura de uma coleção.... 308 Instalando novos módulos com pip.... 312 Usando pip no Windows... 313 Usando pip em um Mac ou em um Raspberry Pi... 314 Usando um módulo do pip: Flask.... 314 O que você aprendeu... 316 12 Dominando a programação orientada a objetos 319 Básico sobre programação orientada a objetos.... 320 Criando uma classe... 320 Criando um objeto... 321 Acessando atributos... 322 Entendendo os métodos.... 324 Retornando valores como métodos.... 330 Criando múltiplos objetos... 333 Atributos de classe... 336 Entendendo a herança.... 338 Herdando uma classe... 339 Adicionando novos métodos a subclasses... 340 Alterando métodos e atributos... 343 Sumário XI

O que você aprendeu... 349 Posfácio 351 Guia de IDs dos blocos 353 FONTES 359 Requisitos... 359 Se você estiver usando Windows 7, 8 ou 10... 359 Se estiver usando OS X 10.10 ou versão posterior... 359 Se estiver usando um Raspberry Pi... 360 XII Sumário