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

  • Owen Little
  • 0
  • 5251
  • 572
Publicité

Vous avez toujours voulu apprendre à coder sans savoir 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..

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 a couvert. .

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. .

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 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 un système d'exploitation sur un Raspberry Pi Comment installer un système d'exploitation sur un Raspberry Pi Voici comment installer un système d'exploitation sur votre Raspberry Pi et comment cloner votre configuration parfaite pour une récupération après sinistre rapide . , il n’ya 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 une raison quelconque, il est simple d’installer 5 manières d’installer un logiciel sur Raspberry Pi. 5 manières d’installer un logiciel sur Raspberry Pi. 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. :

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 signifie 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. Minecraft utilisant 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 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 avec True: x, y, z = mc.player.getPos () # stocke la 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 == 9 ou d == 9: n ° 8 ou 9 est de l'eau. Fixez les blocs environnants au 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 ne savez peut-être pas 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 va faire 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, qui devrait tous se trouver dans un kit de base. Contenu de 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. :

  • 1 x planche à pain
  • 1 x interrupteur momentané
  • 1 x résistance de 220 ohms
  • Femelle> câbles de jonction mâles
  • Homme> 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.

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 un 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 configurer 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 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 plusieurs 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 blocs 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:

depuis mcpi.minecraft importation Minecraft importation aléatoire heure d'importation 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 est 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 debout 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é 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 # efface la zone mc.setBlocks (-10, 1, -10, 25, 5, 25, 0) # crée un aréna shell 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éporteur 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 à des optimisations de la part des développeurs. Ces problèmes ne sont pas liés au code en cours d’exécution (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 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 Raspberry Pi, un mini ordinateur conçu et fabriqué au Royaume-Uni qui… .

Détecteur de diamant

Faisons un autre circuit. Cela utilisera une diode électroluminescente (LED) 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
  • Homme> 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 à partir de 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 quels en-têtes 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 

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

Avez-vous créé 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.




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.