ИИ (искусственный интеллект)

21.04.2020

«Основы программирования: ЯП Python»

Год обучения

Групповая работа

Тема: модуль PyGame. Разработка игры. Продолжение предыдущего урока

Цель: написать игру с использование модуля PyGame

Задачи обучающие:

· получить практику использования модуля PyGame;

· реализовать игру посредством ЯП Python 3;

· выучить формулы расстояния между точками;

· реализация функции нахождения расстояния между точками на плоскости и в пространстве средствами Python;

· систематизировать знания обучающихся по данной теме;

· закрепить знания, полученные на предыдущих уроках;

Задачи развивающие:

· развивать умения использовать знания, полученные на уроках информатики, в учебной деятельности;

· развивать логическое мышление, умение обобщать, сопоставлять и применять полученные знания на практике;

· развивать познавательную деятельность обучающихся, развивать умение анализировать происходящие изменения в решении задач;

· развивать познавательный интерес, творческую активность, интеллект;

· развивать интуицию, эрудицию, самостоятельность в суждениях, упорство в достижении цели;

· формирование информационной культуры и потребности приобретения знаний;

· стимулирование познавательного интереса обучающихся по данной теме и дисциплине Информатика и ИКТ в целом.

Задачи воспитательные:

· воспитание творческого подхода к работе, желания экспериментировать;

· профессиональная ориентация и подготовка к трудовой деятельности;

· воспитание информационной культуры, самостоятельности, ответственности;

· развивать культуру общения, воспитывать внимание, сообразительность, находчивость.

ХОД УРОКА

Теория

Создание игр на Python 3 и Pygame: Часть 1

https://habr.com/ru/post/347138/

Многие разработчики приходят в разработку ПО, потому что хотят создавать игры. Не все могут стать профессиональными разработчиками игр, но любой может создавать собственные игры из интереса (а может быть, и с выгодой). В этом туториале, состоящем из пяти частей, я расскажу вам, как создавать двухмерные однопользовательские игры с помощью Python 3 и замечательного фреймворка PyGame.

Мы создадим версию классической игры Breakout. Освоив этот туториал, вы будете чётко понимать, что необходимо для создания игры, познакомитесь с возможностями Pygame и напишете собственный пример игры.

 

 

Мы реализуем следующие функции и возможности:

· простые стандартные GameObject и TextObject

· простой стандартный Game object

· простая стандартная кнопка

· файл конфигурации

· обработка событий клавиатуры и мыши

· кирпичи, ракетка и мяч

· управление движением ракетки

· обработка коллизий мяча с объектами игры

· фоновое изображение

· звуковые эффекты

· расширяемая система спецэффектов


Не стоит ожидать, что игра будет очень красива графически. Я программист, а не художник, меня больше интересует эстетика кода. Созданный мной дизайн может неприятно удивить. С другой стороны, у вас будут почти неограниченные возможности по улучшению графики этой версии Breakout. Если вы отважитесь повторять за мной, посмотрите на скриншот:

 


Краткое введение в программирование игр


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




Основной цикл


Основной цикл (main loop) игры выполняется и обновляет экран через фиксированные интервалы времени. Они называются частотой кадров и определяют плавность перемещения. Обычно игры обновляют экран 30-60 раз в секунду. Если частота будет меньше, то покажется, что объекты на экране дёргаются.

Внутри основного цикла есть три основных операции: обработка событий, обновление состояния игры и отрисовка текущего состояния на экране.




Обработка событий


События в игре состоят из всего, что происходит за пределами управления кода игры, но относится к выполнению игры. Например, если в Breakout игрок нажимает клавишу «стрелка влево», то игре нужно переместить ракетку влево. Стандартными событиями являются нажатия (и отжатия) клавиш, движение мыши, нажатия кнопок мыши (особенно в меню) и события таймера (например, действие спецэффекта может длиться 10 секунд).




Обновление состояния


Сердце любой игры — это её состояние: всё то, что она отслеживает и отрисовывает на экране. В случае Breakout к состоянию относятся положение всех кирпичей, позиция и скорость мяча, положение ракетки, а также жизни и очки.

Существует также вспомогательное состояние, позволяющее управлять игрой:

· Отображается ли сейчас меню?

· Закончена ли игра?

· Победил ли игрок?


Отрисовка

Игре нужно отображать своё состояние на экране, в том числе отрисовывать геометрические фигуры, изображения и текст.

 

Игровая физика

В большинстве игр симулируется физическое окружение. В Breakout мяч отскакивает от объектов и имеет очень приблизительную систему физики твёрдого тела (если это можно так назвать).

В более сложных играх могут использоваться более изощрённые и реалистичные физические системы (особенно в 3D-играх). Стоит также отметить, что в некоторых играх, например, в карточных, физики почти нет, и это совершенно нормально.

 

ИИ (искусственный интеллект)

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

 

Например, враги преследуют игрока и знают о его местоположении. В Breakout нет никакого ИИ. Игрок сражается с холодными и твёрдыми кирпичами. Однако ИИ в играх часто очень прост и всего лишь следует простым (или сложным) правилам, обеспечивающим псевдоразумные результаты.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: