Г и сал­ға­раева к а ка­лы­мо­ва ж а орын­таева информатика



бет127/141
Дата29.12.2023
өлшемі0,5 Mb.
#144772
түріУчебники
1   ...   123   124   125   126   127   128   129   130   ...   141
АРМАН
-ПВ
баспасы
Все учебники Казахстана на OKULYK.KZ
*
Книга предоставлена исключительно в образовательных целях
согласно Приказа Министра образования и науки Республики Казахстан от 17 мая 2019 года № 217


160
self.ball = pygame.Rect(300,PADDLE_Y - BALL_


DIAMETER,BALL_DIAMETER,BALL_DIAMETER)
self.ball_vel = [5,-5]
self.create_bricks()
def create_bricks(self):
y_ofs = 35
self.bricks = []
for i in range(7):
x_ofs = 35
for j in range(8):
self.bricks.append(pygame.Rect(x_ofs,y_ofs,BRICK_
WIDTH,BRICK_HEIGHT))
x_ofs += BRICK_WIDTH + 10
y_ofs += BRICK_HEIGHT + 5
def draw_bricks(self):
for brick in self.bricks:
pygame.draw.rect(self.screen, BRICK_COLOR,
brick)
def check_input(self):
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
self.paddle.left -= 5
if self.paddle.left < 0:
self.paddle.left = 0
if keys[pygame.K_RIGHT]:
self.paddle.left += 5
if self.paddle.left > MAX_PADDLE_X:
self.paddle.left = MAX_PADDLE_X
if keys[pygame.K_SPACE] and self.state ==
STATE_BALL_IN_PADDLE:
self.ball_vel = [5,-5]
self.state = STATE_PLAYING
АРМАН
-ПВ
баспасы
Все учебники Казахстана на OKULYK.KZ
*
Книга предоставлена исключительно в образовательных целях
согласно Приказа Министра образования и науки Республики Казахстан от 17 мая 2019 года № 217


161
elif keys[pygame.K_RETURN] and (self.state ==


STATE_GAME_OVER or self.state == STATE_WON):
self.init_game()
def move_ball(self):
self.ball.left += self.ball_vel[0]
self.ball.top += self.ball_vel[1]
if self.ball.left <= 0:
self.ball.left = 0
self.ball_vel[0] = -self.ball_vel[0]
elif self.ball.left >= MAX_BALL_X:
self.ball.left = MAX_BALL_X
self.ball_vel[0] = -self.ball_vel[0]
if self.ball.top < 0:
self.ball.top = 0
self.ball_vel[1] = -self.ball_vel[1]
elif self.ball.top >= MAX_BALL_Y:
self.ball.top = MAX_BALL_Y
self.ball_vel[1] = -self.ball_vel[1]
def handle_collisions(self):
for brick in self.bricks:
if self.ball.colliderect(brick):
self.score += 3
self.ball_vel[1] = -self.ball_vel[1]
self.bricks.remove(brick)
break
if len(self.bricks) == 0:
self.state = STATE_WON
if self.ball.colliderect(self.paddle):
self.ball.top = PADDLE_Y - BALL_DIAMETER
self.ball_vel[1] = -self.ball_vel[1]
elif self.ball.top > self.paddle.top:
self.lives -= 1
if self.lives > 0:
self.state = STATE_BALL_IN_PADDLE


Достарыңызбен бөлісу:
1   ...   123   124   125   126   127   128   129   130   ...   141




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет