Apprenez le Python et l'électronique avec Minecraft Pi Edition

Avez-vous toujours voulu apprendre à coder mais ne saviez pas par où commencer? Apprenez à contrôler Minecraft sur le Raspberry Pi en utilisant Python et de l'électronique simple.

Avez-vous toujours voulu apprendre à coder mais ne saviez pas par où commencer?  Apprenez à contrôler Minecraft sur le Raspberry Pi en utilisant Python et de l'électronique simple.
Publicité

Avez-vous toujours voulu apprendre à coder mais ne saviez pas par où commencer? Apprenez à contrôler Minecraft sur le Raspberry Pi en utilisant Python et de l'électronique simple. Voici le résultat final:

Vous aurez besoin d'un Pi 2 ou plus récent pour ce projet, et bien que vous puissiez effectuer la plupart de ces tâches via la ligne de commande sur Secure Shell (SSH), ce tutoriel se concentrera sur le codage directement sur le Pi.

Raspberry Pi 3 Modèle B Carte mère Raspberry Pi 3 Modèle B Carte mère Acheter maintenant Sur Amazon $ 29.99

Nouveau à Minecraft? Ne vous inquiétez pas - voici notre guide de débutant Minecraft Le guide de débutant de Minecraft Le guide de débutant de Minecraft Si vous êtes en retard à la fête cependant, ne vous inquiétez pas - ce guide de débutant étendu vous a couvert. Lire la suite .

Introduction à Minecraft Pi

Minecraft-Pi-Menu

Minecraft pour le Raspberry Pi a été développé pour apprendre et bricoler (et c'est gratuit). Il est livré avec une interface de programmation d'application (API) qui permet au code de communiquer facilement avec Minecraft. Il est génial d'apprendre à coder en Python, ainsi que de commencer avec l'électronique Débutant Electronics: 10 compétences que vous devez savoir Débutant Electronics: 10 compétences que vous devez savoir Beaucoup d'entre nous n'ont jamais touché un fer à souder - mais faire des choses peuvent incroyablement enrichissante. Voici dix des compétences les plus élémentaires de l'électronique de bricolage pour vous aider à démarrer. Lire la suite .

Qu'est-ce que Python?

Python est un langage de programmation. Il est interprété, ce qui signifie que lorsque vous exécutez un fichier ou un programme Python, l'ordinateur doit d'abord faire un tout petit peu de travail dans le fichier. Les inconvénients sont que cela peut être considéré comme lent par rapport aux langages compilés.

Les avantages des langages interprétés sont la vitesse de codage et leur convivialité. Vous n'avez pas besoin de dire à l'ordinateur quelles données vous voulez stocker, mais simplement que vous voulez stocker quelque chose et que l'ordinateur va trouver quoi faire. Il y a des exceptions, bien sûr, et c'est une vue un peu simplifiée, mais la programmation devrait être amusante! Si vous commencez à creuser dans les détails techniques complexes, cela peut devenir un peu laborieux.

Python est sensible à la casse. C'est important à savoir, car Python ne reconnaîtra pas les objets même s'ils sont correctement orthographiés si le cas est faux. "Dosomething ()" ne fonctionnera pas si la méthode s'appelle réellement "DoSomething ()". Python utilise également l'indentation . D'autres langages de programmation ne tiennent pas compte du nombre de retraits de votre code, alors que Python s'en soucie. Les retraits sont utilisés pour indiquer à Python où le code appartient. D'autres langues peuvent utiliser des accolades "curly" ({}) pour grouper du code - Python ne les utilise pas. Python utilise un hash (#) pour les commentaires, et les commentaires sont utilisés pour dire aux autres développeurs ou aux personnes regardant le code ce qu'une partie particulière fait, ou pourquoi elle est nécessaire. Python ignore tout après un hachage.

Enfin, il existe deux versions principales de Python - Python 2.7.x et Python 3.x. Il y a quelques différences entre les deux (quelles sont les différences?). Ce tutoriel utilisera Python 3.

La configuration initiale

Fournir votre Pi est déjà installé et fonctionne Raspbian Comment installer un système d'exploitation sur votre Raspberry Pi Comment installer un système d'exploitation sur votre Raspberry Pi Voici comment faire pour installer un nouveau système d'exploitation sur votre Pi - et comment cloner votre configuration parfaite pour une reprise après sinistre rapide. En savoir plus, il n'y a pas beaucoup de configuration initiale nécessaire.

Ouvrez Terminal ( Menu> Accessoires> Terminal ) et exécutez cette commande. C'est toujours une bonne pratique de garder la liste du dépôt à jour, et cela va télécharger la dernière liste de programmes (il ne téléchargera pas les programmes eux-mêmes, cela aide le Pi à savoir quels programmes sont appelés et où les trouver).

sudo apt-get update 

Maintenant, mettez à jour le Pi (cela peut prendre un certain temps):

 sudo apt-get upgrade 

Python et Minecraft Pi sont déjà installés, mais si Minecraft Pi n'est pas installé pour une raison quelconque, il est facile à installer 5 façons d'installer un logiciel sur Raspberry Pi 5 façons d'installer un logiciel sur Raspberry Pi Pour faire quelque chose avec un Raspberry Pi, vous aurez besoin de savoir comment installer un système d'exploitation, et un logiciel pour l'exécuter. Si vous êtes nouveau sur Linux, cela peut être décourageant. Lire la suite :

 sudo apt-get install minecraft-pi 

Accédez aux documents et créez un nouveau dossier appelé "Minecraft":

 cd Documents/ mkdir Minecraft 

Vous pouvez voir le contenu de ce nouveau dossier:

 ls 

Voici une astuce: si vous commencez à taper et que vous appuyez sur la touche TAB, la ligne de commande tente de compléter automatiquement la déclaration pour vous.

Vous pouvez examiner le chemin d'accès au répertoire en cours à l'aide de pwd, qui correspond à Print Working Directory:

 pwd 

Lancez Minecraft en allant dans Menu> Jeux> Minecraft Pi . Vous en aurez besoin, mais vous y reviendrez plus tard.

Ouvrez Python 3 à partir de Menu> Programmation> Python 3 (IDLE) . Ce programme vous permet d'exécuter des commandes Python et d'écrire des programmes.

Maintenant vous pouvez taper vos commandes Python ici, mais ce n'est pas très pratique. Allez dans Fichier> Nouveau fichier, puis Fichier> Enregistrer et enregistrez-le dans le dossier que vous avez créé précédemment. ( Documents> Minecraft ). Appelons-le " hello_world.py ". Vous n'avez pas besoin d'utiliser l'extension .py, elle sera ajoutée automatiquement, mais c'est une bonne pratique.

Si vous revenez au terminal et naviguez dans le dossier Minecraft, vous devriez voir le fichier que vous venez de créer:

 cd Minecraft/ ls 

Vous pouvez exécuter ce fichier comme ceci:

 python hello_world 

Notez que "python" est en minuscule. Cela doit être avant le nom du fichier, car il indique au Pi que le fichier suivant est Python, donc il devrait être exécuté en tant que tel.

Revenez à l'éditeur Python et tapez:

 print "Hello, World!" 

Enregistrez ce fichier et exécutez-le à nouveau - vous devriez maintenant voir "Hello, World!" Apparaître dans la ligne de commande - soigné! La commande print indique simplement à Python de sortir le texte suivant entre guillemets. C'est bon, mais pas très utile pour Minecraft, relions-le:

 from mcpi.minecraft import Minecraft mc = Minecraft.create() mc.postToChat("Hello, World!") 

Maintenant, si vous enregistrez et exécutez ce fichier, vous devriez voir "Hello, World!" Apparaître dans le jeu Minecraft. Décomposons le code:

 from mcpi.minecraft import Minecraft 

Cette ligne indique à Python que vous voulez utiliser le code d'un autre fichier. Ce fichier mcpi.minecraft a été développé pour permettre un contrôle facile de Minecraft.

 mc = Minecraft.create() 

Cette ligne crée un objet appelé "mc" (Minecraft). Vous devez créer ceci pour permettre la communication au jeu de Minecraft - il ne suffit pas d'inclure le fichier.

 mc.postToChat("Hello, World!") 

Enfin, cette ligne indique à Minecraft d'écrire du texte sur le chat. Essayez de changer "Hello, World!" Pour autre chose et voir ce qui se passe, mais n'oubliez pas d'inclure les deux guillemets. Si vous rencontrez des problèmes de logiciel, voici quelques erreurs courantes de Python et Minecraft Pi:

  • AttributeError - ceci est une faute de frappe, comme pint ou prnt au lieu d'imprimer
  • NameError: le nom 'Minecraft' n'est pas défini - n'oubliez pas d'importer les modules dont vous avez besoin
  • NameError: le nom 'true' n'est pas défini - Python est sensible à la casse, remplacez par "True"
  • socket.error: [Errno 111] Connexion refusée - Assurez-vous que Minecraft est en cours d'exécution

Projets

Maintenant que vous connaissez les bases de Python et Minecraft, faisons quelques projets sympas. Tout le codecan peut être téléchargé depuis Github.

Générateur de ponts automatisé

Minecraft-Pi-Bridge-Builder

Ce programme va effectivement construire un pont sur l'eau. Quand le joueur s'approche d'un plan d'eau, le programme convertit plusieurs blocs en pierre. Comme Minecraft utilise un système de coordonnées, il est très facile d'obtenir l'emplacement du joueur, ainsi que le type de blocs autour du joueur. Minecraft Pi est légèrement limité, il n'est donc pas possible de mettre à jour plusieurs blocs différents en masse. Cependant, vous pouvez facilement coder ce comportement.

Créez un nouveau fichier ( Fichier> Nouveau fichier ) et enregistrez-le sous " bridge_builder.py ".

 from mcpi.minecraft import Minecraft mc = Minecraft.create() # create Minecraft Object while True: x, y, z = mc.player.getPos() # store player position # store the surrounding blocks a = mc.getBlock(x, y - 1, z + 1) b = mc.getBlock(x, y - 1, z - 1) c = mc.getBlock(x - 1, y - 1, z) d = mc.getBlock(x + 1, y - 1, z) if a == 8 or a == 9 or b == 8 or b == 9 or c == 8 or c == 9 or d == 8 or d == 9: # 8 or 9 is water. Set surrounding blocks on floor to a solid (stone) if water is found mc.setBlocks(x, y - 1, z, x + 1, y - 1, z + 1, 1) mc.setBlocks(x, y - 1, z, x - 1, y - 1, z - 1, 1) mc.setBlocks(x, y - 1, z, x - 1, y - 1, z + 1, 1) mc.setBlocks(x, y - 1, z, x + 1, y - 1, z - 1, 1) 

Remarquez comment la valeur y est en train de regarder y - 1. C'est le niveau du sol. Si la valeur de y était utilisée, le script chercherait des blocs au niveau du genou - cela ne marcherait pas très bien! Mc.getBlock () renvoie l'identifiant d'un bloc pour les coordonnées données. Comme x, y et z sont les coordonnées du joueur, vous pouvez les additionner ou les soustraire pour obtenir des positions autour du joueur. Vous n'avez pas besoin d'utiliser les valeurs x, y et z, vous pouvez utiliser n'importe quel nombre, mais vous ne savez pas comment ce bloc particulier se rapporte au joueur - il est préférable d'utiliser des valeurs relatives au joueur. Exécutez ce fichier à partir de la ligne de commande et voyez ce qui se passe.

Vous devriez voir qu'une petite zone de terre se transforme en pierre une fois que le joueur atteint un plan d'eau. Ce n'est pas génial - vous êtes capable de marcher assez vite pour causer un problème. Vous pourriez résoudre ce problème en convertissant un plus grand volume d'eau à la terre. La dernière partie de la méthode mc.setBlocks () est l'identifiant du bloc. L'un est l'identifiant de bloc pour la pierre. Vous pourriez changer cela en bois, en herbe ou n'importe quoi. Si vous le vouliez, vous pourriez très facilement le transformer en une conception complexe - peut-être un pont suspendu!

Bouton Super Mining

Minecraft-Pi-Super-Mine

Cet exemple va faire un travail rapide de l'exploitation minière. Il se compose d'un bouton physique, qui, lorsqu'il est pressé, va miner 10 blocs cubes. Commençons par le bouton. Semblable aux boutons sur l'Arduino, vous aurez besoin d'une petite quantité de composants électroniques, qui devraient tous être trouvés dans un kit de base de démarrage. Que contient votre kit de démarrage Arduino? [Arduino Débutants] Qu'y a-t-il dans votre kit de démarrage Arduino? [Arduino Débutants] Face à une boîte pleine de composants électroniques, il est facile d'être débordé. Voici un guide pour exactement ce que vous trouverez dans votre kit. Lire la suite :

  • 1 x planche à pain
  • 1 x interrupteur momentané
  • 1 x résistance de 220 ohms
  • Femelle> câbles de saut mâles
  • Homme> Câbles de saut mâles

Voici le circuit:

Pi-Button-Connexion

Cette résistance est appelée une résistance "pull down". Cela aide à s'assurer que ce que le Pi pense est le bouton pressé, c'est vraiment le bouton qui est pressé. Vous n'avez pas à l'utiliser, mais il est recommandé, car vous pouvez trouver beaucoup de bruit et de fausses lectures sans cela.

Le bouton est connecté à la broche GPIO (General Purpose Input Output) 14. Vous pouvez utiliser n'importe quelle broche GPIO, mais regardez d'abord le brochage, car ils ne sont pas tous contrôlables depuis le Pi, et varient légèrement d'un modèle à l'autre.

Maintenant que le bouton est connecté, il est temps de le tester. Créez un nouveau fichier et enregistrez-le sous " button_test.py ". Ajoutez ce code, enregistrez-le puis exécutez-le dans Terminal.

 import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input while True: if GPIO.input(14) == True: # look for button press print "BUTTON WORKS!" # log result time.sleep(0.5) # wait 0.5 seconds 

Appuyez sur Ctrl + C pour arrêter le script. Si tout fonctionne correctement, vous devriez voir "BUTTON WORKS!" Dans le terminal. Remarquez comment, comme le module Minecraft, ce test utilise les modules RPi.GPIO et temporels. Ceux-ci permettent au Pi d'accéder aux broches matérielles et de fournir des fonctions de synchronisation utiles.

Maintenant, finissons le reste du code. Créez un nouveau fichier appelé " super_mine.py ". Voici le code:

 import RPi.GPIO as GPIO import time from mcpi.minecraft import Minecraft mc = Minecraft.create() # create Minecraft Object GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input while True: if GPIO.input(14) == True: # look for button press x, y, z = mc.player.getPos() # read the player position mc.setBlocks(x, y, z, x + 10, y + 10, z + 10, 0) # mine 10 blocks mc.setBlocks(x, y, z, x - 10, y + 10, z - 10, 0) # mine 10 blocks time.sleep(0.5) # wait 0.5 seconds 

mc.player.getPos () renvoie les coordonnées actuelles des joueurs, qui sont ensuite stockées dans x, y et z. La méthode setBlocks () demande à Minecraft de remplir tous les blocs entre le début et la fin avec le bloc suivant. Zéro est le block-id de l'air. Vous pouvez changer cela en un autre identifiant de bloc pour remplir une zone. Vous pouvez également changer les coordonnées à +100 ou même +1000 blocs, mais le Pi peut commencer à se débattre si vous devenez trop fou. Remarquez que y + 10 est le même pour les deux lignes. Vous pourriez changer ceci à y - 10 si vous vouliez enlever des blocs souterrains.

Téléportation

Minecraft-Pi-téléportation

Une autre utilisation simple pour ce bouton pourrait être de "téléporter". Le Minecraft Pi Api fournit un moyen de définir la position du joueur. Le code suivant "téléportera" le lecteur à un emplacement prédéfini:

 mc.player.setPos(0, 0, 0) 

Notez que sa méthode accepte trois paramètres; x, y et z - afin que vous puissiez les définir sur n'importe quoi pour téléporter instantanément le lecteur à cet endroit.

Créez une copie du fichier super_mine ( Fichier> Enregistrer la copie sous ) et modifiez-le en remplaçant le si par le suivant:

 if GPIO.input(14) == True: # look for button press mc.player.setPos(0, 0, 0) # teleport player time.sleep(0.5) # wait 0.5 seconds 

Ce fichier devrait maintenant ressembler à ceci:

 import RPi.GPIO as GPIO from mcpi.minecraft import Minecraft import time mc = Minecraft.create() # create Minecraft Object GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input while True: if GPIO.input(14) == True: # look for button press mc.player.setPos(0, 0, 0) # teleport player time.sleep(0.5) # wait 0.5 seconds 

Enregistrez-le en tant que " teleport.py " et exécutez.

Vous pouvez trouver le joueur coincé à l'intérieur de certains blocs lors de l'utilisation, auquel cas vous devrez ajuster les coordonnées à un espace ouvert connu (le coin supérieur gauche de l'écran montre votre position actuelle).

Construire une maison

Minecraft-Pi-House

Une dernière tâche pour ce bouton est de construire une maison. Tout comme l'exemple de l'extraction rapide ci-dessus, cela remplacera simplement les blocs entourant le joueur pour faire une maison. Différents identifiants de bloc seront utilisés pour différents matériaux (fenêtre, murs, etc.). Pour rendre les choses plus faciles à coder, un bloc solide sera créé, puis l'intérieur sera supprimé (mettre le bloc à l'air), cela créera une coque creuse. Vous pouvez ajouter des extras comme un lit ou une porte, mais le projet Minecraft Pi est un peu incomplet, et bien que ces objets fonctionnent lorsqu'ils sont placés par le joueur, ils ne sont pas brillants lorsque vous utilisez Python.

 from mcpi.minecraft import Minecraft import RPi.GPIO as GPIO import time mc = Minecraft.create() # create Minecraft Object GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input while True: if GPIO.input(14) == True: x, y, z = mc.player.getPos() mc.setBlocks(x + 2, y - 1, z + 2, x + 7, y + 3, z + 8, 5) # make shell mc.setBlocks(x + 3, y, z + 3, x + 6, y + 2, z + 7, 0) # remove inside mc.setBlocks(x + 2, y, z + 5, x + 2, y + 1, z + 5, 0) # make doorway mc.setBlocks(x + 4, y + 1, z + 8, x + 5, y + 1, z + 8, 102) # make window 1 mc.setBlocks(x + 4, y + 1, z + 2, x + 5, y + 1, z + 2, 102) # make window 2 mc.setBlocks(x + 7, y + 1, z + 4, x + 7, y + 1, z + 6, 102) # make window 3 

Enregistrez-le en tant que " house.py " et exécutez. Tout étant bien, vous devriez voir apparaître une petite maison (vous devrez peut-être vous retourner pour le trouver). C'est très simple, une ouverture et quelques fenêtres. En théorie, il n'y a aucune limite à la taille ou à la complexité d'un bâtiment que vous pourriez construire.

Faire un mini-jeu

Minecraft-Pi-Lava-Jeu

Ensuite, faisons un mini-jeu! Ce sera assez simple, quand le joueur marche sur un bloc de sable, il va se transformer en lave après un laps de temps aléatoire. C'est un bon jeu à faire, car vous pouvez concevoir vos propres niveaux ou le modifier pour rendre les choses plus difficiles. Vous n'aurez pas besoin du bouton pour cet exemple.

Créez un nouveau fichier et enregistrez-le sous " mini_game.py ". Voici le code:

 from mcpi.minecraft import Minecraft import random import time mc = Minecraft.create() # create Minecraft Object while True: x, y, z = mc.player.getPos() block_under_player = mc.getBlock(x, y - 1, z) if block_under_player == 12: # player standing on sand, start the timer random_time = random.uniform(0.1, 2.5) # generate random number time.sleep(random_time); # wait mc.setBlock(x, y - 1, z, 11) # turn it into lava 

Ce code est un bon début sur la fonction random () : random.uniform (0.1, 2.5) va générer un nombre aléatoire entre 0.1 (1 / 10ème seconde) et 2.5 (2 1/2 secondes). Augmenter ces nombres rendra le jeu plus facile.

Essaye le! Debout sur un bloc de sable, il va bientôt se transformer en lave. Cela pourrait être la base d'un jeu plus complexe.

Faire un autre mini-jeu

Minecraft-Pi-Mini-Jeu

La prémisse pour ce jeu est simple - ne pas être debout sur le plancher de bois quand le temps s'épuise. Le joueur est téléporté dans une "arène". Ils sont obligés de rester immobiles jusqu'à ce que le jeu commence. Une fois démarré, le plancher se mettra à l'eau une fois le temps écoulé. Le joueur doit se tenir dans la zone de sécurité (blocs de diamant) pour survivre. Chaque niveau réduit la minuterie d'une seconde. Après chaque niveau réussi, la zone de sécurité devient plus grande. Découvrez le code ci-dessous:

 import time import random from mcpi.minecraft import Minecraft mc = Minecraft.create() # create Minecraft Object # clear area mc.setBlocks(-10, 1, -10, 25, 5, 25, 0) # create arena shell mc.setBlocks(0, 0, 0, 25, 10, 25, 17) # hollow out arena mc.setBlocks(1, 1, 1, 24, 10, 24, 0) # move player to arena mc.player.setPos(14, 25, 20) # teleport player # make them stay put # teleport player to start position every 1/10th second. # do this for 5 seconds then start the game time.sleep(2) total_wait = 0 mc.postToChat("Waiting to Start") while total_wait< 5: mc.player.setPos(14, 1, 20) # teleport player time.sleep(0.1) total_wait += 0.1 mc.postToChat("BEGIN!") # 10 levels for level in range(10): x, y, z = mc.player.getPos() level_time = 10 - level # reduce time by 1 second for each level mc.postToChat("Level - " + str(level + 1) + " start") # build floor mc.setBlocks(0, 0, 0, 25, 0, 25, 17) # make safe area safe_area_start = random.uniform(0, 22) safe_area_end = random.uniform(0, 22) mc.setBlocks(safe_area_start, 0, safe_area_end, safe_area_start + level, 0, safe_area_end + level, 57) elapsed_time = 0 while elapsed_time< 10: x, y, z = mc.player.getPos() time.sleep(0.25) elapsed_time += 0.25 # check player is still on floor if y< 0.75: mc.postToChat("Game Over") break; else: # remove floor mc.setBlocks(-10, 0, -10, 25, 0, 25, 8) # put safe area back mc.setBlocks(safe_area_start, 0, safe_area_end, safe_area_start + level, 0, safe_area_end + level, 57) time.sleep(2.5) continue break 

Enregistrez-le en tant que " mini_game_2.py " et lancez-le.

Le Pi 2 a quelques problèmes de performance lors de l'exécution de Minecraft. Le graphique d'utilisation de l'unité centrale de traitement (CPU) ( coin supérieur droit ) ne montre aucune charge importante, ce qui doit être dû à une mauvaise conception et à des optimisations par les développeurs. Ces problèmes ne sont pas liés à l'exécution du code (car ils continuent lorsque Python n'est pas en cours d'exécution), mais ils sont aggravés par ce mini-jeu. Si votre Pi est vraiment en difficulté, vous voudrez peut-être réduire la taille de l'arène ou overclocker votre Pi Pas assez de jus? Pressez votre Raspberry Pi en Overclocking pas assez de jus? Squeeze Your Raspberry Pi By Overclocking S'il y a du matériel sorti en 2012 dont vous êtes susceptible de tomber amoureux, c'est le Raspberry Pi, un mini-ordinateur conçu et fabriqué au Royaume-Uni qui a été expédié tout autour. .. Lire la suite .

Détecteur de diamant

Minecraft-Pi-Diamonds

Faisons un autre circuit. Cela va utiliser une diode électroluminescente (LED) pour s'allumer quand il y a des diamants en dessous (dans les 15 blocs). Voici ce dont vous avez besoin:

  • 1 x planche à pain
  • 1 x LED
  • 1 x résistance de 220 ohms
  • Femelle> câbles de saut mâles
  • Homme> Câbles de saut mâles

Voici le circuit:

Pi-LED-Connexion

Connectez l'anode (jambe longue) à la broche GPIO 14. Cette broche agit comme + 5v. Connectez la cathode (jambe courte) à la terre.

J'ai utilisé un jouet de minerai bon marché et l'ai modifié en enlevant la couverture arrière et l'électronique, j'ai alors placé une LED dessous. Vous pourriez facilement faire ce permanent avec de la colle chaude ou quelque chose de similaire.

Minecraft-Ore-Jouet

Enregistrez ce code en tant que " diamonds.py ":

 import RPi.GPIO as GPIO import time from mcpi.minecraft import Minecraft mc = Minecraft.create() # create Minecraft Object led_pin = 14 # store the GPIO pin number GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use GPIO.setup(14, GPIO.OUT) # tell the Pi this pin is an output while True: # repeat indefinitely x, y, z = mc.player.getPos() for i in range(15): # look at every block until block 15 if mc.getBlock(x, y - i, z) == 56: GPIO.output(led_pin, True) # turn LED on time.sleep(0.25) # wait GPIO.output(led_pin, False) # turn LED off time.sleep(0.25) # wait 

Quand il y a un bloc de minerai de diamant sous le joueur (dans les 15 blocs) la lumière clignotera.

Pensez Geek Minecraft Light-Up Diamond Ore Pensez Geek Minecraft Light-Up Diamond Ore Achetez maintenant chez Amazon $ 12.89

Avez-vous fait quelque chose de cool avec Minecraft Pi? Faites-moi savoir dans les commentaires ce que vous avez fait ou jusqu'où vous l'avez fait dans les jeux.

In this article