0% acharam este documento útil (0 voto)
6 visualizações4 páginas

Tutorial Pygame

O documento descreve um jogo desenvolvido com Pygame, onde dois jogadores, representados por retângulos vermelho e verde, competem para coletar um objeto azul. O jogo inclui movimentação dos jogadores, controle de pontuação e verificação de vitória ao atingir 10 pontos. O código também implementa limites de movimento e exibe o placar na tela.

Enviado por

dsaso0790
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
6 visualizações4 páginas

Tutorial Pygame

O documento descreve um jogo desenvolvido com Pygame, onde dois jogadores, representados por retângulos vermelho e verde, competem para coletar um objeto azul. O jogo inclui movimentação dos jogadores, controle de pontuação e verificação de vitória ao atingir 10 pontos. O código também implementa limites de movimento e exibe o placar na tela.

Enviado por

dsaso0790
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Jogador 1: Representado por um retângulo vermelho.

Jogador 2: Representado por um retângulo verde.


Objeto Azul: O retângulo azul é o item coletável que os jogadores precisam alcançar.
import pygame # Importa a biblioteca Pygame para criar o jogo​
from [Link] import * # Importa os eventos e constantes do Pygame​
from sys import exit # Importa a função exit para encerrar o programa​
from random import randint # Importa a função randint para gerar números
aleatórios​

# Inicializa o Pygame​
[Link]()​

# Define as dimensões da tela do jogo​
largura = 640​
altura = 480​

# Define as posições iniciais dos jogadores (retângulos)​
x1 = largura / 4 # Posição inicial do jogador 1 no eixo X​
y1 = altura / 2 # Posição inicial do jogador 1 no eixo Y​

x2 = 3 * largura / 4 # Posição inicial do jogador 2 no eixo X​
y2 = altura / 2 # Posição inicial do jogador 2 no eixo Y​

# Gera posições aleatórias para o objeto coletável (retângulo azul)​
x_azul = randint(40, 600)​
y_azul = randint(50, 430)​

# Placar do jogo​
pontos_jogador1 = 0 # Pontuação inicial do jogador 1​
pontos_jogador2 = 0 # Pontuação inicial do jogador 2​

# Define a tela do jogo e o título da janela​
tela = [Link].set_mode((largura, altura))​
[Link].set_caption('Jogo Competitivo')​

# Cria um objeto de relógio para controlar a taxa de quadros​
relogio = [Link]()​

# Define a fonte para desenhar o placar na tela​
fonte = [Link]('Arial', 30)​

# Loop principal do jogo​
while True:​
# Controla o FPS (frames por segundo) do jogo​
[Link](30)​

# Preenche o fundo da tela com a cor preta​
[Link]((0, 0, 0))​

# Trata os eventos do Pygame, como o fechamento da janela​
for event in [Link]():​
if [Link] == QUIT:​
[Link]() # Fecha o Pygame​
exit() # Encerra o programa​

# Movimentação do jogador 1 (retângulo vermelho)​
if [Link].get_pressed()[K_a]: # Se a tecla "A" for pressionada​
x1 -= 20 # Move o jogador 1 para a esquerda​
if [Link].get_pressed()[K_d]: # Se a tecla "D" for pressionada​
x1 += 20 # Move o jogador 1 para a direita​
if [Link].get_pressed()[K_w]: # Se a tecla "W" for pressionada​
y1 -= 20 # Move o jogador 1 para cima​
if [Link].get_pressed()[K_s]: # Se a tecla "S" for pressionada​
y1 += 20 # Move o jogador 1 para baixo​

# Movimentação do jogador 2 (retângulo verde)​
if [Link].get_pressed()[K_LEFT]: # Se a seta esquerda for pressionada​
x2 -= 20 # Move o jogador 2 para a esquerda​
if [Link].get_pressed()[K_RIGHT]: # Se a seta direita for pressionada​
x2 += 20 # Move o jogador 2 para a direita​
if [Link].get_pressed()[K_UP]: # Se a seta para cima for pressionada​
y2 -= 20 # Move o jogador 2 para cima​
if [Link].get_pressed()[K_DOWN]: # Se a seta para baixo for pressionada​
y2 += 20 # Move o jogador 2 para baixo​

# Limita o movimento dos jogadores para que não saiam da tela​
# Limita o movimento do jogador 1​
if x1 < 0:​
x1 = 0 # Não deixa o jogador 1 sair pela esquerda​
elif x1 > largura - 40:​
x1 = largura - 40 # Não deixa o jogador 1 sair pela direita​

if y1 < 0:​
y1 = 0 # Não deixa o jogador 1 sair para cima​
elif y1 > altura - 50:​
y1 = altura - 50 # Não deixa o jogador 1 sair para baixo​

# Limita o movimento do jogador 2​
if x2 < 0:​
x2 = 0 # Não deixa o jogador 2 sair pela esquerda​
elif x2 > largura - 40:​
x2 = largura - 40 # Não deixa o jogador 2 sair pela direita​

if y2 < 0:​
y2 = 0 # Não deixa o jogador 2 sair para cima​
elif y2 > altura - 50:​
y2 = altura - 50 # Não deixa o jogador 2 sair para baixo​

# Desenha os jogadores (retângulos vermelhos e verdes)​
[Link](tela, (255, 0, 0), (x1, y1, 40, 50)) # Jogador 1 - Vermelho​
[Link](tela, (0, 255, 0), (x2, y2, 40, 50)) # Jogador 2 - Verde​

# Desenha o retângulo azul (objeto coletável)​
ret_azul = [Link](tela, (0, 0, 255), (x_azul, y_azul, 40, 50))​

# Verifica colisão entre os jogadores e o objeto azul​
if [Link](x1, y1, 40, 50).colliderect(ret_azul):​
pontos_jogador1 += 1 # Jogador 1 coleta o objeto e ganha 1 ponto​
x_azul = randint(40, 600) # Gera uma nova posição aleatória para o objeto azul​
y_azul = randint(50, 430)​

if [Link](x2, y2, 40, 50).colliderect(ret_azul):​
pontos_jogador2 += 1 # Jogador 2 coleta o objeto e ganha 1 ponto​
x_azul = randint(40, 600) # Gera uma nova posição aleatória para o objeto
azul​
y_azul = randint(50, 430)​

# Exibe o placar na tela​
texto_placar = [Link](f'Jogador 1: {pontos_jogador1} - Jogador 2:
{pontos_jogador2}', True, (255, 255, 255))​
[Link](texto_placar, (10, 10))​

# Verifica se algum jogador venceu (atingiu 10 pontos)​
if pontos_jogador1 >= 10:​
texto_ganhador = [Link]("Jogador 1 Venceu!", True, (255, 255, 255))​
[Link](texto_ganhador, (largura / 2 - 100, altura / 2))​
[Link]() # Atualiza a tela​
[Link](2000) # Espera 2 segundos antes de fechar o jogo​
[Link]() # Fecha o Pygame​
exit() # Encerra o programa​

elif pontos_jogador2 >= 10:​
texto_ganhador = [Link]("Jogador 2 Venceu!", True, (255, 255, 255))​
[Link](texto_ganhador, (largura / 2 - 100, altura / 2))​
[Link]() # Atualiza a tela​
[Link](2000) # Espera 2 segundos antes de fechar o jogo​
[Link]() # Fecha o Pygame​
exit() # Encerra o programa​

[Link]() # Atualiza a tela a cada loop

Você também pode gostar