Apprendre le python et l'électronique avec Minecraft Pi Edition

Apprendre le python et l'électronique avec Minecraft Pi Edition / DIY

Vous avez toujours voulu apprendre à coder mais vous ne savez pas par où commencer? Apprenez à contrôler Minecraft sur le Raspberry Pi à l’aide de Python et de quelques appareils électroniques simples. 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 une ligne de commande via Secure Shell (SSH), ce tutoriel se concentrera sur le codage direct sur le Pi..

Carte mère Raspberry Pi 3 Modèle B Carte mère Raspberry Pi 3 Modèle B Acheter maintenant chez Amazon

Nouveau sur Minecraft? Ne vous inquiétez pas - voici notre guide du débutant de Minecraft Le Guide du débutant de Minecraft (Latecomer) Le Guide du débutant de Minecraft (Latecomer) Si vous êtes en retard à la fête, ne vous inquiétez pas - ce guide complet pour débutant vous couvre. Lire la suite .

Introduction à Minecraft Pi

Minecraft pour le Raspberry Pi a été développé pour l'apprentissage et le bricolage (et c'est gratuit). Il est livré avec une interface de programmation d'application (API) qui permet au code de communiquer facilement avec Minecraft. C'est génial d'apprendre à coder en Python et à se familiariser avec l'électronique. Débutant électronique: 10 compétences que vous devez connaître Électronique pour débutant: 10 compétences que vous devez connaître Nous sommes nombreux à n'avoir jamais touché à un fer à souder. incroyablement enrichissant. Voici dix des compétences de base en é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 tout d'abord effectuer un petit travail sur le fichier. Les inconvénients sont qu'il peut être considéré comme lent par rapport aux langages compilés.

Les avantages des langages interprétés sont la rapidité de codage et leur convivialité. Vous n'avez pas besoin de dire à l'ordinateur quoi données que vous voulez stocker, juste que vous voulez stocker quelque chose et l'ordinateur déterminera quoi faire. Il y a des exceptions, bien sûr, et c'est une vue un peu simplifiée, mais programmer devrait être amusant! 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 orthographiés correctement si le cas est faux. “Faire quelque chose()” ne fonctionnera pas si la méthode est effectivement appelée “Faire quelque chose()”. Python utilise également l'indentation. D’autres langages de programmation peuvent ne pas se soucier du nombre d’indentations de votre code, alors que Python Est-ce que se soucier. Les retraits sont utilisés pour indiquer à Python à quel code appartient. D'autres langues peuvent utiliser “Accolades” () pour regrouper le code - Python ne les utilise pas. Python utilise un hachage (#) pour les commentaires, et les commentaires sont utilisés pour indiquer aux autres développeurs ou aux personnes qui consultent le code ce qu'une partie particulière fait ou pourquoi elle est nécessaire. Python ignore quoi que ce soit 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

Comment installer votre système d’exploitation sur votre Raspberry Pi Comment installer un système d’exploitation sur votre Raspberry Pi Voici comment installer un nouveau système d’exploitation sur votre Pi - et comment cloner votre configuration parfaite pour la reprise après sinistre rapide. Lire la suite, il n'y a pas beaucoup de configuration initiale nécessaire.

Terminal ouvert (Menu> Accessoires> Terminal) et lancez cette commande. Il est toujours bon de garder la liste du référentiel à jour, et cela téléchargera la liste la plus récente des programmes (cela ne téléchargera pas les programmes eux-mêmes, cela aidera 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 peu de temps):

sudo apt-get upgrade 

Python et Minecraft Pi sont déjà installés. Cependant, si Minecraft Pi n’est pas installé pour quelque raison que ce soit, il est simple d’installer 5 façons d’installer un logiciel sur Raspberry Pi. 5 façons d’installer un logiciel sur Raspberry Pi. besoin de savoir comment installer un système d’exploitation et des logiciels pour l’exécuter. Si vous êtes nouveau sur Linux, cela peut être décourageant. Lire la suite :

sudo apt-get installez 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 un conseil: si vous commencez à taper et appuyez sur la touche de tabulation, la ligne de commande tentera de compléter automatiquement l'instruction à votre place..

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

pwd

Commencez Minecraft en allant à Menu> Jeux> Minecraft Pi. Vous aurez besoin de cette course, 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..

Vous pouvez maintenant saisir vos commandes Python ici, mais ce n’est pas très pratique. Aller à Fichier> Nouveau fichier et alors Fichier> Enregistrer et enregistrez-le dans le dossier que vous avez créé précédemment. (Documents> Minecraft). Appelons ça “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

Remarquez comment “python” est tout en minuscule. Cela doit être avant le nom du fichier, car il indique au Pi que le fichier suivant est Python, il doit donc être exécuté tel quel..

Revenez dans l'éditeur Python et tapez:

print "Bonjour le monde!"

Enregistrez ce fichier et exécutez-le à nouveau - vous devriez maintenant voir “Bonjour le monde!” apparaissent dans la ligne de commande - soignée! La commande print indique simplement à Python de produire le texte suivant entre guillemets. C’est bien, mais pas très utile pour Minecraft, relions-le:

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

Maintenant, si vous enregistrez et exécutez ce fichier, vous devriez voir “Bonjour le monde!” apparaissent dans le jeu Minecraft. Décomposons le code:

de mcpi.minecraft importer Minecraft

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

mc = Minecraft.create ()

Cette ligne crée un objet appelé “mc” (Minecraft). Vous devez créer ceci pour permettre la communication avec le jeu 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 “Bonjour le monde!” à quelque chose d'autre et voir ce qui se passe, mais n'oubliez pas d'inclure les deux guillemets. Si vous rencontrez des problèmes logiciels, voici quelques erreurs courantes dans Python et Minecraft Pi:

  • AttributeError - il s'agit d'une faute de frappe, telle que pint ou prnt au lieu de print
  • 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, passez à “Vrai”
  • 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 de Minecraft, faisons des projets intéressants. Tous les codecs peuvent être téléchargés à partir de Github.

Constructeur de ponts automatisé

Ce programme construira effectivement un pont au-dessus de l'eau. Lorsque le joueur s'approchera d'un plan d'eau, le programme convertira plusieurs blocs en pierre. Comme Minecraft utilise un système de coordonnées, il est très facile d’obtenir la localisation du joueur, ainsi que le type de blocs autour du joueur. Minecraft Pi est légèrement limité, il est donc impossible de mettre à jour plusieurs blocs différents en bloc. Vous pouvez facilement coder ce comportement vous-même, cependant.

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

depuis mcpi.minecraft import Minecraft mc = Minecraft.create () # crée un objet Minecraft en tant que True: x, y, z = mc.player.getPos () # magasin position du joueur # stocke les blocs environnants 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) si a == 8 ou a == 9 ou b == 8 ou b == 9 ou c == 8 ou c == 9 ou d == 8 ou d == 8 ou d == 9: # 8 ou 9 est de l'eau. Placez les blocs environnants sur le sol sur un solide (pierre) si vous trouvez de l’eau 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. Il s’agit du niveau du sol. Si la valeur de y était utilisée, le script chercherait des blocs au niveau du genou environ - cela ne fonctionnerait pas très bien! Mc.getBlock () retourne l'id d'un bloc pour les coordonnées données. Comme x, y et z sont les coordonnées du joueur, vous pouvez les ajouter ou les soustraire pour obtenir des positions autour du joueur. Vous n'êtes pas obligé d'utiliser les valeurs x, y et z, vous pouvez utiliser n'importe quel nombre, mais vous pouvez ne pas savoir comment ce bloc se rapporte au lecteur. Il est préférable d'utiliser des valeurs relatives au lecteur. Exécutez ce fichier à partir de la ligne de commande et voyez ce qui se passe.

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

Bouton Super Mining

Cet exemple fera du travail minier. Il consiste en un bouton physique qui, une fois pressé, extraira 10 blocs en cubes. Commençons par le bouton. Semblable à des boutons sur l’Arduino, vous aurez besoin d’une petite quantité d’électronique, que vous devriez trouver dans un kit de démarrage de base. Que contient votre kit de démarrage Arduino? [Débutants Arduino] Que contient votre kit de démarrage Arduino? [Débutants Arduino] Face à une boîte remplie de composants électroniques, il est facile de se sentir dépassé. Voici un guide pour exactement ce que vous trouverez dans votre trousse. Lire la suite :

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

Voici le circuit:

Cette résistance s'appelle un “tirer vers le bas” résistance. Cela aide à s'assurer que ce que le Pi pense être le bouton enfoncé, est vraiment le bouton enfoncé. Vous n'êtes pas obligé de l'utiliser, cependant il est recommandé, car vous pouvez trouver beaucoup de bruit et de fausses lectures sans cela.

Le bouton est connecté à la broche 14 de la fonction d’entrée de sortie tout usage (GPIO). Vous pouvez utiliser n’importe quelle broche GPIO. Cependant, examinez d’abord le brochage, car ils ne sont pas tous contrôlables à partir du 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 “bouton_test.py“. Ajoutez ce code, enregistrez-le puis exécutez-le dans Terminal.

import RPi.GPIO en tant que GPIO temps d'importation GPIO.setmode (GPIO.BCM) # indique au Pi quels en-têtes utiliser GPIO.setup (14, GPIO.IN) # indique au Pi que cette broche est une entrée tant que True: si GPIO.input (14) == True: # cherchez une pression sur le bouton print "BUTTON WORKS!" # log result time.sleep (0.5) # attend 0.5 secondes 

presse Contrôle + C arrêter le script. Si tout fonctionne correctement, vous devriez voir “BOUTON FONCTIONNE!” dans le terminal. Notez que, comme le module Minecraft, ce test utilise les modules RPi.GPIO et time. Ceux-ci permettent au Pi d’accéder aux broches matérielles et fournissent des fonctions de minutage utiles.

Terminons maintenant le reste du code. Créer un nouveau fichier appelé “super_mine.py“. Voici le code:

importer RPi.GPIO en tant que temps d'importation GPIO à partir de mcpi.minecraft importer Minecraft mc = Minecraft.create () # créer un objet Minecraft GPIO.setmode (GPIO.BCM) # indiquer au Pi quels en-têtes utiliser GPIO.setup (14, GPIO.IN ) # indique au Pi que cette broche est une entrée alors que True: if GPIO.input (14) == True: # cherche le bouton enfoncé x, y, z = mc.player.getPos () # lit la position du joueur mc.setBlocks (x, y, z, x + 10, y + 10, z + 10, 0) # mine 10 blocs mc.setBlocks (x, y, z, x - 10, y + 10, z - 10, 0) # mine 10 blocs time.sleep (0.5) # attendez 0.5 secondes 

mc.player.getPos () renvoie les coordonnées actuelles des joueurs, qui sont ensuite stockées dans x, y et z. le setBlocks () méthode indique à Minecraft de remplir tous les blocs entre le début et la fin avec le bloc suivant. Zero est l'identifiant de bloc pour l'air. Vous pouvez changer ceci en un autre identifiant de bloc pour remplir de manière continue une zone. Vous pouvez aussi changer les coordonnées en +100 voire +1000 blocs, mais le Pi peut commencer à avoir du mal si vous devenez trop fou. Notez que y + 10 est identique pour les deux lignes. Vous pouvez changer ceci en y - 10 si vous voulez enlever des blocs sous terre.

Téléportation

Une autre utilisation simple de ce bouton pourrait être de “téléporter”. Minecraft Pi Api permet de définir la position du joueur. Le code suivant sera “téléporter” le joueur à un emplacement prédéfini:

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

Notez que sa méthode accepte trois paramètres. x, y et z - vous pouvez donc les paramétrer de n'importe quelle manière pour téléporter instantanément le lecteur à cet emplacement.

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

si GPIO.input (14) == True: # cherche le bouton, appuyez sur mc.player.setPos (0, 0, 0) # teleport player time.sleep (0.5) # attendez 0.5 secondes 

Ce fichier devrait maintenant ressembler à ceci:

importer RPi.GPIO en tant que GPIO à partir de mcpi.minecraft import importer heure d'importation Minecraft mc = Minecraft.create () # créer un objet Minecraft GPIO.setmode (GPIO.BCM) # indiquer au Pi quels en-têtes utiliser GPIO.setup (14, GPIO.IN ) # indique au Pi que cette broche est une entrée alors que True: if GPIO.input (14) == True: # cherche un bouton, mc.player.setPos (0, 0, 0) # teleport player time.sleep (0.5) # attendez 0.5 secondes 

Enregistrez-le sous “teleport.py” et courir.

Vous remarquerez peut-être que le joueur reste coincé à l'intérieur de certains blocs lorsqu'il l'utilise, auquel cas vous devrez ajuster les coordonnées à un espace libre connu (le coin supérieur gauche de l'écran indique votre position actuelle)..

Construire une maison

Une dernière tâche pour ce bouton est de construire une maison. Un peu comme dans l'exemple ci-dessus, cela remplacera simplement les blocs entourant le joueur pour en 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 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 lecteur, ils ne sont pas brillants lors de l'utilisation de Python..

depuis mcpi.minecraft import Minecraft import RPi.GPIO en tant que durée d’importation GPIO mc = Minecraft.create () # crée un objet Minecraft GPIO.setmode (GPIO.BCM) # indique au Pi quels en-têtes utiliser GPIO.setup (14, GPIO.IN ) # indique au Pi que cette broche est une entrée alors que 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) # supprimer à l'intérieur de 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 

Enregistrer ceci sous “house.py” et courir. Tout va bien, vous devriez voir apparaître une petite maison (vous devrez peut-être faire demi-tour pour la trouver). C'est très simple, une ouverture et des fenêtres. En théorie, il n'y a pas de limite à la taille ou à la complexité d'un bâtiment que vous pourriez construire.

Faire un mini jeu

Ensuite, faisons un mini-jeu! Ce sera assez simple, lorsque le joueur marchera sur un bloc de sable, celui-ci se transformera 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:

à partir de mcpi.minecraft import Minecraft import import heure aléatoire - mc = Minecraft.create () # crée un objet Minecraft avec True: x, y, z = mc.player.getPos () block_under_player = mc.getBlock (x, y - 1, z ) si block_under_player == 12: # joueur debout sur le sable, lance le chronomètre random_time = random.uniform (0.1, 2.5) # génère un nombre aléatoire time.sleep (random_time); # attendez mc.setBlock (x, y - 1, z, 11) # transformez-le en lave 

Ce code est une bonne entrée sur le au hasard() une fonction: aléatoire.uniforme (0.1, 2.5) générera un nombre aléatoire compris entre 0.1 (1/10 de seconde) et 2.5 (2 1/2 secondes). Augmenter ces chiffres rendra le jeu plus facile.

Essaye le! Tenez-vous sur un bloc de sable et il se transformera bientôt en lave. Cela pourrait être la base d'un jeu plus complexe.

Faire un autre mini-jeu

Le principe de base de ce jeu est simple: ne restez pas sur le plancher en bois lorsque le temps imparti sera écoulé. Le joueur se téléporté dans un “arène”. Ils sont obligés de rester immobiles jusqu'à ce que le jeu commence. Une fois démarré, le sol se changera en eau une fois le temps écoulé. Le joueur doit être dans la zone de sécurité (blocs diamantés) pour survivre. Chaque niveau réduit la minuterie d'une seconde. Après chaque niveau réussi, la zone de sécurité s'agrandit. Découvrez le code ci-dessous:

import time import import random from mcpi.minecraft import Minecraft mc = Minecraft.create () # crée un objet Minecraft # zone dégagée mc.setBlocks (-10, 1, -10, 25, 5, 25, 0) # crée un aréna coquille mc. setBlocks (0, 0, 0, 25, 10, 25, 17) # évider l’arène mc.setBlocks (1, 1, 1, 24, 10, 24, 0) # déplacer le joueur dans l’arène mc.player.setPos (14 , 25, 20) # joueur de téléport # les oblige à rester # joueur de téléport pour commencer la position toutes les 1 / 10ème de seconde. # faire ceci pendant 5 secondes puis commencer le jeu time.sleep (2) total_wait = 0 mc.postToChat ("Waiting to Start") pendant que 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 

Enregistrer ceci sous “mini_game_2.py” et donnez-lui une course.

Le Pi 2 a quelques problèmes de performances lors de l'exécution de Minecraft. Le graphique d'utilisation de l'unité centrale (CPU) (le coin supérieur droit) ne présente jamais de charge lourde, ce qui doit donc être attribué à une conception médiocre et aux optimisations des développeurs. Ces problèmes ne sont pas liés à l'exécution de code (car ils persistent 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 jus Pi Not Enough? Presser votre Raspberry Pi en overclockant pas assez de jus? Squeeze Your Raspberry Pi par Overclocking Si vous êtes susceptible de tomber amoureux de tout matériel publié en 2012, c'est bien celui du sucré-comme-le-sucre Raspberry Pi, un mini-ordinateur conçu et fabriqué au Royaume-Uni qui… Lire la suite .

Détecteur de diamant

Faisons un autre circuit. Cela utilisera une diode électroluminescente (DEL) pour s’allumer quand il y a des diamants 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 jonction mâles
  • Mâle> Câbles de jonction mâles

Voici le circuit:

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

J'ai utilisé un jouet à minerai bon marché et l'ai modifié en retirant le capot arrière et les composants électroniques. J'ai ensuite placé une LED en dessous. Vous pourriez facilement faire ce permanent avec de la colle chaude ou quelque chose de similaire.

Enregistrez ce code sous “diamonds.py“:

importer RPi.GPIO en tant que temps d'importation GPIO depuis mcpi.minecraft import Minecraft mc = Minecraft.create () # create Objet Minecraft led_pin = 14 # stocke le numéro d'identification personnel GPIO GPIO.setmode (GPIO.BCM) # indique au Pi ce que les en-têtes doivent utiliser GPIO.setup (14, GPIO.OUT) # indique au Pi que cette broche est une sortie alors que True: # répète indéfiniment x, y, z = mc.player.getPos () pour i dans la plage (15): # regarde chaque bloquer jusqu'au bloc 15 si mc.getBlock (x, y - i, z) == 56: GPIO.output (led_pin, True) # allume le voyant time.sleep (0.25) # wait GPIO.output (led_pin, False) # éteindre la LED time.sleep (0.25) # wait 

Lorsqu'il y a un bloc de minerai de diamant sous le lecteur (dans les 15 blocs), le voyant clignote.

Minerai de diamant Blue Stone Light-Up de ThinkGeek - Assurez-vous de garder Pigmen loin de vous Minerai de diamant Blue Stone Light-Geek de Minecraft - Assurez-vous de garder Pigmen loin de chez vous Acheter maintenant chez Amazon 31,99 $

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

En savoir plus sur: Electronique, Minecraft, Programmation, Python, Raspberry Pi.