Python coding for Minecraft (5 / 15 étapes)

Étape 7: Pointe axée sur la tortue dessin

En utilisant les méthodes left(), right(), up() et down() pour la tortue est facile. Mais pour certains dessins, il faut plus sophistiqué de contrôle 3D. Par exemple, vous pouvez dessiner un beignet incliné de 45 degrés vers le haut. Il est tentant de prendre le script de beignet de verre à l’étape précédente et ajoutez avant la boucle :

Mais qui produit un résultat inattendu--Voir la photo. La raison en est que la tortue va être grimper sur tout le temps, tandis que la méthode d.left(), il tourne autour de l’axe vertical, et afin que vous obteniez une spirale.

Au lieu de cela, ce que nous devons faire est rotatins lacet/tangage/roulis de la tortue. Voir l’image de la NASA (les œuvres du gouvernement américain sont du domaine public) expliquant comment les trois angles, allez et justes imaginent que l’avion est votre tortue. (Malheureusement, en raison des limitations de Minecraft, l’angle de roulis n’affecte pas l’apparence de la tortue ou le point de vue d'où vous consultez.) Ce que nous devons faire pour dessiner notre beignet sur le côté, c’est tout d’abord rouler notre tortue de 45 degrés avec t.roll(45), et puis quand le beignet de dessin utilisez t.yaw(-angle) au lieu de t.left(angle). La version révisée du code est dans la capture d’écran.

Ce qui est agréable sur les rotations de lacet/tangage/roulis, c’est qu’ils sont toujours par rapport à où la tortue est orientée, tandis que left() et right() sont relatifs au monde de Minecraft.

Enfin, voici un exemple beaucoup plus avancé. Nous allons dessiner un arbre. Cela consiste à faire une fonction récursive. Commencez par cela pour s’assurer que le dessin est fait aussi vite que possible

Maintenant, nous faisons notre fonction d’arborescence récursive. L’idée de base derrière tout cela, c’est qu’une branche est juste un arbre plus petit. Donc, nous faire une fonction qui prend un compteur et une longueur de branche. Le compteur indique le nombre d’itérations l’arbre va aller. Par exemple, compteur = 1 signifie juste le tronc sera établi, et compteur = 1 signifie le tronc et un ensemble de branches seront tirés au sort.

Tout d’abord, le code vérifie si notre compteur est déchargée à zéro. Dans l’affirmative, nous n’avons rien dessiner. Ensuite, nous attirons un tronc. Alors nous tirer quatre branches qui sort elle avec une simple boucle. Pour concevoir ce morceau de code, j’ai juste m’imaginer comme la tortue, après avoir remonté tout le long du tronc. Pour dessiner une branche, j’ai soulever mon auto de 30 degrés (p. ex., t.pitch(30)) et dessiner un nouvel arbre de plus petite taille : son compteur est inférieur par l’un, et son tronc sera 3/4 de la longueur de ma Malle actuel. Je pense que tilt moi-même vers le bas de 30 degrés. Je me tourne de 90 degrés et répétez l’exercice. Enfin, une fois que j’en ai fini avec les branches, je reviens vers le bas du tronc.

Enfin, j’ai juste besoin d’appeler ce code. Je ferai un arbre avec un comptoir de 6 et une longueur de branche initiale de 20. Et pour faire bonne mesure, I'l faire en bois et bien sûr verticalement vers le haut :

Cet arbre fractal ne semble pas très réaliste. Nous devrions faire le tronc épais et les branches se diluant et diluant car ils vont vers l’extérieur (dire, obtenir deux fois moins épais, jusqu'à ce qu’ils atteignent un seul bloc), et nous devrions passer du bois à des blocs de feuilles que nous sortons. Mais surtout, vrais arbres ne sont pas autrement ordinaires. Il faut peu d’aléatoire. La forme la plus simple de l’aléatoire est juste de donner à chaque branche une chance de ne pas avoir à se développer, par exemple 20 % de chance. J’ai mis en place tout cela dans mon script de fancytree.py. L’arbre qui en résulte ressemble étonnamment réaliste pour quelque chose produite par un tel morceau de code relativement simple. Un effet secondaire drôle de comment j’ai implémenté c’est qu’il y a 20 % de chance que rien ne sera tiré--c'est-à-dire, l’arbre a une chance de ne pas avoir à se développer, qui est aussi réaliste. Et chaque fois que vous exécutez le script, vous obtenez quelque chose de différent.

Une autre fonctionnalité utile de la classe de dessin de tortue est d’être capable d’attirer non seulement des lignes mais des surfaces polygonales. Pour ce faire, juste faire t.startface(), dessiner votre surface et puis ne t.endface(). Une fois que vous êtes en mode face, chaque fois que vous dessinez une ligne, le code dessine en fait un triangle : un vertex est le point de la tortue était quand t.startface() a été appelée et la ligne est le bord opposé. Cela dessine un pentagone incliné sur le côté de 45 degrés :

			
          

Articles Liés

Python codant pour Android Minecraft PE

Python codant pour Android Minecraft PE

La version de Raspberry PI de Minecraft permet vous script en Python, faire des dessins de fractale, dessins, graphiques de la tortue, jeux simples, etc.. La même chose peut être faite sur une version de bureau avec mon Mod de confiture de framboise
Real World Minecraft

Real World Minecraft

Nous avons tous savoir Minecraft est un jeu génial et Raspberry Pi rend plus impressionnant. Avec l'API de Minecraft nous pouvons maintenant écrire des scripts python simple interface lire les capteurs du monde et des boutons pour le monde de Minecra
Smart Garage alimenté par pcDuino

Smart Garage alimenté par pcDuino

vous combien de fois avez chassés de la maison et je me demandais si vous avez fermé votre garage ou pas ?Ici, nous présenterons un garage smart, propulsé par pcDuino. Le garage vous avertit par courrier si la porte du garage est ouverte. Si vous l'e
IRToWebThingy : Télécommande pour adaptateur WiFi IR avec ESP8266

IRToWebThingy : Télécommande pour adaptateur WiFi IR avec ESP8266

J'ai fait un IRToWebThingy qui lit les codes de la télécommande infrarouge de la commune (et certains pas si fréquent) et les rend disponibles pour tous les périphériques sur le réseau WiFi local donc vous pouvez scripts diverses choses. Par exemple,
Spidering un site Ajax avec un formulaire de connexion asynchrone

Spidering un site Ajax avec un formulaire de connexion asynchrone

le problème : Spidering outils ne permettent pas l'authentification AJAX login.Cette instructable va vous montrer comment se connecter à travers un formulaire AJAX en utilisant Python et un module appelé Mechanize.Les araignées sont des programmes d'
Indicateur de giration de vélos du couvercle de sac à dos

Indicateur de giration de vélos du couvercle de sac à dos

Ce projet a été créé au cours du CCA roue bien Design Sprint qui visait à rendre les cyclistes plus visibles pour les véhicules sur la route. J'ai utilisé un matériau que j'ai déjà eu ce qui était une housse de pluie sac à dos. Le post complet sur le
Raspberry Pi et un peu à ce sujet

Raspberry Pi et un peu à ce sujet

Dans ce instructable je vais vous expliquer ce qu'un pi framboise est et un peu à ce sujet. Aussi quels projets vous pouvez faire à ce sujet.Étape 1: Ce qui est un Pi de framboise ?Le Raspberry Pi est un coût bas, ordinateur qui se branche sur un écr
Cours camp d’été sur le codage de Python avec Minecraft

Cours camp d’été sur le codage de Python avec Minecraft

L'été dernier, j'ai enseigné un mini-cours camp été 1.5-heures par jour 5 jours sur programmation Python avec Minecraft pour enfants doués dans le cadre de l'Université de Baylor for Young People. La plupart des enfants étaient une partie du projet d
Star Wars et Star Trek dans Minecraft avec Raspberry Jam Mod

Star Wars et Star Trek dans Minecraft avec Raspberry Jam Mod

Je vais vous expliquer comment restituer a facilement Star Wars et Star Trek (et autres) de modèles 3D dans Minecraft et (b) voler un vaisseau spatial dans Minecraft (ou même une autre entité, comme une chauve-souris ou un zombie, il ont voler!), en
Création de mods serveur Minecraft Spigot

Création de mods serveur Minecraft Spigot

Serveurs de Minecraft sont impressionnantes. Ils vous permettent de construire des amis à travers le monde, parlent avec les gens et perdre son temps à tous le manchon de commandes tous les plugins qui sont disponibles à cette fin. Si vous souhaitez
Programmation Python : Partie 1 - bases

Programmation Python : Partie 1 - bases

Python est un langage de programmation généraliste, de haut niveau largement utilisé. Sa philosophie de conception met l'accent sur la lisibilité du code, et sa syntaxe permet aux programmeurs d'exprimer des concepts en moins de lignes de code que po
Modèle de Steve Minecraft ! w / poitrine Double Bonus !

Modèle de Steve Minecraft ! w / poitrine Double Bonus !

Mon petit frère est un grand fan de Minecraft et Noël est à venir, alors j'ai pensé au lieu d'acheter un Minecraft associé présent, pourquoi ne pas lui faire un cadeau de Minecraft ? Ma réponse a été de faire un modèle de Steve !Ce modèle est assez s
Arbre de 8 bits en carton - dans le style de MineCraft

Arbre de 8 bits en carton - dans le style de MineCraft

Arbres de MinecraftPlus tôt cette année deux passionnés de Minecraft merveilleusement créatives se sont mariés à la Game Developers Conference (GDC) et voulaient pleine tailles arbres de Minecraft-style de décoration. Je voulais partager avec vous to
Faire un toutou Wither de Minecraft

Faire un toutou Wither de Minecraft

est ce chanceux peu anniversaire garçon/Minecraft monstre tenant premier Wither toutou du monde ? Bien que très improbable, il est possible... Vous voulez savoir quoi d'autre est possible ? La possibilité de créer votre propre. Dans ce Instructable j