[MÚSICA] Olá pessoal! Bem vindos a mais essa aula do curso de Python. A ideia de hoje vai ser mostrar que Python pode ser bem fácil fazer coisas mais complexas usando o módulo ou a biblioteca certa. Na aula de hoje a gente vai ver todo o potencial de uma biblioteca chamada Pygame e para isso tem uma página na internet que vai ser bem útil para vocês, quem estiver interessado, que é, www.pygame.org. Lá vocês vão encontrar vários recursos ligados a como fazer jogos, inclusive essa introdução a jogos feita pelo Pete. Aqui está a página completa onde ele mostra toda a história, o que acontece e, código que tem 25 linhas no qual ele vai mostrar como é possível fazer objeto, no caso uma bola, ficar batendo na tela de lado para o outro. Então, vamos lá, vamos ver isso no Python. Uma coisa importante, esses módulos aqui no caso, o sys e o pygame, o sys provavelmente já tem no Python de vocês, mas o pygame não tem. Então, para conseguir instalar o pygame vai ser necessário executar o programa pip e pip install pygame deve funcionar quase todos computadores. A ideia que esse módulo não vem normalmente no Python de vocês. Então vamos aqui no IDLE e vamos abrir esse arquivo. Então, venho aqui, ball e abri. Então, o programa é relativamente simples, ele pega o sys e o pygame, ele faz init, ele começa dizendo tamanho de tela, largura e altura, tamanho da bola, ele define o que é o preto para ele e aí ele vai começar a criar a tela, vai carregar o que é a bola, faz alguma coisa ligada a ballrect, eu não sei muito bem o que é, mas basicamente aqui a gente tem algumas coisas. Aqui ele está dizendo, olha, não tem nada, não tem nenhum evento capturado, se acontecer alguma coisa ele vai apenas sair, esse jogo não é jogo interativo. Por outro lado, aqui dá para entender bem claramente qual que é a física do jogo. O que é que o jogo faz? Basicamente, se a bola passar para alguma coisa negativa à esquerda ele muda a velocidade horizontal ou, se ela passar para alguma coisa além da direita, ele também muda a velocidade, então, se ele está indo a uma velocidade positiva para a direita ele bate na parede e volta com uma velocidade negativa para o outro lado, então ele rebate, é como se fosse espelho. Assim como se faz para o x, se faz para o y também. Aqui ele enche a tela, coloca blit e manda fazer a coisa. Acho que melhor do que ficar só olhando esse código, que não tem nada muito complicado, a não ser os comandos do próprio pygame, vamos ver ele rodando. E aqui está! A bola que está batendo de lado para o outro, na tela. Como está aqui, eu posso. Não fechou aqui, pequeno probleminha, vamos fazer aqui, mudar alguns parâmetros. Eu quero 400, eu quero muito mais rápido e meu preto agora não é bem preto, isso aqui deve ser RGB, vamos colocar outros valores e vamos colocar para rodar de novo. Pronto! Mudamos uma bola que é muito mais frenética no sentido horizontal e temos uma cor que não é mais preto. Então, uma das formas de aprender a usar isso aqui é olhar o código, tentar modificar e ver o que acontece. Dá para mudar a a bola, dá para mudar várias coisas, mas é bem simples fazer isso. >> Acho que tem desafio bem interessante que podia a gente deixar para os alunos, que é colocar a física da gravidade aí, então, todo mundo sabe ali como são as fórmulas do movimento newtoniano clássico da gravidade e a gente podia até dar a opção para o usuário para escolher se ele quer a gravidade da Terra, da Lua ou de Júpiter, por exemplo, e a gente fazer a bola cair com gravidade, seria bem divertido. >> E aí o que a gente vai ter que fazer, de alguma forma a vamos ter que mudar aqui, para esse valor ir diminuindo com o tempo, a velocidade ficando menor com o tempo, porque a bola algum momento ela vai ficar no solo. Mas é isso, só para mostrar que para mudar isso vocês não precisam entender do Pygame, vamos precisar entender pouco de física e apenas colocar a fórmula aqui. Então, espero que vocês estejam motivados por exemplo como esse, que com apenas poucas linhas de código conseguimos fazer uma coisa que começa a ficar com cara muito mais interessante e claro, atrair novos usuários ou pessoas que se interessam por fazer programas com alguma utilidade mais lúdica ou algo assim. Isso aí! Até a próxima! [MÚSICA] [MÚSICA]