import pygame #setup
pygame.init()
screen = pygame.display.set_mode((800,600))
DISPLAYSURF = pygame.display.set_caption("Smley Pong")
keepGoing = True
pic = pygame.image.load("Crazysmile.bmp")
colorkey = pic.get_at((0,0))
pic.set_colorkey(colorkey)
picx = 0
picy = 0
BLACK = (0,0,0)
WHITE = (255,255,255)
Clock = pygame.time.Clock()
speedx = 5
speedy = 5
paddlew = 200
paddleh = 25
paddley = 550
picw = 100
pich = 100
points = 0
lives = 5
font = pygame.font.SysFont("Times", 24)
while keepGoing: # Game loop
for event in pygame.event.get():
if event.type == pygame.QUIT:
keepGoing = False
picx += speedx
picy += speedy
if picx <= 0 or picx + pic.get_width() >= 800:
speedx = -speedx
if picy <= 0:
speedy = -speedy
if picy >= 500:
lives -= 1
speedy = -speedy
screen.fill(BLACK)
screen.blit(pic, (picx, picy))
# Draw Paddle
paddlex = pygame.mouse.get_pos()[0]
paddlex = paddlew/2
pygame.draw.rect(screen, WHITE, (paddlex, paddley, paddlew, paddleh))
# Check for paddle bounce
if picy + pich >=paddley and picy + pich <=paddley + paddleh \
and speedy > 0:
if picx +picw/2 >= paddlex and picx +picw/2 <= paddlex + \
paddlew:
points += 1
speedy = -speedy
# Draw text on screen
draw_screen = "Lives: " + str(lives) + "points: " + str(points)
# Check whether game is over
if lives < 1:
speedx = speedy = 0
draw_String = "Game Over.Your score was: " + str(points) draw_string += ". Press F1 to play again. "
text = font.render(draw_string, True, WHITE)
text_rect = text.get_rect()
text_rect.centerx = screen.get_rect().centerx
text.rect.y = 10
screen.bilt(text, text_rect)
pygame.display.update()
timer.tick(60)
pygame.quit() # Exit
Это понг игру с помощью справки книги, я хотел, чтобы проверить Pygame но экран просто пошел пустым, поэтому я искал вверх если у кого-то была такая же проблема, но у всех были разные ответы, поэтому я не мог ее исправить. Я добавил несколько дополнительных частей, но если вы думаете, что мне их не нужны, или вы хотите, чтобы я добавил что-то, просто скажите, что вы думаете, что я должен делать. Если есть какие-либо предложения, ответьте на них, а также ответьте также на рекомендации.Всякий раз, когда я запускаю мой код отображается пустой экран без сообщения об ошибке
Устраните ваши отступы, пожалуйста, –
Вы уверены, что не получили сообщение об ошибке? Я вижу несколько ошибок: 1) 'bilt' вместо 'blit' 2) у вас есть timer.tick (60), но вы назвали свой часовой объект «Clock» - нет переменной «таймер» в любом месте . что, действительно трудно прочитать код с отступом. Исправьте это, и мы можем попробовать запустить ваш код, чтобы узнать, что еще не так. – Chris
Здесь многое происходит, что вам нужно понять, прежде чем пытаться реализовать его в коде. Начните с основ, таких как отображение белого экрана или перемещение квадрата по экрану. Тогда вы можете понять основные игры программирования. –