Principal Serviços De Streaming Hackeando o Minecraft no Raspberry Pi

Hackeando o Minecraft no Raspberry Pi



O Raspberry Pi 2 é um dispositivo surpreendentemente capaz, considerando seu preço abaixo de £ 30. Ele vem com uma versão do Minecraft pré-instalada, junto com uma API que permite escrever código para ser executado no mundo virtual. Você faz isso em Python, que é simples de aprender. A combinação do Pi, Python e Minecraft oferece uma grande oportunidade para começar a explorar as possibilidades da programação. E a emoção de ver uma casa se construir em uma paisagem virtual não é apenas para crianças.

como instalar o minecraft forge no mac

Scripting no Minecraft

Minecraft é um jogo sandbox aberto que não tem uma trama a seguir. Às vezes é descrito como Lego virtual, já que o jogador pode construir qualquer tipo de estrutura usando os blocos à sua disposição. A versão fornecida com o Raspberry Pi tem um conjunto limitado de recursos adequados para sua função educacional - então você não precisa se preocupar em ser perseguido por zumbis, por exemplo. Interagir com este mundo não requer nenhuma configuração especial, apenas uma construção recente do Raspbian OS mais um ambiente de programação. Eu optaria pelo Geany, que você pode instalar abrindo LXTerminal e digitando:

sudo apt-get install geany

Vamos começar criando um script para construir uma casa na frente do jogador - mas em vez de apenas colocar uma no lugar, vamos animá-la. Também vamos construir várias configurações configuráveis, que permitirão ao jogador experimentar diferentes dimensões e materiais. Isso também tornará o programa modular, para que possa ser usado como base para a criação de poços mais sofisticados.

Para fazer o código funcionar, carregue-o no Geany, inicie o Minecraft e crie um novo mundo. Pressione a tecla Tab para liberar o cursor da janela do Minecraft e clique no ícone de engrenagem no Geany (ou pressione F5) para iniciar o script. Você deverá ver uma casa se montar magicamente. Se não, tente se virar - pode estar atrás de você! Você pode ver o script em ação aqui . Então, como funciona o script? Bem, primeiro ele abre um link para o Minecraft:

importar mcpi.minecraft como minecraft, tempo mc = minecraft.Minecraft.create ()

Em Python, é importante prestar atenção ao recuo, já que é assim que o código é dividido em blocos. Nesse caso, ambas as linhas estão alinhadas com a margem esquerda: a primeira linha importa as bibliotecas Minecraft e Time e a segunda cria um objeto Minecraft para usarmos em todo o processo. As próximas 25 linhas definem algumas variáveis ​​para os blocos que vamos usar para que possamos nos referir a eles como, digamos, wood_planks, em vez de por seu ID de bloco (5, neste caso). Em seguida, indicamos quais desses blocos serão usados ​​para as paredes, quais para o telhado e assim por diante. Podemos facilmente mudar completamente a construção da casa trocando paredes de tijolos por paralelepípedos, por exemplo. Finalmente, definimos a largura, comprimento e altura de nossa moradia desejada.

Agora chamamos a função do Minecraft mc.player.getTilePos () para localizar o jogador na paisagem, e os valores que retornam são usados ​​para criar duas variáveis, esquerda e inferior, para descrever onde ficará o primeiro canto da residência .

Depois disso, a estrutura do script corresponde ao processo do Minecraft de construir manualmente uma casa. Começamos abrindo um espaço para que se o jogador escolher construir a casa dentro, digamos, uma montanha, a área de estar não seja de pedra sólida. Aqui está o bloco de código - a função em Python - que faz isso:

def clear_house (nuclear):
se nuclear == Verdadeiro:
blast_zone = 20
senão:
blast_zone = 0
mc.setBlocks (left-blast_zone, player_
solo, inferior + blast_zone, esquerda + largura + blast_
zona, player_ground + altura + explosão_
zona + 10, bottom-length-blast_zone, air_block)

Quando chamamos clear_house, passamos o parâmetro nuclear. Possui o valor True ou False. Você pode tentar chamá-lo com True para limpar um volume maior ao redor da área alvo, ou chamá-lo com False para limitar a folga às dimensões internas da casa. No Minecraft, a função mc.setBlocks é usada para criar um cubo de blocos passando-lhe as coordenadas, em três dimensões, de cantos opostos seguidos pelo tipo de bloco que você deseja usar. Neste caso, estamos limpando um espaço, então usamos ar.

Depois de liberar o espaço, é hora de prosseguir para a construção. Cada uma dessas etapas de construção ocorre em sua própria função. No final do script, você verá uma função chamada main (), que controla o fluxo do programa chamando cada fase de construção por vez. Nomeando nossas funções de maneira sensata e chamando-as de main (), é fácil entender o que o programa está fazendo:

def main ():
clear_house (False)
start_pos = [esquerda, inferior, jogador_
chão]
build_floor (start_pos)
curso = build_walls (start_pos)
add_door (door_position)
time.sleep (delay * 10)
build_roof (start_pos, curso)

A próxima função chamada em main () constrói o chão - isso usa mc. setBlocks novamente para esculpir uma base (para efeito artístico) e, em seguida, adicionar um cubo de ladrilhos com a profundidade de um bloco para criar um piso sólido em nossa casa.

csgo como se livrar de bots

Construindo as paredes

A função build_walls é o coração do programa. A maneira mais eficiente de criar a casca de uma casa seria derrubar um cubo sólido de tijolos e usar a clear_house para esculpir o interior. No entanto, queremos que a casa pareça estar se construindo, então precisamos colocar os blocos individualmente, um após o outro. Esta é uma versão simplificada do código de construção de paredes:

def build_course (start_pos, direction,
curso):
blocos = 1
current_horiz = start_pos [0]
current_vert = start_pos [1]

se direção == para cima ou
direção == para baixo:
number_of_blocks = length
senão:
number_of_blocks = largura

blocos enquantomc.setBlock (current_horiz, player_
ground + course, current_vert, wall_block)
se direção == para cima:
current_vert- = 1
elif direction == down:
current_vert + = 1
direção elif == direita:
current_horiz + = 1
senão:

current_horiz- = 1
blocos = blocos + 1 # mover para o próximo bloco
time.sleep (delay)

Começamos armazenando a posição inicial - esta será a posição do último bloco colocado do curso de blocos anterior. Em seguida, especificamos quantos blocos colocar, dependendo se estamos indo ao longo do comprimento do edifício ou de sua largura.

A fase de construção está contida no bloco while - ele continua até que tenhamos colocado todos os blocos. mc.setBlock coloca um único bloco nas coordenadas mostradas e, em seguida, incrementa uma dessas coordenadas dependendo da direção em que estamos assentando. O efeito é que os blocos são colocados ao longo de uma parede antes de virar uma esquina e continuar em um retângulo até que o curso seja concluído.

Windows 10 não pode pressionar o botão iniciar

A versão final do código é um pouco mais envolvente, adicionando janelas a cada parede. As janelas são dimensionadas dinamicamente para que tenham metade do comprimento da parede e sejam centralizadas. Ele também registra a posição da porta; é adicionado assim que as paredes são construídas. Os cursos são controlados a partir da função build_walls, que repete a função build_course para cada curso de blocos até atingir a altura final.

Você pode até tentar construir sua casa no oceano ou no ar - faça isso pressionando duas vezes a barra de espaço para voar e pressione novamente para se levantar antes de executar o script. Altere as variáveis ​​wall_block e roof_block para ver o que acontece se você criar as paredes ou telhado de ouro ou, na verdade, lava. Você pode adicionar seus próprios blocos consultando a lista completa aqui e adicionando a variável associada ao script. Modificações mais desafiadoras podem incluir a adição de vários andares à estrutura se a variável de altura for definida como um valor grande o suficiente. Descubra como adicionar torres, por exemplo, e você terá os ingredientes de um castelo do Minecraft.

Esses ajustes podem parecer triviais, mas eu tenho programado profissionalmente por mais de 20 anos e ainda fico emocionado quando um trecho de código funciona conforme o planejado. Se você nunca programou antes, espero que dê uma chance - e se você tem um fã do Minecraft em casa, sugiro deixá-los à vontade no código e ver onde isso os leva. Você encontrará links para recursos do Minecraft Pi em kevpartner.co.uk/programming .

Artigos Interessantes

Escolha Do Editor

Como usar o Google Authenticator com um PC
Como usar o Google Authenticator com um PC
https://www.youtube.com/watch?v=OxEnZC3M__Q A segurança da conta é uma preocupação crítica para todos nestes dias de hacks e despejos de dados. Sua conta do Google é uma das contas online mais importantes que você tem, com toda a probabilidade - você '
Como habilitar o Mobile Hotspot no Windows 10
Como habilitar o Mobile Hotspot no Windows 10
A Microsoft adicionou uma maneira fácil de compartilhar sua Internet de um dispositivo Windows 10 com PCs e outros dispositivos ao seu redor via Wi-Fi. Requer apenas a ativação de uma opção.
Como limpar seu histórico de pesquisa do Instagram
Como limpar seu histórico de pesquisa do Instagram
Você pode excluir seu histórico de pesquisa no Instagram no aplicativo para Android e iOS, bem como em navegadores de desktop e dispositivos móveis, com apenas algumas etapas simples.
Corrigir lixeira corrompida no Windows 10
Corrigir lixeira corrompida no Windows 10
Se você não conseguir esvaziar a Lixeira no Windows 10 ou restaurar ou excluir um arquivo ou pasta da Lixeira, isso pode indicar que a Lixeira está corrompida.
Use SFC /Scannow para reparar arquivos de sistema do Windows
Use SFC /Scannow para reparar arquivos de sistema do Windows
A opção sfc scannow é a maneira mais útil de executar o Verificador de arquivos do sistema. Usar sfc com a opção scannow irá verificar e reparar arquivos do Windows.
Melhores skins para o menu Iniciar do Classic Shell
Melhores skins para o menu Iniciar do Classic Shell
Hoje, eu gostaria de compartilhar uma coleção de skins excelentes para o Classic Shell para estilizar seu menu Iniciar.
O significado de RE: em e-mails
O significado de RE: em e-mails
Por que RE: em conversas por e-mail deve ser usado apenas na linha de assunto ao responder a uma mensagem para evitar confusão para os destinatários.