Компьютерлік ойындарды бағдарламалау
Компьютерлік ойындарды бағдарламалау
| 1-сабақ. Компьютерлік ойындарды бағдарламалауға кіріспе | Компьютерлік ойындардың негізгі ұғымдары, олардың заманауи білім беру кешеніндегі мақсаты мен кәсіби дамудағы орны қарастырылады. Ойын терминінің мәні, ойын процесін ұйымдастыру және ойыншылар арасындағы байланысты қамтамасыз ету мүмкіндіктері сипатталады. Оқытуда Python бағдарламалау тілі мен Pygame кітапханасы арқылы графикалық компьютерлік ойындар жасау әдістері таныстырылады. Ойындардың негізгі классификациялары: жанрлық ерекшеліктері (аркада, шытырман оқиғалы, RPG, экшен, стратегия, симулятор, үйретуші ойындар), платформалық түрлері (дербес компьютерлер, консольдер, ұялы телефондар) және пайдаланушылар саны бойынша жіктелуі (бір пайдаланушылық және көп пайдаланушылық) салыстырмалы түрде қарастырылады. |
| 2-сабақ. Pygame ойынының құрылымы | Pygame кітапханасымен жұмыс істеудің негізгі алгоритмдері мен бағдарламалық құрылымы түсіндіріледі. Сабақта Pygame модулін импорттау, pygame.init() арқылы инициализациялау және pygame.display.set_mode() функциясы көмегімен графикалық терезені құру жолдары қарастырылады. Терезе параметрлерін баптау (өлшемдері, жалаушалар, түс тереңдігі), экран беті (display surface), сондай-ақ графиканы жаңартуға арналған pygame.display.update() мен pygame.display.flip() функцияларының маңызы сипатталады. Ойынның негізгі циклін (main loop) ұйымдастыру, оқиғалар кезегін (pygame.event.get()) өңдеу және қолданбаны pygame.QUIT оқиғасы арқылы дұрыс аяқтау тәсілдері егжей-тегжейлі талданады. Сонымен бірге exit() және pygame.quit() функцияларының айырмашылықтары мен бағдарламада қателіктердің (ерекшеліктердің) алдын алу жолдары көрсетіледі. |
| 3-сабақ. Графикалық примитивтерді салу | Pygame кітапханасында pygame.draw модулін пайдаланып түрлі геометриялық фигураларды бейнелеу жолдары түсіндіріледі. Экранның координаттар жүйесі (бастапқы нүктесі жоғарғы сол жақ бұрышта орналасып, төмен қарай бағытталатыны) мен түстерді (RGB форматында: 0-ден 255-ке дейінгі мәндермен) анықтау тәсілдері қарастырылады. Күрделі анимациялар кезінде кадрлардың жыпылықтауын болдырмау үшін қолданылатын «буферлеу механизмі» түсіндіріліп, pygame.display.flip() және pygame.display.update() функцияларының айырмашылығы мен маңызы көрсетіледі. |
| 4-сабақ. Оқиғаларды пернетақтадан өңдеу | Pygame кітапханасы арқылы пайдаланушының енгізу оқиғаларын басқару негіздері мен ерекшеліктері қарастырылады. Дәрісте оқиғаларды өңдеуге жауапты pygame.event модулінің жұмыс принципі сипатталады. Пайдаланушының пернетақтадағы әрекеттерін нақтылау үшін event.type қасиетінің негізгі мәндері – pygame.KEYDOWN (перне басылды) және pygame.KEYUP (перне босатылды) ұғымдары таныстырылады. |
| 5-сабақ. Оқиғаларды тінтуірден өңдеу | PyGame кітапханасындағы тінтуір оқиғаларының төрт негізгі түрі – pygame.MOUSEBUTTONDOWN, pygame.MOUSEBUTTONUP, pygame.MOUSEMOTION және pygame.MOUSEWHEEL оқиғаларының жұмыс істеу қағидалары сипатталады. Сонымен қатар, тінтуір батырмалары мен курсордың координаталарын (pos, rel) анықтау, pygame.mouse.get_pressed() арқылы батырмалардың басылу күйін тексеру және pygame.mouse.set_visible() көмегімен курсорды жасырып, графикалық объектілерді (тіктөртбұрыш, шеңбер) салу мүмкіндіктері толық қарастырылады. |
| 6-сабақ. Surface класы және blit әдісі | PyGame кітапханасында қосымша сурет беттерін (қабаттарын) құруға мүмкіндік беретін pygame.Surface класының қолданылуы мен оның негізгі артықшылықтары сипатталады. Сонымен қатар, графикалық ақпаратты негізгі терезеге көшіруге арналған blit() әдісі, set_alpha() арқылы беттердің мөлдірлік дәрежесін реттеу, қабаттар иерархиясын құру және нысандарды жылжыту арқылы қарапайым анимация жасау мүмкіндіктері толық көрсетіледі. |
Ход урока
| Этапы урока | Запланированная деятельность на уроке | Ресурсы |
|---|---|---|
|
Компьютерлік ойындарды бағдарламалауға кіріспе (8:00 минут) |
Компьютерлік ойындарды бағдарламалауға кіріспе - https://youtu.be/NJR1N5Vhmdw |
|
|
Pygame ойынының құрылымы (15:01 минут) |
Pygame ойынының құрылымы - https://youtu.be/KZTNH4oTT-Q |
|
|
Графикалық примитивтерді салу (10:20 минут) |
Графикалық примитивтерді салу - https://youtu.be/IuAx9q0-s8g |
|
|
Оқиғаларды пернетақтадан өңдеу (9:28 минут) |
Оқиғаларды пернетақтадан өңдеу - https://youtu.be/_LyyXwqO1gM |
|
|
Оқиғаларды тінтуірден өңдеу (14:34 минут) |
Оқиғаларды тінтуірден өңдеу - https://youtu.be/TsHbjmSpHFY |
|
|
Surface класы және blit әдісі (9:20 минут) |
Surface класы және blit әдісі - https://youtu.be/2jzRAalxoCA |
Отзывы(0)