Можно ли добавить к этому коду условие, которое приведет к изменению x_direction, заставляя мяч отскакивать при превышении ширины? Что-то вроде: if x_val> width x_direction == x_direction * -1? (аналогично для y_direction).
import pygame
BLACK = (0,0,0)
WHITE = (255,255,255)
BLUE = (50,50,255)
YELLOW = (255,255,0)
width = 64
height = 480
pygame.init()
size = (width,height)
screen = pygame.display.set_mode(size)
pygame.display.set_caption("Pong")
done = False
clock = pygame.time.Clock()
ball_width = 20
x_val = 150
y_val = 200
x_direction = 1
y_direction = 1
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
x_val = x_val + x_direction
y_val = y_val + y_direction
screen.fill (BLACK)
# condition to go here to make ball bounce
pygame.draw.rect(screen, BLUE, (x_val,y_val,ball_width,20))
pygame.display.flip()
clock.tick(60)
pygame.quit ()
=
вместо==
2) Это будет обрабатывать только одну сторону экрана. 3) В традиционном понге мяч не отскакивает от левой и правой сторон экрана; вместо этого он засчитывается как очко для одного игрока. С другой стороны, большая часть игровой логики, вероятно, должна содержаться в циклеwhile not done
(хотя это может быть просто проблемой форматирования вашего сообщения). - person 0x5453   schedule 06.11.2018