메인 스트리밍 서비스 Raspberry Pi에서 Minecraft 해킹

Raspberry Pi에서 Minecraft 해킹



Raspberry Pi 2는 30 파운드 미만의 가격을 고려할 때 놀라 울 정도로 성능이 뛰어난 장치입니다. 가상 세계에서 실행할 코드를 작성할 수있는 API와 함께 미리 설치된 Minecraft 버전이 함께 제공됩니다. 배우기 쉬운 Python에서이 작업을 수행합니다. Pi, Python 및 Minecraft의 조합은 프로그래밍 가능성을 탐색 할 수있는 좋은 기회를 제공합니다. 가상 풍경 위에 집이 저절로 지어지는 것을 보는 스릴은 아이들만을위한 것이 아닙니다.

아마존에서 위시리스트 찾기

Minecraft의 스크립팅

Minecraft는 따라야 할 줄거리가없는 오픈 샌드 박스 게임입니다. 플레이어가 원하는대로 블록을 사용하여 모든 종류의 구조물을 만들 수 있기 때문에 가상 레고라고도합니다. Raspberry Pi와 함께 번들로 제공되는 버전에는 교육적 역할에 적합한 제한된 기능 세트가 있습니다. 예를 들어 좀비에게 쫓기는 것에 대해 걱정할 필요가 없습니다. 이 세계와 상호 작용하려면 특별한 설정이 필요하지 않으며 Raspbian OS의 최신 빌드와 프로그래밍 환경 만 필요합니다. LXTerminal을 열고 다음을 입력하여 설치할 수있는 Geany를 선택하겠습니다.

sudo apt-get 설치 geany

플레이어 앞에 집을 짓기위한 스크립트를 만드는 것부터 시작하겠습니다.하지만 집을 제자리에 두드리는 대신 애니메이션을 적용하겠습니다. 또한 플레이어가 다양한 크기와 재질을 실험 할 수 있도록 다양한 구성 가능한 설정을 구축 할 것입니다. 이것은 또한 프로그램을 모듈화하여보다 정교한 웰링을 만들기위한 기초로 사용할 수 있습니다.

코드가 작동하도록하려면 Geany에로드 한 다음 Minecraft를 시작하고 새로운 세계를 만듭니다. Tab 키를 눌러 Minecraft 창에서 커서를 놓고 Geany에서 톱니 바퀴 아이콘을 클릭 (또는 F5 키를 누름)하여 스크립트를 시작합니다. 집이 마법처럼 조립되는 것을 볼 수 있습니다. 그렇지 않다면 뒤를 돌아보세요. 뒤에있을 수 있습니다! 작동중인 스크립트를 볼 수 있습니다. 여기 . 그렇다면 스크립트는 어떻게 작동합니까? 먼저 Minecraft에 대한 링크를 엽니 다.

mcpi.minecraft를 마인 크래프트로 가져 오기, 시간 mc = minecraft.Minecraft.create ()

Python에서는 코드가 블록으로 분할되는 방식이므로 들여 쓰기에주의를 기울이는 것이 중요합니다. 이 경우 두 줄은 왼쪽 여백과 동일합니다. 첫 번째 줄은 Minecraft 및 Time 라이브러리를 가져오고 두 번째 줄은 전체에서 사용할 Minecraft 개체를 만듭니다. 다음 25 줄은 사용할 블록에 대한 몇 가지 변수를 설정하여 블록 ID (이 경우 5)가 아닌 wood_planks로 참조 할 수 있습니다. 그런 다음 벽, 지붕 ​​등에 사용할 블록을 표시합니다. 예를 들어 벽돌 벽을 조약돌로 바꿔 집의 건축을 완전히 바꿀 수 있습니다. 마지막으로 원하는 주거지의 너비, 길이 및 높이를 설정합니다.

이제 Minecraft 함수 mc.player.getTilePos ()를 호출하여 풍경에서 플레이어를 찾은 다음 돌아 오는 값을 사용하여 주거의 첫 번째 구석이 될 위치를 설명하는 왼쪽과 아래쪽의 두 변수를 만듭니다. .

그 후 스크립트의 구조는 수동으로 집을 짓는 Minecraft 프로세스와 일치합니다. 먼저 공간을 정리하여 플레이어가 산과 같은 집을 지을 경우 거실이 단단한 돌이되지 않도록합니다. 다음은이를 수행하는 코드 블록 (Python의 함수)입니다.

def clear_house (핵) :
nuclear == True 인 경우 :
blast_zone = 20
그밖에:
blast_zone = 0
mc.setBlocks (left-blast_zone, player_
지상, 바닥 + 폭발 _ 구역, 왼쪽 + 폭 + 폭발 _
zone, player_ground + height + blast_
zone + 10, bottom-length-blast_zone, air_block)

clear_house를 호출하면 nuclear 매개 변수를 전달합니다. 값은 True 또는 False입니다. True로 호출하여 대상 영역 주변의 더 큰 볼륨을 지우거나 False로 호출하여 공간을 집의 내부 치수로 제한 할 수 있습니다. Minecraft에서 mc.setBlocks 함수는 사용하려는 블록 유형이 뒤 따르는 반대 모서리의 3 차원 좌표를 전달하여 블록 큐브를 만드는 데 사용됩니다. 이 예에서는 공간을 정리하고 있으므로 공기를 사용합니다.

공간을 정리했으면 공사로 넘어갈 시간입니다. 이러한 각 건설 단계는 자체 기능에서 발생합니다. 스크립트의 끝에는 각 구성 단계를 차례로 호출하여 프로그램 흐름을 제어하는 ​​main ()이라는 함수가 표시됩니다. 함수 이름을 현명하게 지정하고 main ()에서 호출하면 프로그램이 수행하는 작업을 쉽게 이해할 수 있습니다.

def main () :
clear_house (거짓)
start_pos = [왼쪽, 아래, player_
바닥]
build_floor (start_pos)
course = build_walls (start_pos)
add_door (문 _ 위치)
time.sleep (지연 * 10)
build_roof (start_pos, 코스)

main ()에서 호출되는 다음 함수는 바닥을 만듭니다. 이것은 mc를 사용합니다. setBlocks를 다시 사용하여 기초 (예술적 효과를 위해)를 깎은 다음 한 블록 깊이의 바닥 타일 큐브를 추가하여 우리 집에 단단한 바닥을 만듭니다.

크롬에서 시크릿 모드를 차단하는 방법

벽 만들기

build_walls 함수는 프로그램의 핵심입니다. 집의 껍질을 만드는 가장 효율적인 방법은 단단한 벽돌 입방체를 긁어 내고 clear_house를 사용하여 내부를 조각하는 것입니다. 그러나 우리는 집이 스스로 지어진 것처럼 보이기를 원하므로 블록을 하나씩 하나씩 배치해야합니다. 다음은 벽체 건축 코드의 단순화 된 버전입니다.

def build_course (start_pos, direction,
강좌):
블록 = 1
current_horiz = start_pos [0]
current_vert = start_pos [1]

방향 == 위 또는
방향 == 아래 :
number_of_blocks = 길이
그밖에:
number_of_blocks = 너비

동안 블록mc.setBlock (current_horiz, player_
ground + course, current_vert, wall_block)
방향 == 위인 경우 :
current_vert- = 1
elif 방향 == 아래 :
current_vert + = 1
elif 방향 == 오른쪽 :
current_horiz + = 1
그밖에:

current_horiz- = 1
blocks = blocks + 1 # 다음 블록으로 이동
time.sleep (지연)

시작 위치를 저장하는 것으로 시작합니다. 이것은 이전 블록 과정에서 놓인 마지막 블록의 위치가됩니다. 그런 다음 건물의 길이 또는 폭을 따라 가는지 여부에 따라 몇 개의 블록을 놓을 지 지정합니다.

빌딩 단계는 while 블록 내에 포함되어 있습니다. 모든 블록을 놓을 때까지 계속 실행됩니다. mc.setBlock은 표시된 좌표에 단일 블록을 배치 한 다음 우리가 놓는 방향에 따라 해당 좌표 중 하나를 증가시킵니다. 그 효과는 코너를 돌기 전에 블록을 벽을 따라 놓고 코스가 끝날 때까지 직사각형으로 계속되는 것입니다.

내 창 시작 메뉴가 열리지 않습니다

코드의 최종 버전은 조금 더 복잡하여 각 벽에 창문을 추가합니다. 창은 벽 길이의 절반이되고 중앙에 위치하도록 동적으로 크기가 조정됩니다. 또한 문 위치를 기록합니다. 벽이 만들어지면 추가됩니다. 코스는 최종 높이에 도달 할 때까지 각 블록 코스에 대해 build_course 함수를 반복하는 build_walls 함수에서 제어됩니다.

바다 나 공중에서 집을 지을 수도 있습니다. 스페이스 바를 두 번 눌러 비행 한 다음 다시 눌러서 스크립트를 실행하기 전에 자신을 들어 올립니다. wall_block 및 roof_block 변수를 변경하여 금 또는 실제로 용암으로 벽이나 지붕을 만들면 어떻게되는지 확인합니다. 전체 목록을 참조하여 자신의 블록을 추가 할 수 있습니다. 여기 및 관련 변수를 스크립트에 추가합니다. 더 어려운 수정에는 높이 변수가 충분히 큰 값으로 설정된 경우 구조에 여러 층을 추가하는 것이 포함될 수 있습니다. 예를 들어 포탑을 추가하는 방법을 알아 내면 Minecraft 성을 만들 수 있습니다.

이러한 조정은 사소하게 들릴지 모르지만 저는 20 년 이상 전문적으로 프로그래밍 해 왔으며 코드 조각이 의도 한대로 작동 할 때 여전히 스릴을 느끼고 있습니다. 이전에 프로그래밍 한 적이없는 경우 사용해 보셨 으면합니다. 가정에 Minecraft 팬이 있다면 코드를 풀어주고 어디로 가는지 확인하는 것이 좋습니다. Minecraft Pi 리소스에 대한 링크는 kevpartner.co.uk/programming .

재미있는 기사

에디터의 선택

Winamp 용 다운로드 S7Reflex 스킨 다운로드
Winamp 용 다운로드 S7Reflex 스킨 다운로드
Winamp 용 S7Reflex Skin을 다운로드하십시오. 여기에서 Winamp 용 S7Reflex 스킨을 다운로드 할 수 있습니다. 모든 크레딧은이 스킨의 원래 작성자에게 제공됩니다 (Winamp 기본 설정의 스킨 정보 참조). 작성자 :. 다운로드 'Winamp 용 S7Reflex 스킨 다운로드'크기 : 1.24 Mb AdvertismentPCRepair : Windows 문제 수정. 그들 모두. 다운로드 링크 : 여기를 클릭하여
Word에 줄을 삽입하는 방법
Word에 줄을 삽입하는 방법
Word에서 줄을 삽입하는 것은 쉽습니다. 키보드를 사용하는 대신 Microsoft Word에서 다양한 스타일의 수평선을 삽입하는 세 가지 방법이 있습니다.
Snapchat 스토리를 자동으로 저장하는 방법
Snapchat 스토리를 자동으로 저장하는 방법
가장 인기있는 Snapchat 기능 중 하나는 Snapchat Story로, 사용자가 Snap을 24 시간 동안 게시 할 수 있습니다. 사람들은 일반적으로 밤에 외출 한 음식, 애완 동물 또는 사진의 사진과 Snapchat의 일시적인 특성을 게시합니다.
AMD Radeon HD 6950 리뷰
AMD Radeon HD 6950 리뷰
이전 세대의 AMD 그래픽 카드에서 Radeon HD 5870은 성능면에서 최고 였지만 훨씬 더 나은 가치를 제공하는 것은 HD 5850이었습니다. AMD는 새로운 것과 유사한 전략을 목표로하는 것 같습니다.
Android 기기를 Chromebook으로 미러링하는 방법
Android 기기를 Chromebook으로 미러링하는 방법
https://www.youtube.com/watch?v=_1HvOOyG1r8 대부분의 경우 Android는 화면 미러링을 쉽게 만듭니다. 그러나 Chromebook 장치에 관해서는 정말 쉬운 일이 없습니다. 핵심은 다양한 기능으로 구축되지 않았습니다.
'프로그램을 종료해야 함'메시지를 비활성화하는 방법
'프로그램을 종료해야 함'메시지를 비활성화하는 방법
Windows에서 OS를 종료하거나 다시 시작하려고 할 때 OS에서 종료 호출을받을 때 종료되지 않는 일부 앱이 실행 중이면 Windows에서 'X 프로그램은 여전히 ​​종료해야합니다'라는 메시지를 표시합니다. 여기서 X는 실행중인 여러 앱. 저장되지 않았을 수 있으므로 강제로 종료되지 않습니다.
Wi-Fi 없이 Roku 장치를 사용하는 방법
Wi-Fi 없이 Roku 장치를 사용하는 방법
Roku 장치가 Wi-Fi 연결에 연결되어 있을 때만 작동한다고 가정하는 것은 당연합니다. 장치는 플러그를 꽂는 즉시 해당 연결을 설정하라는 메시지를 표시하고 모든 스트리밍