PyGame архитектурасы. Pipfile және Pipfile.lock
Автор: danaya9926 • Ноябрь 13, 2021 • Практическая работа • 1,373 Слов (6 Страниц) • 380 Просмотры
ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
Қазақ мемлекеттік қыздар педагогикалық университеті
№10 Практикалық жұмыс
Тақырыбы:PyGame архитектурасы. Pipfile және Pipfile.lock
Орындаған: Жапсарбек Даная | |
Тексерген: Абуова Жанат Кожановна
|
Алматы 2021
№10 практика. PyGame архитектурасы. Pipfile және Pipfile.lock
Көптеген әзірлеушілер бағдарламалық жасақтаманы әзірлеуге келеді, өйткені олар ойын жасағысы келеді. Әркім кәсіби ойын әзірлеушісі бола алмайды, бірақ кез келген адам көңіл көтеру үшін (және пайдалы болуы мүмкін) өз ойындарын жасай алады. Бұл бес бөлімнен тұратын оқулықта мен сізге Python 3 және керемет PyGame негізін пайдаланып 2D бір ойыншы ойындарын қалай жасау керектігін көрсетемін.
(Оқулықтың қалған бөлігі: екінші, үшінші, төртінші, бесінші.)
Біз классикалық Breakout ойынының нұсқасын жасаймыз. Осы оқулықты меңгергеннен кейін сіз ойын құру үшін не қажет екенін анық түсінесіз, Pygame мүмкіндіктерімен танысасыз және ойынның жеке мысалын жазасыз.
Біз келесі функциялар мен мүмкіндіктерді іске асырамыз:
- қарапайым стандартты GameObject және TextObject
- қарапайым стандартты ойын нысаны
- қарапайым стандартты түйме
- конфигурация файлы
- пернетақта мен тінтуір оқиғаларын өңдеу
- кірпіш, ракетка және доп
- ракетка қозғалысын басқару
- допты ойын заттарымен соқтығысуды өңдеу
- фондық сурет
- дыбыс әсерлері
- кеңейтілетін арнайы әсерлер жүйесі
Ойын графикалық жағынан өте әдемі болады деп күтпеңіз. Мен суретші емес, бағдарламашымын, мені кодтың эстетикасы көбірек қызықтырады. Мен жасаған дизайн жағымсыз тосынсый болуы мүмкін. Екінші жағынан, сізде Breakout-тың осы нұсқасының графикасын жақсартудың шексіз дерлік мүмкіндіктері бар. Менен кейін қайталауға батылыңыз келсе, скриншотқа қараңыз:
[pic 1]
Ойындарды бағдарламалау
Ойындардағы ең бастысы - экрандағы пикселдердің қозғалысы және оның шуы. Барлық дерлік бейне ойындарда бұл элементтер бар. Бұл мақалада біз көп желілік бағдарламалауды қажет ететін клиент/сервер және көп ойыншы ойындарын қарастырмаймыз.
Негізгі цикл
Ойынның негізгі циклі белгіленген аралықтармен жұмыс істейді және экранды жаңартады. Бұл кадр жиілігі деп аталады және қозғалыстың тегістігін анықтайды. Ойындар әдетте экранды секундына 30-60 рет жаңартады. Егер жиілік төменірек болса, экрандағы нысандар дірілдеп тұрғандай көрінеді.
Негізгі цикл ішінде үш негізгі операция бар: оқиғаларды өңдеу, ойын күйін жаңарту және ағымдағы күйді экранға салу.
Оқиғаны өңдеу
Ойындағы оқиғалар ойын кодының бақылауынан тыс болатын, бірақ ойынның орындалуына қатысты барлық нәрселерден тұрады. Мысалы, Breakout кезінде ойыншы сол жақ көрсеткі пернесін басса, ойын қалақшаны солға жылжытуы керек. Стандартты оқиғалар - пернені басу (және шығару), тінтуірдің қозғалысы, тінтуірді басу (әсіресе мәзірлерде) және таймер оқиғалары (мысалы, арнайы әсер 10 секундқа созылуы мүмкін).
Мемлекетті жаңарту
Кез келген ойынның жүрегі - оның күйі: ол қадағалап, экранда сызатын барлық нәрсе. Breakout жағдайында күйге барлық кірпіштердің позициясы, доптың орналасуы мен жылдамдығы, ракетка позициясы, сондай-ақ өмірлер мен ұпайлар кіреді.
Сондай-ақ ойынды басқаруға мүмкіндік беретін көмекші күй бар:
- Мәзір қазір көрсетіле ме?
- Ойын бітті ме?
- Ойыншы жеңді ме?
Рендеринг
Ойын геометриялық фигураларды, кескіндерді және мәтінді салуды қоса, оның күйін экранда көрсетуі керек.
Ойын физикасы
Көптеген ойындар физикалық ортаны имитациялайды. Breakout-та доп заттардан секіреді және қатты дене физикасының өте өрескел жүйесі бар (егер сіз оны осылай атасаңыз).
...