Обучение школьников созданию игр с использованием модуля Pygame - Студенческий научный форум

XVI Международная студенческая научная конференция Студенческий научный форум - 2024

Обучение школьников созданию игр с использованием модуля Pygame

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

В настоящее время цифровые технологии приобретают все большее распространение, из чего следует рост востребованности в навыках программирования. Программирование предоставляет множество возможностей для саморазвития и творчества. Программисты имеют возможность создавать новые продукты, разрабатывать собственные приложения или веб-сайты, операционные системы компьютеров, видеоигры, а также решать интересные и сложные задачи. Из этого следует актуальность проведения занятий по программированию для обучающихся школ в рамках курса информатики и дополнительных занятий по программированию.

В прошлые годы во многих школах изучение программирования начинали с языка Pascal, но в настоящее время происходит активное внедрение языка программирования Python. Этот язык считается наиболее легким для освоения, может быть использован для различных задач и проектов, включая научные исследования, создание веб-приложений, анализ данных и многое другое. Это делает его привлекательным для широкого круга людей и профессионалов из различных областей, а не только связанных с программированием напрямую. Популярность языка программирования стала причиной появления большого количества документации и библиотек, доступ к которым открыт для всех.

В рамках данной работы был проведен анализ источников с целью выявления возможности обучения школьников программированию с использованием одного из нестандартных модулей Python – модуля для создания игр Pygame.

Цель: анализ существующих курсов обучения языку Python для школьников с целью выявления в программах этих курсов тем, посвященных модулю Pygame, и определения его места, роли и содержания в курсе «Основы программирования на языке Python».

Pygame — набор модулей (библиотек) языка программирования Python, предназначенный для написания компьютерных игр и мультимедиа-приложений. Pygame базируется на мультимедийной библиотеке SDL. Изначально Pygame был написан Питом Шиннерсом. Первый запуск произошёл в ноябре 2000 года. Начиная примерно с 2004/2005 года, поддерживается и развивается сообществом свободного программного обеспечения. Pygame – это библиотека модулей для языка Python, созданная для разработки 2D игр. Также Pygame могут называть фреймворком. В программировании понятия "библиотека" и "Фреймворк" несколько разные. Но когда дело касается классификации конкретного инструмента, не все так однозначно [9].

В любом случае, фреймворк является более мощным по сравнению с библиотекой, он накладывает свою специфику на особенности программирования и сферу использования продукта. С точки зрения специфики Pygame – это фреймворк. В то же время его, в сравнении с другими фреймворками, сложно назвать "мощным инструментом". По своему объему и функционалу это скорее библиотека. Также существует понятие "игрового движка" как программной среды для разработки игр. По своему назначению Pygame можно считать игровым движком [10].

Для анализа возможности применения модуля Pygame в образовании необходимо было найти в различных учреждениях программы обучения, включающие в свой состав модуль Pygame. Анализ сайтов ряда общеобразовательных учреждений показал, что в рабочих программ компьютерных дисциплин такая среда не указана. Это означает, что школьники знакомятся с ней только через дополнительные секции или кружки, а также на различных массовых онлайн-курсах. В числе последних были обнаружены:

1) ItProger. На первом сайте представлена дополнительная возможность изучения модуля Pygame на основе Python. В разделе представлен видеоролик по созданию игры, краткая информация о программе, курсы, тесты и практика. В программе курса предусмотрено изучение всего создания мобильной игры от программирования экрана сцены и внешнего вида игровых объектов до взаимодействия между ними. Перед изучение данного курса рекомендуется освоение базовых принципов языка Python хотя бы на поверхностном уровне [5].

2) Sigma.Academy. Этот сайт представлен более для обширного изучения. Данная программа представлена для изучения с 8-11 класс, колледжей и техникумом. Но для чтобы начать изучать данный модуль, необходимо зарегистрироваться и оплатить обучение на курсах. На курсе можно обучится программировать на языке Python, работать с анимацией, разбираться в коде и исправлять ошибки, разрабатывать игры и модели и много др. По изучению сайта могу сказать, что сайт имеет преимущество в сравнении со многими другими с точки зрения подачи материала. Несколько месяцев изучения будут предлагаться лекции, тесты и предусмотрено прохождение практики. Все эти возможности дают больше шансов на изучение модуля Pygame на основе Python [4].

3) «Codim». На данный момент по изучению двух предыдущих сайтов, можно выделить третий источник самым преимущественным. Так как в этой среде школьники смогут изучить чисто модель Pygame. Для этого также нужно зарегистрироваться, оплатить обучение тогда, когда тебе удобно и начнутся занятия. Обучающийся получит знание и навыки, соответствующие следующим темам курса: «типы данных», «операторы», «методы», «объекты», «игровой цикл», «условия», «кортежи», «словари», «анимация», «события», «управление мышкой», «управление клавишами». В данном курсе представлены 4 модуля, в каждом из котором несколько уровней уроков, что очень удобно для структурирования и достижения каждым обучающимся максимально возможного для него уровня в изучаемом материале [6].

Ориентиром для проектирования обучения модулю Pygame могут стать также программы учреждений высшего и дополнительного профессионального образования. Набор таких программ целесообразнее всего искать при помощи сайта "Содействие Занятости". Это сайт для получения профессий различных категорий для граждан, на котором могут быть представлены различные дополнительные профессиональные образование программы, включая и Python с модулем Pygame [7].

Школьниками модуль Pygame может рассматриваться как увлечение в свободное от учебы время. С одной стороны создание масштабных игровых проектов развивает память, интерес к программированию и т. д.. С другой стороны сам игровой процесс может отвлекать от учебы. Важно, чтобы школьники занимались в большей степени именно творческим процессом, направленным на создание собственных игр, а не проводили время за игрой в только что созданной программе. Ученик прежде всего должен знать основы техники компьютера и работы с современными информационными технологиями.

Исходя из выше сказанного, могу выделить то, что модуль Pygame действительно интересна для обучающихся средних и старших классов. В этих целях хотелось бы сказать, что этот модуль может быть введен как дополнительный материал для изучения в кружке по программированию в школе. Учитывая, что обучающиеся младших классов, как правило, не готовы набирать большой объем текста на английской клавиатуре, то данный курс рекомендуется к изучение не ранее, чем с 5 класса, при условии наличия у обучающихся этого класса определенного уровня владения английской клавиатурой.

На данном кружке может изучаться основная информация о командах и классах модуля Pygame, а также на примере написания различных графических программ применятья полученные знания о данном модуле на практике. Более важным интересным будет являться процесс создания игр, ведь именно в этом заключается основная идея модуля.

В таблице 1 приведены примерные задания и материал к ним для знакомства с программой для обучающихся как дополнительный материал в кружке.

Таблица 1

Материал для проведения занятия по модулю Pygame

Тема изучения Pygame

Краткое описание

Результат

Введение в понятие игрового цикла

Игровой цикл событий записывается с помощью оператора while. Он должен работать все время, пока пользователь играет в игру и может быть записан следующим образом:

Код программы:

# Игровой цикл событий

running = True

whilerunning:

# здесь записываем:

# код выхода из цикла

# обработку игровых событий

# всю игровую логику

# и весь код рисования и анимации.

Основной шаблон для игровой программы (знакомство)

Запишем программный код, который будем использовать как основной шаблон для игровой программы. Поскольку в большинстве случаев внутри основного цикла выполняется рисование или вывод изображений, то дополним наш программный код рисованием.

Вот основные функции, которые реализует код шаблона игровой программы: создает окно запускает игровой цикл выполняет контроль частоты кадров в игровом цикле покадрово рисует круг и обновляет главное игровое окно закрывает окно, если щелкнуть по кнопке закрытия в правом верхнем углу окна

Код программы:

# Импорт Pygame

import pygame

# инициализация модулей Pygame

pygame.init()

# задаем основные параметры

W = 600 # ширина окна

H = 400 # высота окна

r = 20 # радиус круга

x = 300 # координата x центра круга

y = 200 # координата y центра круга

# задаемцвета

black = ( 0, 0, 0)

white = ( 255, 255, 255)

green = ( 0, 255, 0)

red = ( 255, 0, 0)

blue = (0, 0, 255 )

# Создание окна, шириной 600 и высотой 400 пикселей

screen = pygame.display.set_mode((W, H))

# Заданиезаголовкаокна

pygame.display.set_caption("Игровоеокно")

# устанавливаем цвет игрового окна

screen.fill(green)

# обновление основного окна

pygame.display.flip()

# задаем частоту кадров - 60 кадров в секунду

FPS = 60

# подключаем часы

clock = pygame.time.Clock()

# Игровой цикл событий

# Оставаться в цикле, пока пользователь не нажмёт на кнопку закрытия окна

running = True

while running:

for event in pygame.event.get():

# закрытиеокна

if event.type == pygame.QUIT:

running = False

# рисуем круг в памяти компьютера

pygame.draw.circle(screen, blue, (x, y), r)

# отображаем все игровое окно на экран

pygame.display.flip()

# устанавливаем автоматический контроль кадров

clock.tick(FPS)

# Завершение Pygame, освобождаем ресурсы

pygame.quit()

Скринщот окна:

Загрузка изображения для игры

Добавляем команду загрузки изображения в начало программы при создании окна.

Команду отрисовки изображения – в игровой цикл. В этом же цикле необходимо изменять координаты картинки, если это предусмотрено игрой

Фрагменты исходного кода:

Загрузка изображения:

my_image = pygame.image.load("myfile.png").convert()

Отрисовкаизображения:

screen.blit(bg, (x, y))

Скринщотокна:

Используя представленный материал и спроектировав свою программу курса, педагог сможет организовать занятия по программированию в школьном кружке, где уроки по модулю Pygame будут не только нести образовательную функцию для школьников, но и развивающую: в игровой форме укреплять память, развивать воображение. Школьники смогут стать настоящими юными IT-собирателями игр и информационных систем. Актуальность сферы информационных технологий подтверждает перспективность и востребованность дальнейших разработок в области преподавания информатики и технологии.

СПИСОК ЛИТЕРАТУРЫ:

1. PyGame. Краткий справочник. – URL: http://www.turbopro.ru/index.php/pygame-kratkij-spravochnik – Дата обращения: 19.12.2023.

2. Pygame. Библиотека. – URL: https://техномастерская.рф/pygame – Дата обращения: 19.12.2023.

3. Руководство по PyGame. – URL: https://pythonist.ru/pygame-tutorial/– Дата обращения: 19.12.2023.

4. Sigma. Academy. Программа курса «Python: разработка игр с Pygame и GUI» . – URL: https://top.edu-sigma.ru/pygame – Дата обращения: 19.12.2023.

5. ItProger. Изучения модуля Pygame на основе Python. . – URL: https://itproger.com/course/pygame – Дата обращения: 19.12.2023.

6. Онлайн школа программирования «Codim». Программа курса PYGAME. – URL: https://codim.online/Pygame – Дата обращения: 19.12.2023.

7. Обучения федерального проекта "Содействие Занятости". Изучение языка программирования. – URL:https://educationprof.online/course/5?utm_source=yandex_igcs&utm_medium=cpc&utm_campaign=igcs_master_python_rf&utm_term=пайтон%20обучение&igcs=cid_97653413%7Cgid_5302148871%7Cadid_15139709045%7Cphid_47675703928%7Cntw_search%7Csrc_none%7Cgeo_10691%7Cdev_desktop%7Cpos_premium1%7Cmatchtype_syn – Дата обращения: 19.12.2023.

8. Skillbox Media. Создаём «Змейку» — первую игру на Python и Pygame. – URL: https://skillbox.ru/media/code/sozdayem-pervuyu-igru-na-python-i-pygame/ – Дата обращения: 19.12.2023.

9. Библиотека Pygame. Руководство по программированию игр на Pygame в Python – установка и простые примеры. – URL: https://pythonpip.ru/osnovy/rukovodstvo-po-programmirovaniyu-igr-na-pygame-v-python-ustanovka-i-prostye-primery – Дата обращения: 19.12.2023.

10. Лаборатория линуксоида. Pygame и разработка игр. Урок 1. – URL: https://younglinux.info/pygame/pygame – Дата обращения: 19.12.2023.

Просмотров работы: 54