Tá acabando!

Compre agora com desconto
Corra enquanto há tempo!

dias

:

horas

:

minutos

:

segundos

Primeiras aulas do curso Pacman com Python e Pygame: Cenário e ator

Pacman com Python e Pygame: Cenário e ator

Primeiros passos com Pygame - Introdução

Olá!! Sou Antonio Carvalho, instrutor da Alura. Boas-vindas ao curso de Pacman com Python e Pygame: Cenário e ator. Nesse curso nós vamos recriar o jogo Pacman, estudando, etapa por etapa, o processo de desenvolvimento de um jogo.

Nestas aulas vamos trabalhar criação do ambiente, o sistema de coordenadas de tela e sistema de cores. Vamos aprender também como desenhar formas geométricas para podermos desenhar o Pacman e outros elementos do nosso jogo. O que é e como funciona o loop do jogo. Vamos também falar sobre eventos, como capturar as ações de teclado e mouse.

Vamos aprender a criar um labirinto baseado em uma matriz e vamos testar a colisão do Pacman com este labirinto, fazendo um algoritmo bem simples para isso. Vamos também testar a colisão do Pacman com as pastilhas, para fazer a contagem de pontos e vamos aprender a colocar esses pontos na tela através do uso de fontes do sistema do Pygame.

No término desse curso você terá feito a sua própria versão do jogo Pacman com personagem, movimentação, colisão e score.

As técnicas que vocês vão aprender a criar no jogo, também podem ser utilizadas na criação de outros jogos, bem como a utilização em outras linguagens e outras bibliotecas gráficas. Espero que vocês gostem desse curso, vejo vocês em breve, até mais.

Primeiros passos com Pygame - Ambiente e versão

Nessa aula, nós vamos preparar o ambiente para o curso sobre Python e Pygame: Desenvolvendo o jogo Pacman. Vamos lá.

A primeira etapa é a configuração do ambiente. Vamos aprender sobre a instalação do Python, versão 3.7.5 - 64 bits para Windows, mas, possivelmente, qualquer versão acima da versão 3.2 deve funcionar.

A instalação do PyCharm, que vai ser o nosso ambiente de desenvolvimento e vamos usar a versão 2019.2.3, e vamos criar um ambiente no Python e depois instalar o Pygame na versão 1.9.6.

A instalação do Python, vamos instalar a versão 3.7.5 de 64 bits. Para isso vamos abrir o Google Chrome e vamos até o site do Python, onde podemos fazer o download da versão. Vamos acessar https://www.python.org/.

No python.org, você pode observar que existem versões mais recentes do Python, vamos clicar em “Downloads” e existe a versão já 3.8, só que é .0 e eu não gosto de trabalhar com versões .0, às vezes ela tem um bug, e como estamos começando pode ser que dê algum erro e nós não vamos saber se é nosso erro ou se é erro da versão, então nós baixaremos outra versão para Windows.

Portanto, nós vamos clicar em “Downloads”, “All releases” e ele vai mostrar todas as versões anteriores e vamos clicar nessa versão, “Python 3.7.5”, que é a última versão antes da 3.8.

Clicando nela vão ter informações sobre essa versão e nós vamos ter os arquivos de download. Você pode baixar o arquivo zip para 64 bits ou o instalador, se você preferir. Eu vou baixar o instalador, então é só clicar e aguardá-lo fazer o download. Nós estamos baixando 64 bits. Possivelmente a versão 32 também funcionará, só que vamos ter que instalar o Python e o Pygame para a versão 32 bits.

Uma vez feito o download, nós vamos agora instalar o Python. Eu tenho a versão na minha pastinha da Alura, é só clicar duas vezes e vamos seguir o procedimento de instalação.

Ele vai dar o caminho onde vai ser instalado e eu vou colocar um caminho mais curto. Vou clicar em “Customize installation”, não vou instalar a documentação, porque eu não preciso dela, não vou instalar o tcl e o tk, o tcl é para criar o código executável depois. O py launcher e para todos os usuários, o restante eu deixo marcado. O pip nós precisamos, para poder instalar o Python. Clicar em “Next”.

Não vou associar os arquivos Python com o launcher, porque às vezes eu abro com outro editor de textos e se eu clicar duas vezes, ele já vai lançar com essa versão do Python e não é bem isso que eu quero.

Instalar para todos os usuários, não vou criar shortcuts, eu vou deixar isso configurado no diretório “Alura\Python3.75”. Vou deixar nesse diretório. Clica no “Install”, ele vai pedir o acesso do administrador, eu vou dar sim e começa a instalação. Ele vai demorar alguns minutos para instalar, eu vou fazer uma pausa e assim que ele terminar a instalação nós retornamos.

Voltamos, a instalação foi concluída com sucesso. Agora é só clicar no “Close” e pronto, estamos com o Python instalado na nossa mna. Nossa próxima etapa vai ser a instalação do PyCharm.

O PyCharm também é uma ferramenta gratuita, assim como o Python, e nós vamos acessar do site da “jetbrains.com”. No site da JetBrains existem várias ferramentas, o PyCharm é uma ferramenta que nós dizemos que é uma IDE, é um ambiente de desenvolvimento. E existem várias ferramentas da JetBrains para desenvolvimento, tem WebStorm para desenvolvimento web, tem o IntelliJ para desenvolvimento com Java e várias outras.

nós vamos procurar por Python e Django e ele vai nos levar à página sobre o PyCharm. Ele vai nos mostrar que existe o PyCharm, nós vamos clicar em download. E o PyCharm tem duas versões, ele tem uma versão Professional, com mais recursos, e uma versão Community, que é gratuita e todos nós podemos usar. Nós vamos baixar a versão Community. Você vai clicar em download, verifica se o sistema operacional está certinho, clicou em download, ele começa a baixar essa versão.

O PyCharm foi baixado, nós vamos instalá-lo agora. Vamos fechar o navegador, eu o tenho no meu diretório da Alura, e vamos clicar duas vezes no instalador para poder instalá-lo.

A versão que nós estamos usando é 2019.2.3, mas, possivelmente, qualquer versão do PyCharm deve funcionar, o que pode modificar é às vezes a forma como ele é mostrado, às vezes as opções dos menus.

Ele vai te pedir o acesso de administrador e vai trazer para essa tela de bem-vindo do setup, nós vamos clicar em “Next”, vamos escolher um diretório para fazer a instalação dele, eu vou instalar um diretório da Alura, clica em “Next”. Ele pergunta se você vai querer o shortcut, eu vou marcar que quero o shortcut 64 bits.

Ele pode atualizar o path para que ele participe do path, você pode acionar por linha de comando, mas eu não preciso fazer isso, e pode fazer associação com os arquivos .py, que também não preciso fazer isso, até porque eu abro os arquivos Python com outros editores às vezes, e, se eu marcar, ele vai abrir com PyCharm todas as vezes.

Eu vou deixar só o 64 bits marcado. Clica em “Next”, qual é o menuzinho onde você vai colocar, no meu caso JetBrains mesmo, e clica no “Install”. Mais uma vez ele vai instalar, isso vai demorar um tempinho. Eu vou fazer uma pausa e quando ele terminar nós retomamos.

Pronto, está chegando no final. Se você marcar, ele já roda o PyCharm, mas não quero isso, eu vou acessar pelo ícone. Clica no “Finish” e vamos acessar o PyCharm pelo iconezinho. Ele criou um ícone , PyCharm Community Edition, clica duas vezes nele e nós abrimos o PyCharm.

Quando abrirmos o PyCharm ele vai buscar por outras versões, eu já tenho outra versão do PyCharm, então ele achou e está perguntando se quer que eu traga as configurações dessa outra versão, eu vou marcar que não, não quero que traga as configurações dela, vou trazer o PyCharm zerinho, como se ele tivesse sido instalado agora pela primeira vez na minha mna.

Eu posso escolher o tema “Light” ou “Darcula”, eu prefiro o Darcula, que eu acho mais legal, clica em “Next”. são os plugins que ele tem, ele já tem umas sugestões de plugins, mas eu não vou instalar nenhum nesse momento, eu apenas vou clicar no “Start using PyCharm”. Instalamos o PyCharm.

Essa primeira tela é a tela de boas-vindas dele. Ele vai sempre te pedir para criar um novo projeto ou para abrir um projeto já existente. Nós vamos criar um novo projeto. Ele vai perguntar qual é o diretório onde esse projeto será criado, eu vou colocá-lo no meu diretório “\git\alura\ID”, o ID dessa aula, “-REC”, que é a aula que nós estamos gravando. Então eu vou criar um projeto nessa pasta.

Por padrão ele já vai criar um novo ambiente, mas eu vou marcar “Existing interpreter”, para utilizar o interpretador existente. Você apenas abaixa a aba e marca “Existing interpreter” e vamos clicar para escolher um interpretador Python. Clica nos “três pontinhos” e ele vai te mostrar que você pode usar algum ambiente ou um interpretador Python. Vou marcar o “System Interpreter”, ele já tem um interpretador pronto.

Na verdade, não é esse que eu instalei, temos o da Alura, “Alura\Python3.75”, vou deixar esse marcado. E clica no ok. Ele vai trazer o interpretador para cá, “Existing interpreter” e clica no “Create”.

Por padrão ele já cria um ambiente, mas eu quero ensinar vocês a criar esse ambiente passo a passo, por isso que escolhemos aquele interpretador. Temos a telinha de tips, de dicas. Vamos clicar em “Close” e ele vai procurar por projetos instalados.

o PyCharm vai sugerir que faça algumas mudanças se você estiver usando Windows Defender, para que o Windows Defender não fique checando os arquivos desse projeto a todo instante, senão cada vez que você grava, ele vai lá e checa todos os arquivos e isso pode levar algum tempo.

Se você clicar em “Fix” ele pode fazer uma configuração automática e já configurar o seu Windows Defender para isso, ele vai te pedir o acesso de administrador, você dando o acesso de administrador o Windows Defender será configurado. Ele diz que existem umas atualizações na IDE e para plugins, não vou fazer isso nesse momento, e o Windows Defender já foi atualizado.

Com o PyCharm instalado, o que nós vamos fazer agora é instalar o Pygame para podermos começar a criar o jogo. Mas aí vem uma pergunta, o Pygame, pelo fato de ser uma biblioteca, será que pode conflitar com outras? Como podemos fazer para instalar o Pygame sem conflitar com outras bibliotecas no Python?

Para fazermos isso, nós vamos ter que criar um ambiente virtual. Esse ambiente virtual, nós vamos criar o projetinho do PyCharm, já fizemos, criar o ambiente virtual e configurar o projeto para utilizar esse ambiente virtual. Então vamos voltar ao PyCharm.

no PyCharm nós vamos clicar em “File”, “Settings”. Em Settings, nós vamos ter todas as configurações que podemos mexer no PyCharm, tamanho de fonte, tema, cores, etc. E temos uma configuração relacionada ao nosso projeto. Vamos clicar no projeto e teremos a configuração do interpretador dele, ou seja, quem vai compilar esse nosso projeto.

Nós podemos dizer que este Python vai compilar esse projeto, mas o que acontece? Todas as bibliotecas que nós instalarmos e utilizarmos estarão instaladas neste Python. Se estivermos usando outros projetos com esse mesmo Python, o que pode acontecer é que uma biblioteca de outro projeto entre em conflito com uma biblioteca deste projeto. Isso não é muito comum, mas pode acontecer. E o Pygame normalmente não dá isso, mas vamos deixar tudo pronto para funcionar.

Nós vamos clicar no “Project Interpreter” e vamos clicar nessa engrenagenzinha para fazermos a configuração do interpretador do projeto. Nós vamos clicar em “Add”. Só que o interpretador do projeto, nós não vamos deixar que seja o Python diretamente, vamos criar um ambiente virtual, ou seja, ele vai copiar um pedaço do Python em algum outro lugar e tudo o que instalarmos vai ser instalado nesse pedaço do Python.

Aquele Python que instalamos fica original, sem nenhum módulo, e a versão simples do Python vai ficar contendo os módulos que nós instalamos para o nosso projeto. Essa é a ideia do ambiente virtual.

Nós vamos clicar em “Virtualenv Environment” e, por sugestão, ele já me mostra o diretório “venv”, que fica dentro do projeto, ou seja, ele vai criar o Python dentro desse diretório. Eu vou aceitar a sugestão dele.

Ele me pergunta qual é o Python que vai ser usado para ser copiado para dentro desse diretório, o ambiente virtual vai ser criado em cima de qual Pyhton? Temos esse Python que foi instalado dentro da Alura e é exatamente esse que vamos usar, mas eu só abri para mostrar para vocês, posso ter outros pythons na minha máquina e qualquer um desses eu posso usar para ser o ambiente do meu projeto. Deixa marcado o Python.

Se você também preferir, visto que criou um ambiente, você pode reutilizar esse ambiente em outros projetos, se forem projetos do mesmo tipo e tiverem bibliotecas que não vão conflitar. Mas não é o nosso caso, nós vamos criar um novo mesmo. Ao clicar no ok, ele vai copiar os arquivos do Python daquele diretório principal para o diretório venv do nosso projeto.

Ele criou um Python dentro do nosso projeto, se você olhar o diretório, Alura, o nome do projeto, venv, aí lá dentro tem o script e tem o executável do Python. E nesse executável do Python tem estes módulos instalados. E com isso concluímos a criação do ambiente virtual do Python no nosso projeto. Configuramos o projeto para usar o virtual environment e agora nós vamos instalar a biblioteca Pygame.

Para isso é muito simples, podemos vir no próprio PyCharm e pelo próprio PyCharm você pode instalar. Está vendo que são os módulos? Se você clicar no sinalzinho de mais ele vai permitir que você instale um módulo adicional, basta você digitar “pygame” e vamos procurar o pygame.

Na versão tem um monte de coisa do Pygame, existem várias bibliotecas que usam Pygame. Nós vamos pegar essa primeira, que está só “pygame”. Agora confirmaremos a versão, 1.9.6 (está certo) e clicaremos no “Install Package”. Ele está instalando, pronto, foi instalado com sucesso.

Agora, nos módulos do seu ambiente virtual do Python, dentro do seu projeto, tem também o módulo Pygame. Então está tudo correto. Vamos clicar no ok.

Para testar nós vamos criar outra pasta no nosso projeto chamada Pacman. Para isso, nós clicamos no botão direito no projeto, “New”, “Directory”, e escrevemos “pacman”. Dentro da pasta pacman, vamos criar um arquivo .py. Botão direito, “New”, “Python File”, e eu vou chamar de “pacman” também. Tenho certeza que está em “Python file”, e ele criou o arquivinho pacman.py.

Ele está me perguntando se eu quero que adicione esse arquivo lá no Git, como o meu projeto está no GitHub, eu vou marcar que sim e vou marcar para ele sempre adicionar e não ficar me perguntando isso mais.

Vamos aumentar um pouco a fonte, vamos escrever import pygame para testarmos se o pygame está funcionando e vamos chamar o pygame.init(), apenas isso. Vou aumentar um pouco mais a fonte, pronto, esse tamanho está legal. Se tudo der certo nós vamos rodar isso e ele vai mostrar: Bem-vindo ao Pygame Community.

Vamos clicar com o botão direito no código do pacman e escolher “Run ‘pacman’”. Ele vai executar e se o pygame tiver importado corretamente ele mostra embaixo “Hello from the pygame community” e termina o processo.

Primeiros passos com Pygame - Surfaces, sistema de coordenadas e cores

No vídeo anterior criamos um ambiente em Python para produzir o nosso jogo. E agora, com tudo isso pronto, vamos começar a criar o nosso jogo Pacman para Python.

Esse nosso primeiro passo desperta uma dúvida muito importante, mas como vamos criar um jogo usando o Python? Para criarmos um jogo usando a interface gráfica nós vamos precisar de uma biblioteca gráfica para Python, por isso nós vamos usar a biblioteca chamada Pygame.

Na nossa videoaula de hoje vamos aprender o que é o Pygame, como funciona o sistema de coordenadas de tela, para podermos colocar as coisas na tela na posição que desejamos, como funciona o sistema de cores, e escolhermos a cor que desejamos para cada um dos elementos gráficos e o que são as surfaces, que nós vamos usar desde agora até o término do nosso jogo para poder criar imagens, textos e tudo o que for necessário para colocar na tela.

O que é o Pygame? O Pygame é uma biblioteca da linguagem Python de código aberto e gratuita, que podemos usar para criar vários tipos de aplicações, inclusive jogos.

Se acessarmos o site do Pygame, podemos ver várias aplicações e jogos feitos com essa biblioteca na linguagem Python. É só digitar no navegador “pygame.org” e estamos no site. Clicando em projetos podemos ver vários tipos de projetos feitos.

Agora que nós já escolhemos uma biblioteca gráfica para utilizarmos, vamos trabalhar a próxima etapa, que é criar imagens e posicioná-las na tela. E isso nos leva a outra questão, como podemos posicionar imagens coloridas utilizando o Python e Pygame?

Em um primeiro momento vamos entender como funciona a tela gráfica, para posicionarmos os nossos componentes corretamente na tela. A tela gráfica é dividida em pixels, se dermos um zoom na tela, nós poderemos ver cada um dos pontinhos que a compõe. Cada um desses pontinhos é chamado de pixel.

O seu monitor de vídeo, como um todo, possui uma quantidade de pixels de largura e uma quantidade de pixels de altura. Normalmente é algo em torno de 1280 pixels de largura por 1024 de altura.

Quando nós criarmos a nossa janela gráfica, onde o jogo vai rodar, essa janela também terá uma quantidade de pixels de largura e uma quantidade de pixels de altura. No nosso exemplo nós estamos colocando um exemplo de uma tela que teria 100 pixels de largura e 100 de altura. É claro que não tem 100 quadradinhos, é só para exemplificar.

Para colocarmos uma imagem na tela ou desenharmos algo na tela nós precisamos dizer em que posição isso será desenhado. E para especificar essa posição nós vamos dizer quantos pixels isso vai ficar à direita e quantos pixels isso vai ficar para baixo.

A nossa coordenada que mede da esquerda e direita nós chamamos normalmente de x e a coordenada de cima para baixo normalmente nós chamamos de y. Se quisermos posicionar algo bem no canto esquerdo, nós vamos dizer que tem pouco x e pouco y. Por exemplo, digamos que seja 5x e 5y, então o elemento vai ser posicionado no canto esquerdo. Se quisermos posicionar nesse canto direito da tela, podemos dizer que o elemento vai ter 80x e 5y.

Outra coisa importante que precisamos aprender é como funciona o sistema de cores. Todas as cores que nós conhecemos são derivadas de cores primárias, assim como nós aprendemos lá no primário. E o Pygame também trabalha com esse sistema de cores utilizando o red, o green e o blue, ou seja, o vermelho, o verde e o azul. Podemos definir qualquer cor do espectro que nós conhecemos utilizando uma quantidade de vermelho, verde e azul.

Por exemplo, para definirmos uma cor como o azul, nós especificamos que não vai ter nada de vermelho, nada de verde e bastante de azul. E esse bastante, na verdade, é um número, é uma escala que vai de 0 a 255, ou seja, 0 quer dizer que não vai colocar nada daquela cor e 255 vai colocar tudo daquela cor.

Se você colocar números menores, por exemplo, 200, 100, você vai ter um pouco daquela cor, não tudo, mas um pouco dela. Por exemplo, o branco é a presença total de cores, então você tem 255 de vermelho, 255 de verde, 255 de azul. E o preto é a ausência total de cores, nada de vermelho, nada de verde e nada de azul.

Agora nós estamos nos perguntando como mostrar algo na tela. Para que possamos entender isso, nós vamos ter que aprender sobre a surface. A surface é um elemento gráfico que aceita desenhos, imagens, textos e a nossa tela gráfica será um elemento desse. Então antes de começarmos a desenhar, teremos que criar uma surface.

Para criar uma surface usaremos o comando pygame.display, na verdade é o módulo display dentro do Pygame, .set_mode. Isso vai criar uma surface que permite que possamos desenhar nela e lo que for desenhado nela aparece na tela.

nós vamos passar uma tupla com a largura e a altura dessa surface, ou seja, quantos pixels de largura, quantos pixels de altura. Existem vários tipos de flags para configuração, como full screen, resize, border, etc., mas, por enquanto, não vamos usar flags, vamos deixar sempre como 0.

E no depth nós vamos dizer quantos bits nós vamos utilizar para mostrar as cores nessa surface. Esse depth normalmente vai de 2 bits a 32 bits. 32 bits permite que possamos criar até 16 milhões de cores diferentes e escolher um nível de transparência para cada uma delas.

Mais informações vocês conseguem lá no site do Pygame, entrando em “pygame.org”, em “Docs”, e clicando em “Surface”. Vocês vão ter mais detalhes sobre como funciona a surface e os métodos dela.

Obrigado pela audiência. Vamos nos encontrar no próximo vídeo, onde colocaremos a mão na massa para fazermos nosso primeiro rabisco do jogo.

Sobre o curso Pacman com Python e Pygame: Cenário e ator

O curso Pacman com Python e Pygame: Cenário e ator possui 158 minutos de vídeos, em um total de 63 atividades. Gostou? Conheça nossos outros cursos de Python em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Python acessando integralmente esse e outros cursos, comece hoje!

Plus

Desconto 25%
  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$85 R$63,75
à vista R$1.020 R$765
Matricule-se

Pro

Desconto 25%
  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$120 R$90
à vista R$1.440 R$1.080
Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas