Білім беру бағдарламасы информатика мұҒалімдерінің ПӘндік қҰзыреттерін дамыту


Объектіні жылжыту for event in pygame.event.get()



бет8/8
Дата15.01.2023
өлшемі4,95 Mb.
#165580
түріСабақ
1   2   3   4   5   6   7   8
Байланысты:
Таныстырылым4 (1)
Ғылыми жоба оқушы, Мәтінмен жұмыс істеу . ҚМЖ, Сенің азаматтық құқығың тәрбие сағаты

Объектіні жылжыту

for event in pygame.event.get():

if event.type == pygame.MOUSEBUTTONDOWN:

if x1 <= event.pos[0] <= x1 + 50 and y1 <= event.pos[1] <= y1 + 50: # тінтуір көрсеткіші шаршыда орналасқан ба, тексереміз

moving = True # көшіру режимін қосамыз

x, y = event.pos[0] - x1, event.pos[1] - y1 # шаршының жоғарыдағы сол жақ бұрышына дейінгі қашықтықты анықтаймыз

if event.type == pygame.MOUSEBUTTONUP:

moving = False # батырманы босатамыз – қозғалыс тоқтайды

if event.type == pygame.MOUSEMOTION:

if moving: # қозғалыс режимін тексеру

x1, y1 = event.pos[0] - x, event.pos[1] – y # шаршының жоғарыдағы сол жақ бұрышының координаттарын белгілейміз

screen.fill(pygame.Color('black'))

pygame.draw.rect(screen, (255, 0, 0), ((x1, y1), (50, 50)))

pygame.display.flip()

«Шарларды жару» ойыны


Ойынды іске қосыңыз:
1) Әр секунд сайын терезенің ені ауқымында кездейсоқ х координаталары және кездейсоқ түсі бар шар пайда болады. Шар ball_velocity жылдамдығымен төменге түседі.
2) Шарды салу параметрлері balls тізіміне кортеж арқылы жазылады (x, y, (red, green, blue), ball_radius).
3) Алаңда бірнеше шарлар болуы мүмкін болғандықтан, олардың әрқайсысының параметрлерін тексеру үшін циклде for ball in balls кортеждерін іріктейміз.
4) Тінтуір батырмасын басқан кезде, шарларға тигіздік пе, жоқ па, анықтау керек k = ((x - доп [0]) ** 2 + (y - доп [1]) ** 2) ** 0,5, егер тигізген болсақ, k <= ball_radius болуы керек және соққылардың саны артуы керек, егер тигізбеген болсақ, айыппұл – минус 1 ұпай. 
5) Ойын барысында уақыт 50-ден 0-ге дейін кері саналады, нөлге жеткен кезде, ойын аяқталады.
031balls.py

4.3-ресурс


031balls.py

Ойын аяқталды ☺

Қорытындылау:


Мен нені білетін едім?

Не туралы білдім?

Нені өз тәжірибемде қолданатын боламын?

Сұрақтар
Күтілетін нәтижелер
Екі есепті шығару немесе бір қарапайым ойын құрастыру

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




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

    Басты бет