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 alterar a próxima pergunta com base em uma resposta no Formulários Google
Como alterar a próxima pergunta com base em uma resposta no Formulários Google
O Formulários Google permite que você crie várias enquetes, pesquisas, questionários, questionários e muito mais. Às vezes, fazer pesquisas longas pode se tornar entediante para algumas pessoas e elas desistem sem terminá-las. Isso não é bom quando você precisa reunir dados importantes
Quantas vezes um telefone toca? [Explicado]
Quantas vezes um telefone toca? [Explicado]
Como instalar uma GUI em um servidor Ubuntu
Como instalar uma GUI em um servidor Ubuntu
As pessoas têm opiniões diferentes sobre a instalação de Interface Gráfica de Usuário, GUI para breve, em servidores Ubuntu. Alguns podem dizer que as operações do servidor devem ser realizadas exclusivamente por uma interface de linha de comando ou CLI. Isso ocorre porque as GUIs usam recursos de hardware do sistema,
Como baixar o Steam Cloud Saves
Como baixar o Steam Cloud Saves
Graças ao seu recurso de plataforma cruzada, o Steam permite que você carregue o progresso do seu jogo em todos os seus dispositivos. Você pode sair de uma sessão de jogo em um PC em um determinado ponto e pegá-la em um Mac naquele momento
Crie um novo pool em espaços de armazenamento no Windows 10
Crie um novo pool em espaços de armazenamento no Windows 10
Para criar um novo pool em Espaços de Armazenamento no Windows 10, você precisa de pelo menos duas unidades extras (além da unidade onde o Windows está instalado).
Como alterar a ação do botão liga / desliga no Windows 10
Como alterar a ação do botão liga / desliga no Windows 10
Você pode alterar a ação do botão liga / desliga no Windows 10. Há uma série de ações predefinidas que o botão liga / desliga do hardware pode realizar.
Como a SMART Technologies transformou a sala de aula
Como a SMART Technologies transformou a sala de aula
Em um nível puramente cosmético, a sala de aula da escola mudou pouco desde que a educação se tornou obrigatória no século XIX. As mesas e cadeiras ficam bem de frente para um quadro branco, com o professor no centro de cada lição. No entanto, olhe de perto