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



Pdf көрінісі
бет105/122
Дата11.05.2022
өлшемі4,51 Mb.
#142180
түріКнига
1   ...   101   102   103   104   105   106   107   108   ...   122
АРМАН
-
ПВ
 
баспасы
Все
учебники
Казахстана
на
OKULYK.KZ
*
Книга
предоставлена
исключительно
в
образовательных
целях
согласно
Приказа
Министра
образования
и
науки
Республики
Казахстан
от
17 
мая
2019 
года

217


163
elif self.state == STATE_WON:
self.show_message("YOU WON! PRESS ENTER TO 
PLAY AGAIN")
self.draw_bricks()
pygame.draw.rect(self.screen, 
BLUE, 
self.paddle)
pygame.draw.circle(self.screen, 
WHITE, 
(self.ball.left + BALL_RADIUS, self.ball.top + BALL_
RADIUS), BALL_RADIUS)
self.show_stats()
pygame.display.flip()
if __name__ == "__main__":
Bricka().run()
Нә ти же сі былай көрінеді (
39-су рет
):
39-су рет. 
Прог рам ма нә ти жесі
Ұпай лар ды есеп теу ал го рит мін іс ке асы ру үшін score=0 
ай ны ма лы ен гі зі ле ді, сон дай-ақ lives = 3 ай ны ма лы сы бар, ол 
қал ған өмір са ны на жауап бе ре ді. 
State
ай ны ма лысы ой ын 
қан дай күй де еке нін көр се те ді. Бар лы ғы 4 күй анық тал ды:
АРМАН
-
ПВ
 
баспасы
Все
учебники
Казахстана
на
OKULYK.KZ
*
Книга
предоставлена
исключительно
в
образовательных
целях
согласно
Приказа
Министра
образования
и
науки
Республики
Казахстан
от
17 
мая
2019 
года

217


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


Достарыңызбен бөлісу:
1   ...   101   102   103   104   105   106   107   108   ...   122




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

    Басты бет