j
Название книги | Python. Великое программирование в Minecraft |
Автор | Корягин |
Год публикации | 2021 |
Издательство | Феникс |
Раздел каталога | Познавательная литература для школьников по общественным, естественнонаучным и техническим знаниям (ID = 174) |
Серия книги | Гений программирования |
ISBN | 978-5-222-33759-2 |
EAN13 | 9785222337592 |
Артикул | 978-5-222-33759-2 |
Количество страниц | 222 |
Тип переплета | матовая+лакировка |
Формат | 70*90/16 |
Вес, г | 546 |
Посмотрите, пожалуйста, возможно, уже вышло следующее издание этой книги и оно здесь представлено:
Книга «Python. Великое программирование в Minecraft» расскажет вам, как научиться программировать на языке Python, используя игру Minecraft. Изучать языки программирования не всегда тяжело и скучно. Программирование - это магия. Зная, как программировать, вы будете создавать по мановению руки не только отдельные объекты в Minecraft, но и целые миры со своими законами. Если вы давно мечтали построить в Minecraft целый город с транспортом и персонажами, перемещаться за доли секунды по всему миру, разработать настоящую компьютерную игру, научиться проектировать и создавать сложные архитектурные сооружения и программировать, то эта книга для вас. В книге рассмотрены основы языка Python, принцип работы с Minecraft API, основы математической логики, а также основы в области прикладной математики и черчения. Подробно и пошагово показан процесс изучения языка программирования Python на примере создания программ, связанных с Minecraft. Книга предназначена для новичков в области программирования
К сожалению, посмотреть онлайн и прочитать отрывки из этого издания на нашем сайте сейчас невозможно, а также недоступно скачивание и распечка PDF-файл.
ГЕНИЙ ПРОГРАММИРОВАНИЯАНДРЕЙ КОРЯГИН, АЛИСА КОРЯГИНАВЕЛИКОЕ ПРОГРАММИРОВАНИЕВ MINECRAFTРостов-на-ДонуЕ Н И К С2021УДК 087.5:004.41ББК 32.973.26-018КТК 746К70Корягин, АндрейК70 Python. Великое программирование в Minecraft / Андрей Корягин, Алиса Корягина. — Ростов н/Д: Феникс, 2021. — 222, [1] с.: ил. — (Гений программирования].ISBN 978-5-222-33759-2Книга «Python. Великое программирование в Minecraft» расскажет вам, как научиться программировать на языке Python, используя игру Minecraft. Изучать языки программироваПрограммирование - это магия. Зная, как программировать, вы будете создавать по маноMinecraft, но и целые миры со своими законами.Если вы давно мечтали построить в Minecraft целый город с транспортом и персонажами, перемещаться за доли секунды по всему миру, разработать настоящую компьютерную игру, научиться проектировать и создавать сложные архитектурные сооружения и программироВ книге рассмотрены основы языка Python, принцип работы с Minecraft API, основы матеPython на примере создания программ, связанных с Minecraft.Книга предназначена для новичков в области программирования и в первую очередь для детей, которые хотят научиться создавать программы на языке Python в игровой форме.УДК 087.5:004.41ББК 32.973.26-018NOT OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG.HE ЯВЛЯЕТСЯ ОФИЦИАЛЬНЫМ ПРОДУКТОМ MINECRAFT. HE УТВЕРЖДЕНО И HE СВЯЗАНО C MOJANG.ISBN 978-5-222-33759-2© Корягин А. В., Корягина А. В., 2020© Оформление: ООО «Феникс», 2020© Биккулова А. В., дизайн обложки, 2020© В оформлении книги использованы иллюстрации по лицензии Shutterstock.comСодержаниеГЛАВА 11.2.Minecraft 1.12.21.3.Spigot141.4.Minecraft API141.5.ГЛАВА 2Основы Python и Minecraft452.1.2.2.Minecraft - евклидово пространство2.3.2.4.2.5.ГЛАВА 3Архитектурные сооружения3.1.setBlock793.2.3.3.3.3.1.3.3.2.setBlocks993.3.3.3.3.4.3.3.5.3.4.3.5.ГЛАВА 4Транспорт4.1.4.2.4.3.ГЛАВА 5 Игра в игреГЛАВА 6Селфи6.2.6.3.Minecraft212ПослесловиеЛитератураПредметный указательОт авторовДорогой читатель, вы держите в руках книгу, цель которой — поPython. Для того чтобы процесс изучения был понятен даже ребёнку, всю учебную информацию по программированию мы связали с игровой средой Minecraft. Теперь изучение языка Python и отработка алгоритмов разной сложности будут более наглядными и понятными.С древних времён самыми влиятельными в обществе были люди образованные: жрецы, колдуны, шаманы, лекари, которых позНе исключением является и умение создавать программы. С каждым годом ваши программы будут более сложными, более оптимизированными и искусными, если, конечно, тренироваться и применять полученные знания для решения поставленных задач.В книге рассмотрены основы языка Python, принципы работы с Minecraft API, основы математической логики и основы в облаPython на приMinecraft.Вы изучите такие понятия программирования, как ветвлеаппарат в программировании, координаты, списки, введение в объектно-ориентированное программирование, математичеOpenCV.Книга предназначена для новичков в области программироPython в игровой форме. Данная книга является хорошим методическим материалом в интеграции предметных областей в обучении и может быть полезна учителям естественно-научного цикла, в особенности преподавателю инМатериал книги изложен простым, доступным языком. Каждый раздел снабжён практическими заданиями, которые содержат подробную информацию о процессе написания программы и приЖелаем вам интересного и незабываемого приключения в мире программирования.С наилучшими пожеланиями,Андрей и Алиса КорягиныСтруктура книгиКнига разбита на главы по тематике повествования. Каждая глава содержит пункты для детального разбора того или иного алгоритма, который необходим для реализации поставленной заВ ходе разработок алгоритмов и написания программы для реализации их в среде Minecraft вам предстоит решить три глоMinecraft и разработка программы по созданию фотографий с помощью веб-камеры и библиотеки по компьютерному зрению OpenCV и преобразование её в игре Minecraft.Все примеры программ из книги вы можете скачать, пройдя по ссылке: https://github.com/Antipat/python_minecraft.gitДля взаимодействия с игрой вам понадобится локальный серSpigot.В книге присутствуют условные обозначения:И - важный теоретический материал (содержит важную ин-99-ГЛАВА 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 https://www.python.org/. Перед нами появляется такая страница (рис. 1):PythonPSFCommunityс* pythonAbout Downloads Documentation Community Success Stories News Events# Python 3: List comprehensions»> fruits = ['Banana', 'Apple', 'Lime']»> loud_fruits = [fruit.upper() for fruit in fruits]»> print(loud_fruits)['BANANA', 'APPLE', 'LIME']Compound Data TypesLists (known as arrays in other languages) are one of thecompound data types that Python understands. Lists can be indexed, sliced and manipulated with other built-in functions. More about lists in Python 3# List and the enumerate function»> list(enumerate(fruits))[(0, 'Banana'), (1, 'Apple'), (2, 'Lime')]Python is a programming language that lets you work quickly and integrate systems more effectively. »> Learn MoreРис. 1. Официальный сайт Python2. Выбираем вкладку «Загрузки» (Downloads) и последнюю версию Python З.Х.Для загрузки выберем Python 3.8.3 (рис. 2).PythonDocsPyPICommunityc* pythonSearchGOSocializeAbout DownloadsDocumentationCommunitySuccess StoriesNews Events#>» print("Hell Hello, I'm Pyth#>» name = inpi >» print('Hi, What is your na Python Hi, Python.All releasesDownload for WindowsSource codePython 3.8.3WindowsNote that Python 3.5+ cannot be used on Windows XPMac OS XNot the OS you are looking for? Python can be used on Other Platformsmany operating systems and environments.LicenseViewthe full list of downloads.Alternative Implementationslage can pick up lean syntax and ir appetite withPython is a programming language that lets you work quickly and integrate systems more effectively. »> Learn MoreРис. 2. Процесс поиска и загрузки установщика Python3. Ждём загрузки и производим установку программы.Путь установки лучше не менять, если вы в этом не специалист (указатель № 1).Поставить галочку для разрешения установки патДождитесь установки - зелёный индикатор должен заполнить поле слева на-Python 3.8.3 (32-brt) Setuppython for windowsInstall Python 3.8.3 (32-bit)Select Install Now to install Python with default settings, or choose Customize to enable or disable features.-> Install NowC:\Users\Andiy\AppData\Locai\Programs\Python\Python38-32Includes IDLE, pip and documentation—> Customize installation0 Install launcher for all users (recommended)□ Add Python 3,8 to PATHCancelправо.Рис. 3. Процесс установки редактора Python4.В меню «Пуск» вы можете увиНас в первую очередь будет интеIDLE {Python З.Х). Нажав левой кнопкой мыши на ярлык IDLE, мы запустим редактор кода.Теперь у нас есть редактор кода и можно создавать программы.Рис. 4. Месторасположение файлов Python. Пример для Windows 10Возможные проблемы:Программа Python З.Х не устанавливается на компьютер:■■В этом случае необходимо открыть вкладку «Загрузки» и выWindows] (рис. 5).Полный код программы представлен в общем архиве для скаРис. 72. Движение автомобиля по городу??Само движение автомобиля достаточно грубое, попробуйте изменить его на более плавное.Создайте два автомобиля, которые движутся в одном на4.4. Логика движенияУсложним нашу программу, добавим ещё логики в поведении автомобиля. Для этого нам необходимо познакомиться ещё с одgetBlock(x, у, z). Данная функция собирает свеz. Для того чтобы увидеть результат работы данной функции, мы возьмём файл drive.py, который содержит программу по перемещению блока. Сохраним файл под именем logicl.py. Разместим на пути движения алмазного блока золотой блок, так чтобы он нахоimport mcpi.minecraft as minecraftimport mcpi.block as blockimport timecraft = 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. Алмазный блок ищет золотой блокТеперь вернёмся к нашей улице с автомобилем. Для настройки более интересной логики движения мы разместим на некотором расстоянии друг от друга цветовые площадки из блоков: золотой блок, кирпичный блок, лазурит. Их идентификаторы —соответЕсли под автомобилем окажется лазурит, то можно свободно двигаться дальше, если кирпичный блок, то остановиться и подо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.y-1, cor.z + 10, cor.x+25, cor.y-1, cor.z+35, c[ff])ff = random.randint(0, 2)craft.setBlocks(cor.x+88, cor.y-1, cor.z+40, cor.x+100, cor.y-1, cor.z+45, c[ff])ff = random.randint(0, 2)craft.setBlocks(cor.x+70, cor.y-1, cor.z+125, cor.x+65, cor.y-1, cor.z+145, c[ff])ff = random.randint(0, 2)craft.setBlocks(cor.x+5, cor.y-1, cor.z+40, cor.x+15, cor.y-1, cor.z+45, c[ff])avto2()Данные площадки размещены на каждой из четырёх дорог с учётом расстояния между домами. Так как автомобиль перемеРис. 80. Игровая область с кубкомОсталось соединить код третьего уровня с программой целиком, и мы получим игру, состоящую из трёх уровней. Приятной игры.99 • •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.Для первого варианта вам нужно прописать в командной стронаКомандная строкаMicrosoft Windows [version 6.2.9200](с) Корпорация Майкрософт, 2012. Все права защищены.C:\Users\Andry>pip install --upgrade pipРис. 82. Процедура обновления pipДля второго варианта вам необходимо найти расположение файлов Python. Для этого нажмите правой кнопкой мыши по значIDLE [Python'), выберите пункт «Дополнительно»-«Перейти к расположению файла».Рис. 83. Определение точного расположения файловПеред вами откроется такое окно.Рис. 84. Определение точного расположения файловНажмите правой кнопкой мыши по ярлыку IDLE (Python...') и откройте «Свойства».Рис. 85. Определение точного расположения файловОб авторахКорягин Андрей Владимирович—выпускник физико-матеКорягина Алиса Витальевна—выпускница кафедры матеApophysis.Популярное издание0+EREКорягин Андрей Владимирович Корягина Алиса ВитальевнаPYTHONВЕЛИКОЕ ПРОГРАММИРОВАНИЕ В MINECRAFTОтветственный редактор Выпускающий редактор Технический редакторА4. ЖелезняковаГ. ЛогвиноваТ. ТкачукФормат 70х90'/16. Бумага офсетная. Тираж 3000 экз. Заказ №Импортер на территории ЕАЭС: ООО «Феникс»344011, Россия, Ростовская обл., г. Ростов-на-Дону, ул. Варфоломеева, 150Тел./факс: (863) 261-89-50, 261-89-59Изготовлено в Украине. Дата изготовления: 10.2020.Срок годности не ограничен.Изготовитель: ООО «БЭТ».61024, Украина, г. Харьков, ул. Максимилиановская, 17