-5

Pong ゲームを pygame で作成していますが、まだ完成していません。コード内の変数、クラス、その他の名前はポルトガル語ですが、どちらが何をするのかを知るのは簡単だと思います。コードは、ユーザーが望むときに 2 つのパドルを動かす必要がありますが、背景とパドルしか表示しません。エラーメッセージは表示されません。

コードは次のとおりです。

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()
4

1 に答える 1