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



Pdf көрінісі
бет112/124
Дата27.10.2023
өлшемі4,51 Mb.
#188602
түріКнига
1   ...   108   109   110   111   112   113   114   115   ...   124
Байланысты:
395 (1)

АРМАН
-
ПВ
 
баспасы
Все
учебники
Казахстана
на
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   ...   108   109   110   111   112   113   114   115   ...   124




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

    Басты бет