164
STATE_BALL_IN_PADDLE =
0 – тақ та да ғы доп
STATE_PLAYING =
1 – ой ын жү ріп жа тыр
STATE_WON =
2 – ұтыс
STATE_GAME_OVER =
3 – ой ын со ңы
self.lives = 3
self.score = 0
self.state = STATE_BALL_IN_PADDLE
Бұл функция ұпай лар ды есеп тей ді. Егер доп кір піш ке түс се,
ұпай дың жал пы са ны на 3 ұпай қо сы ла ды. Ал кір піш ой ын ала-
ңы нан жой ыла ды.
Егер эк ран да ғы кір піш тің са ны 0 бол са, он да ой ын ның
күйі «же ңім паз» жағдайына ауысады жә не ой ын шы жең ді деп
жа рияла на ды.
Доп тың тақ та дан құ лауы жағ дай ын да өмір дің са ны тек се-
рі ле ді.
Lives
ай ны ма лысы нөл ден көп бол са, ой ын «тақ та да ғы
доп» күйі не ауы са ды жә не ой ын жа ңар ты ла ды. Егер өмір бол-
ма са, «ой ын со ңы» жа рияла на ды.
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
else:
self.state = STATE_GAME_OVER
Достарыңызбен бөлісу: