我正在python中制作一个简单的乒乓球游戏。我使用的Python版本是Python 3.3.3。每当我运行游戏时,它只显示一个黑屏,而不是它。这是为了展示蝙蝠和竞技场。
import pygame, sys
from pygame.locals import *
# Number of frames per second
# Change this value to speed up or slow down your game
FPS = 200
#Global Variables to be used through our program
WINDOWWIDTH = 400
WINDOWHEIGHT = 300
#Main function
def main():
pygame.init()
global DISPLAYSURF
FPSCLOCK = pygame.time.Clock()
DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH,WINDOWHEIGHT))
pygame.display.set_caption('Pong')
while True: #main game loop
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
FPSCLOCK.tick(FPS)
if __name__=='__main__':
main()
LINETHICKNESS = 10
PADDLESIZE = 50
PADDLEOFFSET = 20
# Set up the colours
BLACK = (0 ,0 ,0 )
WHITE = (255,255,255)
#Initiate variable and set starting positions
#any future changes made within rectangles
ballX = WINDOWWIDTH/2 - LINETHICKNESS/2
ballY = WINDOWHEIGHT/2 - LINETHICKNESS/2
playerOnePosition = (WINDOWHEIGHT - PADDLESIZE) /2
playerTwoPosition = (WINDOWHEIGHT - PADDLESIZE) /2
#Draws the starting position of the Arena
drawArena()
drawPaddle(paddle1)
drawPaddle(paddle2)
drawBall(ball)
#Draws the arena the game will be played in
def drawArena():
DISPLAYSURF.fill((0,0,0))
#Draw outline of arena
pygame.draw.rect(DISPLAYSURF, WHITE, ((0,0),(WINDOWWIDTH,WINDOWHEIGHT)), LINETHICKNESS*2)
#Draw centre of line
pygame.draw.line(DISPLAYSURF, WHITE, ((WINDOWWIDTH/2),0),((WINDOWWINDOW/2), WINDOWHEIGHT) (LINETHICKNESS/4))
#Draws the paddle
def drawPaddle(paddle):
#Stops paddle moving too low
if paddle.bottom > WINDOWHEIGHT - LINETHICKNESS:
paddle.bottom = WINDOWHEIGHT - LINETHICKNESS
#Stops paddle moving too high
elif paddle.top < LINETHICKNESS:
paddle.top = LINETHICKNESS
#Draws paddle
pygame.draw.rect(DISPLAYSURF, WHITE, paddle)