我正在 pygame 中制作 Pong 游戏,但它还没有完成。代码中的变量、类和其他内容的名称是葡萄牙语,但我认为很容易知道它的作用。当用户想要时,代码应该使两个桨移动,但它只显示背景和桨。我没有收到任何错误消息。
这是代码:
import pygame,sys,os,time
from pygame.locals import *
pygame.init()
janela=pygame.display.set_mode((800, 533),0,32)
pygame.display.set_caption("Pong!")
superficie=pygame.display.get_surface()
clock=pygame.time.Clock()
fundoFicheiro=os.path.join("Imagens","fundo2.png")
fundoImagem=pygame.image.load(fundoFicheiro).convert()
barraFicheiro=os.path.join("Imagens","barra.png")
barraImagem=pygame.image.load(barraFicheiro).convert_alpha()
def imprimirBarra(x,y):
janela.blit(barraImagem,(x,y))
class barra():
y=1
x=1
velocidade=1
def subir(self):
self.y-=self.velocidade
def descer(self):
self.y+=self.velocidade
def parar(self):
self.velocidade=0
def comecar(self):
self.velocidade=1
barra1=barra()
barra1.x=5
barra1.y=superficie.get_height()/2-barraImagem.get_height()/2
barra2=barra()
barra2.velocidade=1
barra2.x=superficie.get_width()-(barraImagem.get_width()+5)
barra2.y=superficie.get_height()/2-barraImagem.get_height()/2
def interface():
for event in pygame.event.get():
if event.type==KEYDOWN:
if event.key==K_UP:
barra2.comecar()
barra2.subir()
elif event.key==K_DOWN:
barra2.comecar()
barra2.descer()
elif event.key==K_w:
barra1.comecar()
barra1.subir()
elif event.key==K_s:
barra1.comecar()
barra1.descer()
elif event.type==KEYUP:
if event.key==K_UP:
barra2.parar()
elif event.key==K_DOWN:
barra2.parar()
elif event.key==K_w:
barra1.parar()
elif event.key==K_s:
barra1.parar()
while True:
clock.tick(60)
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
janela.blit(fundoImagem,(0,0))
imprimirBarra(barra1.x,barra1.y)
imprimirBarra(barra2.x,barra2.y)
interface()
pygame.display.update()