Główny Usługi Przesyłania Strumieniowego Hakowanie Minecrafta na Raspberry Pi

Hakowanie Minecrafta na Raspberry Pi



Raspberry Pi 2 to zaskakująco wydajne urządzenie, biorąc pod uwagę jego cenę poniżej 30 funtów. Jest dostarczany z preinstalowaną wersją Minecrafta wraz z interfejsem API, który umożliwia pisanie kodu, który będzie uruchamiany w wirtualnym świecie. Robisz to w Pythonie, który jest prosty do nauczenia. Połączenie Pi, Pythona i Minecrafta daje świetną okazję do rozpoczęcia odkrywania możliwości programowania. A dreszczyk emocji, gdy dom buduje się na wirtualnym krajobrazie, jest nie tylko dla dzieci.

jak wyświetlić zablokowane numery na iPhonie?

Skrypty w Minecrafcie

Minecraft to otwarta gra w piaskownicy, która nie ma linii fabularnej do naśladowania. Czasami określa się go mianem wirtualnego Lego, ponieważ gracz może zbudować dowolną konstrukcję z dostępnych klocków. Wersja dołączona do Raspberry Pi ma ograniczony zestaw funkcji dostosowanych do jego roli edukacyjnej – więc nie musisz się na przykład martwić, że będziesz ścigany przez zombie. Interakcja z tym światem nie wymaga specjalnej konfiguracji, tylko niedawna kompilacja Raspbian OS plus środowisko programistyczne. Wybrałbym Geany, który można zainstalować, otwierając LXTerminal i wpisując:

sudo apt-get install geany

Zacznijmy od stworzenia skryptu do budowy domu przed graczem – ale zamiast po prostu wstawić go na miejsce, będziemy go animować. Zamierzamy również budować w różnych konfigurowalnych ustawieniach, które pozwolą graczowi eksperymentować z różnymi wymiarami i materiałami. Dzięki temu program będzie również modułowy, dzięki czemu będzie można go wykorzystać jako podstawę do tworzenia bardziej wyrafinowanych wellingów.

Aby kod działał, załaduj go do Geany, a następnie uruchom Minecraft i stwórz nowy świat. Naciśnij klawisz Tab, aby zwolnić kursor z okna Minecrafta i kliknij ikonę koła zębatego w Geany (lub naciśnij F5), aby uruchomić skrypt. Powinieneś zobaczyć, jak dom w magiczny sposób się montuje. Jeśli nie, spróbuj się odwrócić – może być za tobą! Możesz zobaczyć skrypt w akcji tutaj . Jak działa skrypt? Cóż, najpierw otwiera link do Minecrafta:

importuj mcpi.minecraft jako minecraft, czas mc=minecraft.Minecraft.create()

W Pythonie ważne jest, aby zwracać uwagę na wcięcia, ponieważ w ten sposób kod jest podzielony na bloki. W tym przypadku obie linie są równo z lewym marginesem: pierwsza linia importuje biblioteki Minecraft i Time, a druga tworzy obiekt Minecraft, którego możemy używać przez cały czas. Następne 25 wierszy ustawia kilka zmiennych dla bloków, których będziemy używać, więc możemy odnosić się do nich jako, powiedzmy, wood_planks, a nie przez ich identyfikator bloku (w tym przypadku 5). Następnie wskazujemy, które z tych bloków zostaną użyte na ściany, a które na dach i tak dalej. Z łatwością możemy całkowicie zmienić konstrukcję domu, zamieniając np. ceglane ściany na bruk. Na koniec ustalamy szerokość, długość i wysokość pożądanego mieszkania.

Teraz wywołujemy funkcję Minecrafta mc.player.getTilePos(), aby zlokalizować gracza w krajobrazie, a wartości, które wracają, są następnie używane do utworzenia dwóch zmiennych, lewej i dolnej, aby opisać, gdzie będzie pierwszy róg mieszkania .

Następnie struktura skryptu pasuje do procesu ręcznego budowania domu w Minecraft. Zaczynamy od oczyszczenia przestrzeni, aby jeśli gracz zdecyduje się zbudować dom wewnątrz, powiedzmy góry, obszar mieszkalny nie będzie z litego kamienia. Oto blok kodu – funkcja w Pythonie – która to robi:

def clear_house(nuklearny):
jeśli jądrowa==Prawda:
strefa_wybuchu=20
jeszcze:
strefa_wybuchu=0
mc.setBlocks(lewa strefa_blastu,player_
ziemia, dół+strefa_wybuchu,lewa+szerokość+podmuch
strefa, gracz_ground+wysokość+wybuch_
strefa + 10, strefa podmuchu o długości dolnej, blok_powietrza)

Kiedy wywołujemy clear_house, przekazujemy parametr nuklearny. Ma wartość Prawda lub Fałsz. Możesz spróbować wywołać to za pomocą True, aby oczyścić większą objętość wokół obszaru docelowego, lub wywołać to za pomocą False, aby ograniczyć prześwit do wewnętrznych wymiarów domu. W Minecrafcie funkcja mc.setBlocks służy do tworzenia sześcianu z bloków, przekazując mu współrzędne w trzech wymiarach przeciwległych rogów, a następnie typ bloku, którego chcesz użyć. W tym przypadku oczyszczamy przestrzeń, więc używamy powietrza.

Po oczyszczeniu przestrzeni nadszedł czas, aby przejść do budowy. Każdy z tych etapów budowy odbywa się w swojej własnej funkcji. Na końcu skryptu zobaczysz funkcję o nazwie main(), która kontroluje przebieg programu, wywołując kolejno każdą fazę konstrukcji. Nazywając nasze funkcje rozsądnie i wywołując je z main(), łatwo jest zrozumieć, co robi program:

zdefiniuj główne():
clear_house (fałsz)
start_pos=[lewy,dolny,gracz_
ziemia]
budowa_podłogi(początek_poz)
course=build_walls(start_pos)
add_door(położenie_drzwi)
czas.snu(opóźnienie*10)
budowa_dach(początek_poz, kurs)

Kolejna funkcja wywołana w main() buduje podłogę – używa mc. setBlocks ponownie, aby wyrzeźbić podkład (dla efektu artystycznego), a następnie dodaj kostkę płytek podłogowych o głębokości jednego bloku, aby stworzyć solidną podłogę w naszym domu.

telewizor samsung wyłącz tryb demo

Budowanie ścian

Sercem programu jest funkcja build_walls. Najskuteczniejszym sposobem na stworzenie skorupy domu byłoby uderzenie w solidną kostkę cegieł, a następnie użycie clear_house do wyrzeźbienia wnętrza. Zależy nam jednak na tym, aby dom wydawał się sam się konstruować, dlatego musimy umieszczać klocki pojedynczo, jedna po drugiej. Oto uproszczona wersja kodu budowania ścian:

def kurs_budow(poczta_poz, kierunek,
kierunek):
bloki=1
current_horiz=start_pos[0]
current_vert=start_pos[1]

jeśli kierunek==w górę lub
kierunek==w dół:
liczba_bloków=długość
jeszcze:
liczba_bloków=szerokość

podczas blokówmc.setBlock(current_horiz,player_
grunt+kurs,bieżąca_pion,ściana_blok)
jeśli kierunek==w górę:
current_vert-=1
kierunek elif==w dół:
current_vert+=1
kierunek elif==w prawo:
current_horiz+=1
jeszcze:

current_horiz-=1
bloki=bloki+1 # przejdź do następnego bloku
czas.snu(opóźnienie)

Zaczynamy od zapamiętania pozycji startowej – będzie to pozycja ostatniego bloczka ułożonego z poprzedniego ciągu bloczków. Następnie określamy, ile bloków ułożyć, w zależności od tego, czy idziemy wzdłuż budynku, czy jego szerokości.

Faza budowania jest zawarta w bloku while – trwa, dopóki nie ułożymy wszystkich bloków. mc.setBlock umieszcza pojedynczy blok na pokazanych współrzędnych, a następnie zwiększa jedną z tych współrzędnych w zależności od kierunku, w którym kładziemy. Efekt jest taki, że bloki układa się wzdłuż ściany przed skręceniem za róg i kontynuuje w prostokącie, aż do zakończenia kursu.

ile osób może być na disney plus

Ostateczna wersja kodu jest nieco bardziej skomplikowana, dodając okna do każdej ściany. Okna są dynamicznie dopasowywane tak, że mają połowę długości ściany i są wyśrodkowane. Rejestruje również pozycję drzwi; jest dodawany po zbudowaniu ścian. Kursy są kontrolowane z funkcji build_walls, która powtarza funkcję build_course dla każdego szeregu bloków, aż osiągnie ostateczną wysokość.

Możesz nawet spróbować zbudować swój dom w oceanie lub w powietrzu – zrób to, dwukrotnie naciskając spację, aby latać, a następnie naciśnij ponownie, aby podnieść się przed uruchomieniem skryptu. Zmień zmienne wall_block i roof_block, aby zobaczyć, co się stanie, jeśli utworzysz ściany lub dach ze złota lub lawy. Możesz dodawać własne bloki, przeglądając pełną listę tutaj i dodanie skojarzonej zmiennej do skryptu. Bardziej wymagające modyfikacje mogą obejmować dodanie wielu kondygnacji do konstrukcji, jeśli zmienna wysokości jest ustawiona na wystarczająco dużą wartość. Wymyśl, na przykład, jak dodać wieżyczki, a masz zadatki na zamek Minecraft.

Te poprawki mogą brzmieć trywialnie, ale programuję zawodowo od ponad 20 lat i nadal czuję dreszczyk emocji, gdy fragment kodu działa zgodnie z przeznaczeniem. Jeśli nigdy wcześniej nie programowałeś, mam nadzieję, że spróbujesz – a jeśli masz w domu fana Minecrafta, sugeruję wypuszczenie go na kod i zobaczenie, dokąd go zabierze. Linki do zasobów Minecraft Pi znajdziesz na kevpartner.co.uk/programowanie .

Ciekawe Artykuły

Wybór Redakcji

Jak korzystać z wyjścia cyfrowego Realtek
Jak korzystać z wyjścia cyfrowego Realtek
Wiele komputerów jest wyposażonych w karty dźwiękowe Realtek i można użyć wyjścia cyfrowego do tworzenia dźwięku. Wyjście cyfrowe oznacza po prostu, że urządzenia audio podłączone do komputera nie używają kabli analogowych. Podczas korzystania z wyjścia cyfrowego Twoje urządzenia audio
Recenzja HP ​​Officejet Pro 8600 Plus
Recenzja HP ​​Officejet Pro 8600 Plus
W naszym ostatnim laboratorium wielofunkcyjnym HP Officejet Pro 8500A Plus zdobył najwyższą nagrodę dzięki połączeniu wysokiej jakości skanera, doskonałych wydruków dokumentów i bardzo niskich kosztów eksploatacji. Byłoby łatwo
8 najlepszych darmowych narzędzi do analizowania przestrzeni dyskowej
8 najlepszych darmowych narzędzi do analizowania przestrzeni dyskowej
Zastanawiasz się, co zajmuje całe miejsce na dysku twardym lub dysku flash? Pomocny może być analizator przestrzeni dyskowej. Oto recenzje najlepszych darmowych.
Recenzja Barracuda Networks Spam & Virus Firewall 300
Recenzja Barracuda Networks Spam & Virus Firewall 300
Obecnie małe i średnie firmy mają do wyboru ogromny wybór rozwiązań antyspamowych. Urządzenia Barracuda Spam & Virus Firewall wyróżniają się arsenałem środków bezpieczeństwa wiadomości, deklarowaną dokładnością wykrywania i łatwością wdrażania. Tutaj my
Zainstaluj lub odinstaluj Windows PowerShell ISE w systemie Windows 10
Zainstaluj lub odinstaluj Windows PowerShell ISE w systemie Windows 10
Jak zainstalować lub odinstalować program Windows PowerShell ISE w systemie Windows 10 Począwszy od wersji 19037 systemu Windows 10, aplikacja PowerShell ISE jest teraz domyślnie instalowaną funkcją opcji (funkcja na żądanie). Oznacza to, że jest teraz wymieniony w funkcjach opcjonalnych, będziesz mógł go łatwo zainstalować lub odinstalować. Reklama PowerShell
Jak włączyć pokoje podgrup w powiększeniu
Jak włączyć pokoje podgrup w powiększeniu
Zoom to doskonałe narzędzie do organizowania spotkań online. Łatwość obsługi pozwala wielu osobom gromadzić się i wymieniać pomysłami w zaciszu własnego domu. Czasami możesz chcieć pogrupować poszczególne osoby w zespoły
Jak wysłać wiadomość na Amazon
Jak wysłać wiadomość na Amazon
Niektórzy ludzie nadal nie wiedzą, że Amazon wprowadził funkcję, która umożliwia bezpośrednią komunikację między sprzedawcami i kupującymi. Ta funkcja jest niezwykle pomocna dla obu stron, ponieważ wypełnia lukę między nimi. Kupujący mogą zapytać o produkt product