ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 928
Скачиваний: 16
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
PyGame (пайгейм) кітапханасы. 1-сабақПрограммалауға қатысты ең қызық бөлім – компьютерлік ойындарды жасау. Программалаумен айналысатын адамдар ерте ме, кеш пе өз ойынын жазуға ниет білдіреді. Ойынның күрделілігі техникалық мүмкіндіктері мен әзірлеушінің шеберлігіне байланысты.Компьютерлік ойындарды екі түрге бөлуге болады: 2D және 3D.2D ойынында тек екі қозғалыс өсі қолданылады. Әдетте мұндай ойындарда оңға, солға, жоғары және төмен қозғалуға болады. Мұндай ойындар компьютерлік ресурстарға жоғары талап қоймайды. Бағдарламалауды үйрене бастаған кез келген маманның 2D ойынын жасап, дамыту мүмкіндігі бар.Python-да ойын жасау PyGame арқылы жүзеге асырылады.PyGame – ойын жасауға қажетті құралдар жиынтығын қамтитын кітапхана.PyGame арқылы ойындар мен түрлі мультимедиалық қосымшалар жасауға болады.PyGame-де пайдалануға болатын негізгі мүмкіндіктер:
2-сурет. PyGame кітапханасын орнатқаннан кейінгі «Пәрмен жолы (Командная строка)» терезесі
Түс RGB форматында үш бүтін элементтен тұратын кортеж түрінде жазылады. Мысалы, қызылдың (255, 0, 0) кортежін жазу керек.
1-тапсырма. screen негізгі бетімен берілген ойын шаблоны бар. 400x250 өлшемді new_sc1 жаңа бетін қосу керек. Жаңа беттің фоны сары түсті болуы қажет.Әрекеттердің реті:
-
графиканы кірістіру; -
анимацияны қолдану; -
дыбысты кірістіру; -
басқару құрылғыларын пайдалану (тышқан, пернетақта, геймпад).
-
«Қосу (Пуск)» мәзіріне cmd деп жазу; -
«Пәрмен жолы (Командная строка)» терезесін таңдау; -
терезеге python пәрменін енгізу; -
CTRL + Z консолінен шығу.
-
Пәрмен жолына pip install pygame деп жазу. -
Орнатудың аяқталғанын күту.
2-сурет. PyGame кітапханасын орнатқаннан кейінгі «Пәрмен жолы (Командная строка)» терезесі
-
Пәрмен жолына python сөзін жазу. -
Кітапхананы импорттау үшін import pygame пәрменін енгізу.
-
Жобаның тақырыбын анықтау. -
Жобаны іске асыру үшін ақпарат жинау. -
Ойынның мақсатын анықтау. -
Ойынның кейіпкерлерін анықтау. -
Ойын ережелерін әзірлеу.
Ойын терезесінің шаблон коды
1-суретФигура салуға арналған функцияның стандартты формасы бар:pygame.draw.функция атауы(аргументтер)Бірінші міндетті аргумент – фигура салынған беттің атауы. Екінші міндетті аргумент – түс. Әрі қарай әр форманың нақты аргументтері көрсетіледі. Соңғы аргумент сызық қалыңдығы деп аталады.Түс RGB форматында үш бүтін элементтен тұратын кортеж түрінде жазылады. Мысалы, қызылдың (255, 0, 0) кортежін жазу керек.
RGB моделінде түсті кодтау
2-суретrect() функциясы арқылы тіктөртбұрыш салудың бірнеше әдісін қарастырайық.1-мысал:
pygame.draw.rect (screen, (255, 255, 0), (50, 50, 200, 150), 10)Ескерту. Бірінші аргумент мәні – терезенің негізгі бетімен байланысқан screen айнымалысы. Екінші аргумент сары түсті білдіреді. Үшінші аргумент – төрт саннан тұратын кортеж. Алғашқы екі сан тіктөртбұрыштың сол жақ жоғары бұрышының координаталарын анықтайды, келесі екі сан оның ені мен ұзындығын көрсетеді. Сызықтың қалыңдығы 10-ға тең.Нәтижесі:
3-суретЕгер соңғы аргумент жоқ болса, онда іші боялған тіктөртбұрыш салынады.2-мысал:
pygame.draw.rect (screen, (255, 255, 0), (50, 50, 200, 150))Нәтижесі:
4-суретҮшінші аргумент ретінде draw.rect() функциясына кортеж емес, Rect класының алдын ала жасалған данасын беруге болады.3-мысал:
r1 = pygame.Rect(20, 20, 100, 200)r2 = pygame.Rect(200, 20, 100, 200)pygame.draw.rect (screen, (255, 255, 255), r1, 5)pygame.draw.rect (screen, (255, 255, 255), r2)Нәтижесі:
5-суретКодты жеңілдету үшін әдетте түстер фигураларды салмастан бұрын тұрақты түрде беріледі.4-мысал:
6-суретНәтижесі:
7-суретКесінді салу үшін ұштарының координаттарын көрсету керек. line() функциясы қарапайым сызық жүргізеді, ал aaline() арқылы тегіс сызық жүргізуге болады.5-мысал:
8-суретНәтижесі:
9-суретpolygon() функциясы төбелердің координаттарында анықталатын ерікті көпбұрыш салады. Егер сызық қалыңдығы белгілі болмаса, онда көпбұрыш іші боялады.6-мысал:
10-суретНәтижесі:
11-суретcircle() функциясын пайдаланып, шеңбер немесе дөңгелек салуға болады, центрлік координаттар мен шеңбердің радиусы аргумент ретінде көрсетіледі.7-мысал:
pygame.draw.circle(screen, BLUE,(200, 150), 100, 5)pygame.draw.circle(screen, YELLOW,(200, 150), 50)Нәтижесі:
12-суретellipse() функциясы эллипс құруға мүмкіндік береді. Эллипстің қалай орналасқанын оның сыртынан сызылған тікбұрышты аймақ арқылы анықтауға болады.8-мысал:
pygame.draw.ellipse(screen, GREEN,(10, 50, 300, 100))pygame.draw.ellipse(screen, GRAY,(350, 50, 100, 200),5)Нәтижесі:
13-суретarc() функциясын қолданып, эллипстің бір бөлігі саналатын доғаны салуға болады. Үшінші аргумент ретінде эллипске сырттай сызылған тікбұрышты аймақ көрсетіледі. Төртінші және бесінші аргументтер – радианмен көрсетілген доғаның басталуы мен аяқталуы. Кері санақ сағат тіліне қарсы оң жақтан басталады.9-мысал:
14-суретНәтижесі:
15-суретСабақта талқыланған функциялар ойын терезесінің фонына әртүрлі кескіндер жасауға болатын графикалық примитивтерді құруға мүмкіндік береді.АртқаАртқыфонменойынкейіпкерлері. 2-сабақОйын қаңқасы жасалғаннан кейін кейіпкерлерді жасауға кірісуге болады. pygame-де барлық сызба белгілі бір бетте жасалады. рygame.display.set_mode() әдісімен құрылған бет ойынның басты бет саналады. рygame.Surface класы қосымша беттерді жасауға мүмкіндік береді. pygame-дегі беттер мен графикадағы қабаттардың жұмысы ұқсайды, олар элементтерді топтастыруға мүмкіндік береді.blit() әдісімен жаңа бетті қосуға болады. Бұл әдісте екі негізгі параметрді көрсету керек:-
беттің атауы; -
беттің шығуына арналған экрандағы нүктенің координаталары.
1-тапсырма. screen негізгі бетімен берілген ойын шаблоны бар. 400x250 өлшемді new_sc1 жаңа бетін қосу керек. Жаңа беттің фоны сары түсті болуы қажет.Әрекеттердің реті:
-
pygame.Surface класын қолданып жаңа бетті құру:
-
жаңа беттің фонын сары түске өзгертуге арналған пәрменді енгізу:
-
жаңа бетті көрсету үшін blit() әдісін қолдану: