Основен Услуги За Стрийминг Хакване на Minecraft на Raspberry Pi

Хакване на Minecraft на Raspberry Pi



Raspberry Pi 2 е изненадващо способно устройство, като се има предвид цената му под £ 30. Той идва с предварително инсталирана версия на Minecraft, заедно с API, който ви позволява да пишете код, който да се изпълнява във виртуалния свят. Правите това в Python, който е лесен за научаване. Комбинацията от Pi, Python и Minecraft предоставя чудесна възможност да започнете да изследвате възможностите на програмирането. И тръпката да видиш как една къща се изгражда върху виртуален пейзаж също не е само за деца.

защо google отнема толкова много време за зареждане

Скриптове в Minecraft

Minecraft е игра с отворен пясък, която няма сюжетна линия, която да следва. Понякога се описва като виртуално лего, тъй като играчът може да изгради всякакъв вид структура, като използва блоковете, с които разполага. Версията, доставена с Raspberry Pi, има ограничен набор от функции, подходящ за нейната образователна роля - така че не е нужно да се притеснявате, че например ще бъдете преследвани от зомбита. Взаимодействието с този свят не изисква специална настройка, а само скорошно изграждане на Raspbian OS плюс програмна среда. Бих избрал Geany, който можете да инсталирате, като отворите LXTerminal и напишете:

sudo apt-get install geany

Нека започнем със създаването на скрипт за изграждане на къща пред плейъра - но вместо просто да ударим една на място, ще я анимираме. Също така ще изградим в различни конфигурируеми настройки, които ще позволят на играча да експериментира с различни размери и материали. Това също ще направи програмата модулна, така че може да се използва като основа за създаване на по-сложни уелвери.

За да накарате кода да работи, заредете го в Geany, след това стартирайте Minecraft и създайте нов свят. Натиснете клавиша Tab, за да освободите курсора от прозореца на Minecraft и щракнете върху иконата на зъбно колело в Geany (или натиснете F5), за да стартирате скрипта. Трябва да видите как една къща се сглобява магически. Ако не го направите, опитайте да се обърнете - може да е зад вас! Можете да видите скрипта в действие тук . И така, как работи скриптът? Е, първо отваря връзка към Minecraft:

импортирайте mcpi.minecraft като minecraft, време mc = minecraft.Minecraft.create ()

В Python е важно да обърнете внимание на отстъп, тъй като по този начин кодът е разделен на блокове. В този случай и двата реда се изравняват с левия марж: първият ред импортира библиотеките Minecraft и Time, а вторият създава Minecraft обект, който да използваме през цялото време. Следващите 25 реда задават няколко променливи за блоковете, които ще използваме, за да можем да ги отнесем като, да речем, wood_planks, а не чрез техния идентификатор на блок (5, в този случай). След това посочваме кой от тези блокове ще се използва за стените, кой за покрива и така нататък. Можем лесно да променим конструкцията на къщата изцяло, като сменим тухлени стени с калдъръм, например. Накрая задаваме ширината, дължината и височината на желаното от нас жилище.

Сега извикваме функцията Minecraft mc.player.getTilePos (), за да намерим играча в пейзажа, а стойностите, които се връщат, след това се използват за създаване на две променливи, отляво и отдолу, за да опишат къде ще бъде първият ъгъл на жилището .

След това структурата на скрипта съвпада с процеса на Minecraft за ръчно изграждане на къща. Започваме с освобождаване на пространство, така че ако играчът реши да построи къщата в, да речем, планина, жилищната площ няма да бъде твърд камък. Ето блока от кода - функцията в Python - която прави това:

def clear_house (ядрена):
ако ядрено == Вярно:
blast_zone = 20
друго:
blast_zone = 0
mc.setBlocks (лява зона-взрив, плейър_
земя, дъно + зона на взрив, ляво + ширина + взрив_
зона, играч_ земя + височина + взрив_
зона + 10, дължина на дъното-зона на взрив, въздушен_блок)

Когато извикаме clear_house, предаваме параметъра ядрен. Той има стойност True или False. Можете да опитате да го извикате с True, за да изчистите по-голям обем около целевата зона, или да го извикате с False, за да ограничите клирънса до вътрешните размери на къщата. В Minecraft функцията mc.setBlocks се използва за създаване на куб от блокове, като му предава координатите, в три измерения, на противоположните ъгли, последвани от типа блок, който искате да използвате. В този случай освобождаваме пространство, затова използваме въздух.

След като освободим пространството, е време да преминем към строителство. Всеки от тези етапи на строителство се осъществява по собствена функция. В края на скрипта ще видите функция, наречена main (), която контролира потока на програмата чрез извикване на всяка фаза на изграждане на свой ред. Чрез разумно именуване на нашите функции и извикване от main () е лесно да се разбере какво прави програмата:

def main ():
clear_house (False)
start_pos = [ляво, отдолу, player_
земя]
build_floor (start_pos)
курс = изграждане на стени (start_pos)
add_door (позиция на вратата)
time.sleep (забавяне * 10)
build_roof (start_pos, курс)

Следващата функция, извикана в main (), изгражда пода - използва mc. setBlocks отново, за да издълбаете фундамент (за артистичен ефект) и след това добавете куб подови плочки с дълбочина от един блок, за да създадете солиден под в нашата къща.

как да инсталирате игри с пара по - бързо

Изграждане на стените

Функцията build_walls е сърцето на програмата. Най-ефективният начин за създаване на черупката на една къща би бил да ударите солидно кубче тухли и след това да използвате clear_house, за да издълбаете интериора. Искаме обаче да изглежда къщата да се изгради сама, затова трябва да поставяме блокове поотделно, един след друг. Ето опростена версия на кода за изграждане на стени:

def build_course (start_pos, посока,
курс):
блокове = 1
current_horiz = start_pos [0]
current_vert = start_pos [1]

ако посоката == нагоре или
посока == надолу:
брой_блокове = дължина
друго:
брой_блокове = ширина

докато блоковеmc.setBlock (текущ_хориз, плейър_
земя + курс, текущ_обръщане, стенен_блок)
ако посоката == нагоре:
current_vert- = 1
посока на elif == надолу:
current_vert + = 1
посока на elif == дясно:
текущ_хориз + = 1
друго:

текущ_хориз- = 1
блокове = блокове + 1 # преминете към следващия блок
time.sleep (забавяне)

Започваме със съхраняване на началната позиция - това ще бъде позицията на последния блок, положен от предишния ход на блоковете. След това указваме колко блока да бъдат положени, в зависимост от това дали вървим по дължината на сградата или нейната ширина.

Фазата на изграждане се съдържа в блока while - това продължава да работи, докато не положим всички блокове. mc.setBlock поставя единичен блок в показаните координати, след което увеличава една от тези координати в зависимост от посоката, в която полагаме. Ефектът е, че блоковете се полагат по стена, преди да се завърти ъгъл и да се продължи в правоъгълник, докато курсът не завърши.

minecraft колко време остават вашите неща след смъртта

Окончателната версия на кода е малко по-ангажирана, добавяйки прозорци към всяка стена. Прозорците са с динамичен размер, така че да са половината от дължината на стената и центрирани. Той също така записва позицията за вратата; добавя се след изграждането на стените. Курсовете се контролират от функцията build_walls, която повтаря функцията build_course за всеки курс от блокове, докато достигне крайната височина.

Можете дори да опитате да построите къщата си в океана или във въздуха - направете това, като натиснете двукратно интервала, за да полетите, след което натиснете отново, за да се повдигнете, преди да стартирате скрипта. Променете променливите wall_block и roof_block, за да видите какво се случва, ако създадете стените или покрива от злато или всъщност от лава. Можете да добавите свои собствени блокове, като се консултирате с пълния списък тук и добавяне на свързаната променлива към скрипта. По-предизвикателните модификации могат да включват добавяне на няколко етажа към структурата, ако променливата за височина е зададена на достатъчно голяма стойност. Помислете как да добавите кули, например, и вие имате предимствата на замъка в Minecraft.

Тези ощипвания може да звучат тривиално, но програмирам професионално повече от 20 години и все още изпитвам тръпка, когато фрагмент от код работи по предназначение. Ако никога досега не сте програмирали, надявам се, че ще го направите - и ако в домакинството ви има фен на Minecraft, предлагам да ги оставите на кода и да видите къде ще ги отведе. Ще намерите връзки към ресурси на Minecraft Pi на адрес kevpartner.co.uk/programming .

Интересни Статии

Избор На Редактора

Вземете най-добре изглеждащото меню 'Старт' за Classic Shell 4+ с Winaero Skin 2.0
Вземете най-добре изглеждащото меню 'Старт' за Classic Shell 4+ с Winaero Skin 2.0
Време е отново да споделим нашата ексклузивна безплатна кожа, сега актуализирана за Classic Shell 4. С неотдавнашната версия на Classic Shell 4, тя добави много подобрения. Най-забележителният за мен е новият стил на менюто 'Старт', наречен 'стил на Windows 7'. Изглежда само оригиналното меню
Как да изтриете акаунт в Cash App
Как да изтриете акаунт в Cash App
За да деактивирате и премахнете акаунт в Cash App, първо трябва да прехвърлите средствата си, т.е. теглене; след това затворете акаунта в приложението Cash.
Как да добавите хранилище към Kindle Fire
Как да добавите хранилище към Kindle Fire
От пускането им на пазара таблетната линия на Amazon създава много шум, но една от постоянните проблеми около тях е липсата на място за съхранение. Първият Kindle Fire не беше само възпрепятстван от малки вътрешни
Как да замените настройките на системния прокси в Google Chrome
Как да замените настройките на системния прокси в Google Chrome
Можете да конфигурирате прокси в Google Chrome чрез командния ред. Можете да добавите опция чрез пряк път, вместо да използвате глобалните настройки на прокси в ОС.
Историята на Лифт за розовите мустаци
Историята на Лифт за розовите мустаци
Спомняте ли си емблематичните розови мустаци, показвани отпред на всеки автомобил Lyft? Това беше незабавно разпознаваем символ на услугата за споделено пътуване. Но сигурно сте се чудили защо мустаци и защо розовият цвят. Лифт дойде
Комплект за подсветка на LED телевизора Govee: Евтино, но дефектно осветление с пристрастия
Комплект за подсветка на LED телевизора Govee: Евтино, но дефектно осветление с пристрастия
Отзивчивите комплекти за осветление с пристрастия могат да издигнат вашето изживяване при гледане на телевизия на следващото ниво, но те са скъпи и работят само с външни източници. Една компания е възприела различен подход за намаляване на разходите и разширяване на съвместимостта, като използва монтирана на дисплей камера. Вижте нашето ревю на Govee TV Backlight Kit, за да видите дали този нов метод си заслужава цената и усилията.
Как да удвоите пространството в Google Документи
Как да удвоите пространството в Google Документи
Всеки, който е минал през гимназия и колеж от 90-те, знае за двойния интервал с шрифт с размер 12, за да направите вашите есета и други писмени документи да изглеждат малко по-дълги. Google Документи използва 1.15