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 używać myszy z Amazon Fire Stick?
Jak używać myszy z Amazon Fire Stick?
Amazon Fire TV Stick ma szeroką gamę aplikacji, które są lepiej zoptymalizowane pod kątem urządzeń z ekranem dotykowym i myszy. Jeśli spróbujesz nawigować po nich za pomocą pilota Firestick, możesz się sfrustrować i zmarnować mnóstwo
Recenzja HP ​​Pavilion dv6
Recenzja HP ​​Pavilion dv6
15,6-calowy Pavilion dv6 nosi charakterystyczne dla HP czarno-chromowe barwy i szczerze mówiąc wygląda trochę efektownie w laptopie tej wielkości. Klawiatura numeryczna z boku klawiatury jest niewygodnie ściśnięta
Jak powiedzieć, kto cię polubił w Badoo
Jak powiedzieć, kto cię polubił w Badoo
Badoo jest jak współczesny Kupidyn, pasuje do ludzi o podobnych zainteresowaniach i otwiera wiele nowych możliwości. Jeśli czujesz się samotny i potrzebujesz kogoś, z kim możesz porozmawiać, Badoo to świetne miejsce na spędzenie czasu. Możesz też
Jak wyłączyć czytnik PDF w Google Chrome 57 i nowszych
Jak wyłączyć czytnik PDF w Google Chrome 57 i nowszych
Oto jak wyłączyć wbudowaną przeglądarkę PDF (czytnik) w Google Chrome 57. Postępuj zgodnie z tym samouczkiem krok po kroku, aby ją wyłączyć.
Dodaj pasek narzędzi Rozwiązywanie problemów do paska zadań w systemie Windows 10
Dodaj pasek narzędzi Rozwiązywanie problemów do paska zadań w systemie Windows 10
Jak dodać pasek narzędzi do rozwiązywania problemów do paska zadań w systemie Windows 10 Zamiast lub oprócz menu kontekstowego narzędzia do rozwiązywania problemów można również mieć pasek narzędzi na pasku zadań, który umożliwia bezpośrednie uruchamianie poszczególnych narzędzi do rozwiązywania problemów w systemie Windows 10. Jest to bardzo przydatne w sytuacjach, gdy zastanawiasz się, co jest nie tak
Google Play: jak zmienić lokalizację pobierania
Google Play: jak zmienić lokalizację pobierania
Domyślnie Google Play używa pamięci wewnętrznej telefonu do przechowywania aplikacji. Co się jednak dzieje, gdy chcesz zmienić lokalizację pobierania lub zabraknie miejsca? Możesz po prostu zmienić lokalizację pobierania. W tym artykule,
Jak naprawić zamrożony Kindle
Jak naprawić zamrożony Kindle
Przywrócenie działania zamrożonego Kindle’a jest łatwe. Aby rozwiązać problem, może być konieczne naładowanie, aktualizacja lub zresetowanie urządzenia. Oto, co należy zrobić.