0

К сожалению, в Вашей корзине нет ни одного товара.

Купить книгу Python. Великое программирование в Minecraft Корягин А. и читать онлайн
Cкачать книгу издательства Феникс Python. Великое программирование в Minecraft (автор - Корягин А. в PDF

▲ Скачать PDF ▲
для ознакомления

Бесплатно скачать книгу издательства Феникс "Python. Великое программирование в Minecraft Корягин А." для ознакомления. The book can be ready to download as PDF.

Внимание! Если купить книгу (оплатить!) "Python. Великое программирование…" сегодня — в субботу (28.11.2020), то она будет отправлена во вторник (01.12.2020)
Сегодня Вы можете купить книгу со скидкой 47 руб. по специальной низкой цене.

Все отзывы (рецензии) на книгу

Оставьте свой отзыв, он будет первым. Спасибо.
> 5000 руб. – cкидка 5%
> 10000 руб. – cкидка 7%
> 20000 руб. – cкидка 10% БЕСПЛАТНАЯ ДОСТАВКА мелкооптовых заказов.
Тел. +7-928-622-87-04

Python. Великое программирование в Minecraft Корягин А.

awaiting...
Название книги Python. Великое программирование в Minecraft
ФИО автора
Год публикации 2021
Издательство Феникс
Раздел каталог Познавательная литература для школьников по общественным, естественнонаучным и техническим знаниям
Серия книги Гений программирования
ISBN 978-5-222-33759-2
Артикул 978-5-222-33759-2
Количество страниц 222 страниц
Тип переплета матовая+лакировка
Полиграфический формат издания 70*90/16
Вес книги 546 г
Книг в наличии 347

Аннотация к книге "Python. Великое программирование в Minecraft" (Авт. Корягин А.)

Книга «Python. Великое программирование в Minecraft» расскажет вам, как научиться программировать на языке Python, используя игру Minecroft. Изучать языки программирования не всегда тяжело и скучно. Программирование - это магия. Зная, как программировать, вы будете создавать по мановению руки не только отдельные объекты в Minecroft, но и целые миры со своими законами. Если вы давно мечтали построить в Minecroft целый город с транспортом и персонажами, перемещаться за доли секунды по всему миру, разработать настоящую компьютерную игру, научиться проектировать и создавать сложные архитектурные сооружения и программировать, то эта книга для вас. В книге рассмотрены основы языка Python, принцип работы с Minecroft API, основы математической логики, а также основы в области прикладной математики и черчения. Подробно и пошагово показан процесс изучения языка программирования Python на примере создания программ, связанных с Minecraft. Книга предназначена для новичков в области программирования

Читать книгу онлайн...

В целях ознакомления представлены отдельные главы и разделы издания, которые Вы можете прочитать онлайн прямо на нашем сайте, а также скачать и распечатать PDF-файл.

Способы доставки
Сроки отправки заказов
Способы оплаты

Другие книги раздела "Познавательная литература для школьников по общественным, естественнонаучным и техническим знаниям"

Читать онлайн выдержки из книги "Python. Великое программирование в Minecraft" (Авт. Корягин А.)

ГЕНИЙ
ПРОГРАММИРОВАНИЯ
АНДРЕЙ КОРЯГИН, АЛИСА КОРЯГИНА
ВЕЛИКОЕ ПРОГРАММИРОВАНИЕ
В MINECRAFT
Ростов-на-Дону
2021
УДК 087.5:004.41 ББК 32.973.26-018 КТК 746
К70
Корягин, Андрей
К70 Python. Великое программирование в Minecraft / Андрей Корягин, Алиса Корягина. — Ростов н/Д: Феникс, 2021. — 222, [1] с.: ил. — (Гений программирования].
ISBN 978-5-222-33759-2
УДК 087.5:004.41
ББК 32.973.26-018
Содержание
ГЛАВА 1
1.2.Установка Minecraft 1.12.213
1.3.Сервер Spigot14
1.4.Minecraft API14
1.5.Процедура запуска40
ГЛАВА 2
Основы Python и Minecraft45
2.1.Типы данных и операции над типами данных45
2.2.Координаты и их реализация в Minecraft -
евклидово пространство51
2.3.Место жительства62
2.4.Сбор предметов на время68
2.5.Телепортация и случайность76
ГЛАВА 3
Архитектурные сооружения79
3.1.Блоки и функция setBlock79
3.2.Стены — циклы84
3.3.Здания93
3.3.1.Дом с помощью циклов93
3.3.2.Дом с помощью setBlocks99
3.3.3.Дом с помощью списков105
3.3.4.Дома для четырёх сторон света —
пространственное проектирование119
3.3.5.Третий вид здания — комбинация технологий
построения126
4 Python. Великое программирование в Minecraft
3.4.Подвесной мост (теорема Пифагора)130
3.5.Улица — город, работа с функциями и списками137
ГЛАВА 4
Транспорт164
4.1.Движение объекта164
4.2.Автомобиль173
4.3.Траектория движения178
ГЛАВА 5
Игра в игре186
ГЛАВА 6
Селфи205
6.2.Фотография210
6.3.Обработка фотографии в картину Minecraft212
Послесловие218
Литература219
Предметный указатель220
От авторов
Дорогой читатель, вы держите в руках книгу, цель которой — помочь погрузиться в мир серьёзного программирования с использованием высокоуровневого языка Python. Для того чтобы процесс изучения был понятен даже ребёнку, всю учебную информацию по программированию мы связали с игровой средой Minecraft. Теперь изучение языка Python и отработка алгоритмов разной сложности будут более наглядными и понятными.
С древних времён самыми влиятельными в обществе были люди образованные: жрецы, колдуны, шаманы, лекари, которых позже сменили алхимики, метафизики, монахи. И многие действия, которые они совершали, воспринимались простыми людьми как волшебство. Обладание знаниями и понимание их практического значения превращает вас в «мага» для всех несведущих в данном вопросе. Полученные знания должны мотивировать на действия с ними, которые в дальнейшем будут формировать ваш опыт работы в сфере применения этих знаний.
Не исключением является и умение создавать программы. С каждым годом ваши программы будут более сложными, более оптимизированными и искусными, если, конечно, тренироваться и применять полученные знания для решения поставленных задач.
В книге рассмотрены основы языка Python, принципы работы с Minecraft API, основы математической логики и основы в области прикладной математики и черчения. Подробно и пошагово показан процесс изучения языка программирования Python на примере создания программ, связанных с Minecraft.
Вы изучите такие понятия программирования, как ветвление, циклы, типы данных и операции над ними, математический
6 Python. Великое программирование в Minecraft
аппарат в программировании, координаты, списки, введение в объектно-ориентированное программирование, математическую логику, прикладную математику и многое другое. В книге есть глава-бонус, посвящённая началам работы с изображением с помощью OpenCV.
Книга предназначена для новичков в области программирования и в первую очередь для детей, которые хотят научиться создавать программы на языке Python в игровой форме. Данная книга является хорошим методическим материалом в интеграции предметных областей в обучении и может быть полезна учителям естественно-научного цикла, в особенности преподавателю информатики или преподавателю по программированию, которым необходимо грамотно выстроить учебный процесс.
Материал книги изложен простым, доступным языком. Каждый раздел снабжён практическими заданиями, которые содержат подробную информацию о процессе написания программы и применения в ней алгоритмов с наглядной демонстрацией результата. Тем самым ребёнок может сравнить свой результат с шаблоном и скорректировать свои ошибки.
Желаем вам интересного и незабываемого приключения в мире программирования.
С наилучшими пожеланиями, Андрей и Алиса Корягины
Структура книги
Книга разбита на главы по тематике повествования. Каждая глава содержит пункты для детального разбора того или иного алгоритма, который необходим для реализации поставленной задачи. Темы глав распределены по степени сложности: от простого к сложному.
В ходе разработок алгоритмов и написания программы для реализации их в среде Minecraft вам предстоит решить три глобальные задачи: построение города-улицы с транспортом, создание компьютерной игры в игре Minecraft и разработка программы по созданию фотографий с помощью веб-камеры и библиотеки по компьютерному зрению OpenCV и преобразование её в игре Minecraft.
Все примеры программ из книги вы можете скачать, пройдя по ссылке:
Для взаимодействия с игрой вам понадобится локальный сервер Spigot.
В книге присутствуют условные обозначения:
И - важный теоретический материал (содержит важную информацию из разделов программирования, геометрии, математики, черчения):
??
- вопросы (почти после каждой главы присутствуют контрольные вопросы для самопроверки);
- задания (почти каждый пункт содержит дополнительные задания для закрепления изученного материала).
ГЛАВА 1 Подготовительная работа
На сегодняшний день есть два общеизвестных варианта настройки Python и Minecraft для интегрированной работы.
1.Установить Python З.Х, Minecraft 1.6.4 или Minecraft 1.12.2 и сервер Spigot.
2.Использовать микрокомпьютер Raspberry PI и операционную систему Raspbian.
Самый простой —это второй способ, если у вас есть микрокомпьютер Raspberry PI. Данный способ хорош ещё и тем, что вместе с операционной системой Raspbian идёт игра Minecraft совершенно бесплатно. Более подробную информацию вы можете получить на официальном сайте https://www.raspberrypi.org/. Этот способ мы не будем рассматривать, потому что микрокомпьютеры Raspberry PI не сильно распространены в России. В другой книге мы обязательно изучим этот микрокомпьютер, но не здесь.
Первый способ можно использовать не только для Windows, но и для Mac OSX.
Мы будем использовать первый способ и частично обращаться ко второму варианту. Все программы будут работать одинаково на любой из обозначенных версий Minecraft и операционных систем.
за исключением работы с периферийными устройствами на примере web-камеры.
Мы постарались приблизить книгу к учебнику, чтобы читатель не только познакомился с языком Python в такой форме, но и смог закрепить свои знания и навыки и перенести их на более взрослые и реальные проекты, связанные с программированием.
Теперь перед вами открывается удивительный волшебный мир магии программирования. Весь Minecraft у ваших ног. Мы начинаем путешествие.
Желаем удачи!
1.1.Установка Python 3
Изучение языка программирования Python во многих учебниках и курсах начинается с установки редактора кода. В этом плане данный курс не будет исключением. Первый наш урок будет заключаться в том, чтобы установить редактор кода.
Пошаговая инструкция:
1.Перейти на официальный сайт разработчиков языка Python . Перед нами появляется такая страница (рис. 1):
PyPI
Community
python
Jobs
About Downloads Documentation Community Success Stories News Events
#Python 3: List comprehensions■■ Compound Data Types
»> fruits = ['Banana', 'Apple', 'lime']lists (known as arrays in other languages) areoneuf the
»> loud_fruits = [fruit.upper() for fruit in fruits]
»> print(loud_fruits)
['BANANA1, ‘APPLE1, "LIME"]
#List and the enumerate function
»> list(enumerate(fruits))
[(0, ’Banana1), (1, ’Apple1), (2, "Lime1)]
Python is a programming language that lets you work quickly
and integrate systems more effectively. >» Learn More
compound data types that Python understands. Lists can be indexed, sliced and manipulated with other built-in
Рис. 1. Официальный сайт Python
2.Выбираем вкладку «Загрузки» (Downloads) и последнюю версию Python З.Х.
Для загрузки выберем Python 3.8.3 (рис. 2).
PythonPSFDocsPyPIJobsCommunity
Python is a programming language that lets you work quickly and integrate systems more effectively. »> Learn More
Рис. 2. Процесс поиска и загрузки установщика Python
3.Ждём загрузки и производим установку программы.
Путь установки лучше не менять, если вы в этом не специалист (указатель № 1).
Поставить галочку для разрешения установки патчей (сторонних модулей) - это важный этап установки (указатель № 2) (рис. 3).
Дождитесь установки - зелёный индикатор должен заполнить поле слева на
право.
Рис. 3. Процесс установки редактора Python
4.В меню «Пуск» вы можете увидеть иконки трёх программ (рис. 4}.
Нас в первую очередь будет интересовать программа IDLE {Python З.Х). Нажав левой кнопкой мыши на ярлык IDLE, мы запустим редактор кода.
Теперь у нас есть редактор кода и можно создавать программы.
Рис. 4. Месторасположение файлов Python.
Пример для Windows 10
Возможные проблемы:
Программа Python З.Х не устанавливается на компьютер:
■имя пользователя содержит кириллицу;
■несовпадение с разрядностью системы.
В этом случае необходимо открыть вкладку «Загрузки» и выбрать вашу операционную систему (по умолчанию мы выбираем Windows] (рис. 5).
Полный код программы представлен в общем архиве для скачивания. Мы рекомендуем сначала попытаться запрограммировать движение самостоятельно.
Рис. 72. Движение автомобиля по городу
Само движение автомобиля достаточно грубое, попробуйте изменить его на более плавное.
Создайте два автомобиля, которые движутся в одном направлении и в разных направлениях.
4.4. Логика движения
Усложним нашу программу, добавим ещё логики в поведении автомобиля. Для этого нам необходимо познакомиться ещё с одной функцией —getBlock(x, у, z). Данная функция собирает сведения о типе блока, расположенного согласно координатам х, у, z. Для того чтобы увидеть результат работы данной функции, мы возьмём файл drive.py, который содержит программу по переме
щению блока. Сохраним файл под именем logicl.py. Разместим на пути движения алмазного блока золотой блок, так чтобы он находился по координате сог.у-1. Алмазный блок проходит свой путь в десять блоков и считывает код блоков, по которым перемещается. Если под алмазным блоком оказывается золотой блок, то в чат выйдет сообщение «Золотой блок».
import mcpi.minecraft as minecraft
import mcpi.block as block
import time
craft = minecraft.Minecraft.create()
cor = craft.player.getTilePos()
craft.setBlock(cor.x+8, cor.y-1, cor.z, 41)
for i in range(10):
craft.setBlock(cor.x+i, cor.y, cor.z, 0)
craft.setBlock(cor.x+l+i, cor.y, cor.z, 57) time.sleep(1)
if craft.getBlock(cor.x+l+i, cor.y-1, cor.z)==41:
craft.postToChat("Золотой блок ")
else:
craft.postToChat("Ищем блок ")
Как видно из программы, была добавлена функция setBlock, которая создала золотой блок на расстоянии 8 блоков от игрока по оси X, как раз по пути следования алмазного блока, движение которого описывается конечным циклом в десять повторений.
После каждого шага алмазного блока проверяется блок, находящийся под ним, и если это золотой блок, то в чат выводится слово «Золотой блок», если другой блок, то «Ищем блок».
Результат программы должен быть таким, как на рис. 73.
Рис. 73. Алмазный блок ищет золотой блок
Теперь вернёмся к нашей улице с автомобилем. Для настройки более интересной логики движения мы разместим на некотором расстоянии друг от друга цветовые площадки из блоков: золотой блок, кирпичный блок, лазурит. Их идентификаторы —соответственно 41, 45, 22.
Если под автомобилем окажется лазурит, то можно свободно двигаться дальше, если кирпичный блок, то остановиться и подождать 10 секунд, если золотой блок, то остановиться и подождать 5 секунд. Откроем файл streetl.py.
Для реализации данного процесса рекомендуем создать список из данных блоков.
с
[41,45,22]
Данный список лучше разместить перед бесконечными циклами, которые запускают автомобиль.
В каждом конечном цикле нам необходимо прописать цветовые площадки, чтобы они изменялись во время всего бесконечного цикла.
Пример для одного цикла.
while True:
х=а
у=Ь
z=d
while True:
for i in range(18):
ff = random.randint(0, 2) craft.setBlocks(cor.x+20, cor.x+25, c[ff])
ff = random.randint(0, 2) craft.setBlocks(cor.x+88, cor.x+100 c[ff])
ff = random.randint(0, 2) craft.setBlocks(cor.x+70, cor.x+65, c[ff])
ff = random.randint(0, 2)
cor.y-1,
cor.y-1,
cor.z+10, cor.z+35,
cor.y-1,
cor.y-1.
cor.y-1,
cor.y-1,
cor.z+40,
cor.z+45.
cor.z+125,
cor.z+145,
craft.setBlocks (cor.x+5, cor.y-1, cor.z+40, cor.x+15, cor.y-1, cor.z+45, c[ff])
avto2()
Данные площадки размещены на каждой из четырёх дорог с учётом расстояния между домами. Так как автомобиль перемещается на пять блоков, то ширина площадок равна пяти блокам, чтобы вероятность попадания свести к максимуму.
Рис. 80. Игровая область с кубком
Осталось соединить код третьего уровня с программой целиком, и мы получим игру, состоящую из трёх уровней. Приятной игры.
1.Второй уровень можно видоизменить. Попробуйте создать тропу прохождения с помощью списков.
2.Третий уровень плохо оптимизирован по времени. Настройте временные интервалы, чтобы у вас игра работала более быстро.
3.В некоторых случаях на третьем уровне не срабатывает условие касания с блоками дерева или золота. Как это можно исправить? Доработайте логику программы.
4.На основе полученных знаний попробуйте создать свой игровой уровень по примеру меняющихся со временем проходов в лабиринт.
ГЛАВА 6 Селфи
Всем нам знакомо и уже стало обыденностью слово «селфи». Под ним подразумевается фотографирование себя. В этой главе мы попробуем сделать фотографию и переконвертировать в среду Minecraft. Для того чтобы сделать фотографию, нам понадобится веб-камера, подключённая к компьютеру, и соответствующие модули для Python. Такими модулями являются OpenCV и NumPy.
6.1.Библиотеки NumPy и OpenCV
Модули OpenCV и NumPy необходимы для управления веб-ка- мерой, создания фотоснимка и его последующей обработки. Подробно знакомиться с данными библиотеками в этой книге не имеет смысла, так как это заняло бы как минимум главу, а то и две. Здесь мы расскажем вам, как установить данные модули, и осветим некоторые функции, которые непосредственно нам важны для селфи.
Первым делом установим модуль NumPy. Для этого вам необходимо открыть командную строку. Выбрать вкладку «Поиск» в меню системы Windows. Данная вкладка может находиться как непосредственно среди списка меню «Пуск», так и отдельно в зависимости от версии операционной системы.
Как правило, достаточно прописать в строке команду вызова с помощью pip.
Рис. 81. Процедура установки библиотеки NumPy
Если у вас установлена только одна версия Python и выше 3.4, то такая схема сработает на 99%.
Ошибка может возникнуть, и в основном она выглядит так: «pip3 не является командой».
Для того чтобы исправить её, необходимо сделать один из этих двух шагов или оба сразу:
1.Установить или обновить pip.
2.Точно прописать адрес расположения функции pip.
Для первого варианта вам нужно прописать в командной строке код.
Рис. 82. Процедура обновления pip
Для второго варианта вам необходимо найти расположение файлов Python. Для этого нажмите правой кнопкой мыши по значку IDLE [Python'), выберите пункт «Дополнительно»-«Перейти к расположению файла».
Python 3.5
IDLE (Python 3.5 32bit)
E?
Python 3.5 Manuals (32-bi1
Python 3.5 Module Docs (;
И Python 3.7
Рис. 83. Определение точного расположения файлов
Перед вами откроется такое окно.
Рис. 84. Определение точного расположения файлов
Нажмите правой кнопкой мыши по ярлыку IDLE (Python...') и откройте «Свойства».
Рис. 85. Определение точного расположения файлов
Об авторах
Корягин Андрей Владимирович—выпускник физико-математического факультета Пензенского государственного педагогического университета им. В. Г. Белинского. Методист в области образовательной робототехники, обучения детей языкам программирования и 30-моделирования. Автор научных статей в области применения информационных технологий в образовании.
Корягина Алиса Витальевна—выпускница кафедры математического моделирования математического факультета Воронежского государственного университета. Ведет научную работу в области теории фракталов и динамического хаоса. Специалист в области математического моделирования фрактальных структур в среде Apophysis.
Популярное издание
0+
ERE
Корягин Андрей Владимирович Корягина Алиса Витальевна
PYTHON
ВЕЛИКОЕ ПРОГРАММИРОВАНИЕ В MINECRAFT