Python coding for Minecraft (6 / 17 stap)

Stap 6: Eenvoudige schildpad gebaseerde tekening


Een bijzonder eenvoudige manier om zich te vestigen in Minecraft is het gebruik van een schildpad-gebaseerd systeem. Ik maakte een zeer eenvoudige schildpad klasse (geïnspireerd door Martin O'Hanlon de MinecraftTurtle klasse, maar worden ontworpen voor stand-alone gebruik) die ik ben van plan om deze zomer naar het midden - en hoge-scholieren kennismaken met Minecraft python scripting gebruiken.

Een Minecraft wereld in de creatieve modus opstarten, en maak uw speler vliegen (dubbel-kraan van de spatiebalk). Initialiseer het script met:

(Ik verpakt alle Minecraft verbinding code binnen de klasse van de schildpad en het brengt ook wiskunde in de naamruimte voor gemak.) U kunt nu het doen van dingen zoals t.go(15) te trekken een lijn, terwijl de bewegende blokken van 15 naar voren, t.right(45) 45 graden naar rechts, t.down(30) 30 graden draaien, draaien en dus eenvoudig afbeeldingen tekenen.

U verplaatsen met de schildpad als het trekt, dat is leuk, en de schildpad waar de speler is begint, wijzen horizontaal.

U kunt bijvoorbeeld een horizontale vierkant met tekenen:

Jij een ster 7-zijdige door te doen:

zeven keer. Of gewoon eens in een lus:

U kunt materialen met penblock(). Bijvoorbeeld, een gouden verticale ster:

En u kunt de penbreedte met penwidth(x). Bijvoorbeeld, trekt dit een zeer simpele glazen donut (eigenlijk een verdikte 90-gon, maar wie kan vertellen het verschil?):

Hier zijn alle methoden beschikbaar:

  • go(x): verplaatsen x blokken vooruit (tekening als pen neer)
  • back(x): zet x blokken achteruit (tekening als pen neer)
  • penup(): pauze tekening tekening hervatten
  • left(angle): linksom door hoek (in graden)
  • right(angle): rechts door hoek (in graden) draaien
  • up(angle): draaien omhoog door hoek (in graden); Beginners moeten niet Meng de links/rechts en omhoog/omlaag rotaties of ze kunnen onverwachte resultaten krijgen (technische opmerking: hetzelfde als pitch(angle))
  • down(angle): draaien naar beneden door hoek (in graden) (technische opmerking: hetzelfde als pitch(-angle))
  • pendelay(x): elke beweging of de rotatie van de schildpad is vertraagd door xseconden; Standaard is 0,05; ingesteld op nul voor veel snellere tekening (de speler zal nog steeds verplaatsen, waarbij voor elke lijn getrokken, maar meteen van begin tot eind)
  • angle(x): set horizontale hoek aan x (met de klok mee in graden; 0 = zuiden, 90 = West, 180 = noorden, 270 = Oosten); Hiermee herstelt u roll hoek
  • verticalangle(x): verticale hoek ingesteld op x (in graden; omhoog is positief; 90 = verticaal omhoog;-90 = verticaal naar beneden); Hiermee herstelt u roll hoek
  • angles(compass,vertical,roll): kompas, verticale instellen en roll hoeken; weggelaten argumenten worden genomen om de nul
  • penblock(x): instellen materiaal om tekening te blokkeren x; Zie voor een overzicht van de vooraf gedefinieerde blokken, mcpi/block.py
  • goto(x,y,z): zet de positie van de pen op (x, y, z); ook kunt u de positie als t.position.x, t.position.y en t.position.z
  • follow(): de speler volgt de schildpad
  • nofollow(): de speler niet Volg de schildpad
  • turtle(x): als x speler, dit hetzelfde als follow() is en als x geen, dit hetzelfde als nofollow() is. Als u van frambozen Jam Mod gebruikmaakt kunt u ook andere entiteiten dan jezelf als de schildpad wordt. Bijvoorbeeld, spawnt turtle(HORSE) een paard om te gebruiken als een schildpad (alle beschikbare eenheden worden vermeld in mcpi/entity.py, maar de levenden beste als anderen niet zijn te zweven; en de draak Ender kan niet worden gecontroleerd). De entiteit blijft zodra het script is voltooid. Om het te maken verdwijnen, Bel turtle(None) of turtle(PLAYER).
  • penwidth(x): lijndikte ingesteld op x (standaard is 1; bredere lijnen tekenen, vertragen en als volg modus is ingeschakeld, kan je uiteindelijk gevangen binnen de beroerte, dus aan het einde je penup() bellen moet en terug uit de tekening)
  • pitch(x), yaw(x) en roll(x): schildpad via worp/yaw/roll hoeken (Zie de volgende stap van Instructable) draaien
  • startface() en endface(): begin- en einddatums van een gevulde convexe veelhoek tekenen
  • push() en pop(): opslaan en herstellen van tekening staat (rubriek, materiaal, gezicht status, dikte; maar niet op snelheid of schildpad Typ); handig voor L-systemen
  • gridalign(): aanpassing van de huidige positie en schildpad richting aan het raster (de beste benadering van de huidige richting van de schildpad is gekozen)

De mcpiapi mod, in tegenstelling tot mijn frambozen Jam Mod, ondersteunt geen instelling van de speler richting. Dit betekent dat de speler zal niet worden geconfronteerd met dezelfde richting als de schildpad. (En er is een kans op andere problemen met schildpad scripts.)

Technische opmerking: Als u al een Minecraft object mc, initialiseren met t = Turtle(mc). Als u het object Minecraft weglaat bij het initialiseren van de schildpad, het wordt gemaakt voor u, en in beide gevallen kunt u het object Minecraft via t.mc.

Bonus voor frambozen Jam Mod 0.10 gebruikers:

U kunt ook spelen met python code voor het beheersen van de schildpad vanaf het chatvenster van Minecraft. (Op dit moment niet ondersteund door mcpiapi mod.)

In Minecraft, voer het turtleconsole.py script door te typen: /py turtleconsole [enter].

Elke regel van de python die je chat aangaan zal vervolgens worden uitgevoerd door de python interpreter. Voer een regel in de chat, druk op T, typt u de regel en druk op [enter]. Om af te sluiten turtleconsole, typt u net /py [enter] of Voer quit() [enter] in de chat.

Het kader bevat een lokale variabele t geïnitialiseerd als een Turtle()-object, dus u hoeft niet elke initialisatiecode, rechtvaardige dingen zoals uit te voeren:

Er is ook een console voor de volledige niet - Turtle API: console.py (met inbegrip van een pre-geïnitialiseerd mc lokale variabele). (Niet zomaar in alle postToChat() oproepen, of ze de interpreter zal verwarren.)

Gerelateerde Artikelen

Zomer kamp klasse op Python codering met Minecraft

Zomer kamp klasse op Python codering met Minecraft

Afgelopen zomer, leerde ik een vijf-daagse 1,5-uur-per-dag zomer kamp mini-cursus op Python programmeren met Minecraft voor begaafde kinderen als onderdeel van de Baylor University for Young People. Meeste kinderen waren een onderdeel van Project bel
Python codering voor Android Minecraft PE

Python codering voor Android Minecraft PE

De Raspberry PI versie van Minecraft kunt u script in Python, maken van fractal ontwerpen, tekeningen, turtle graphics, simpele spelletjes, enz. Hetzelfde kan worden gedaan op een desktop-versie met mijn frambozen Jam Mod (hier is mijn Instructable o
Star Wars "en" Star Trek in Minecraft met frambozen Jam Mod

Star Wars "en" Star Trek in Minecraft met frambozen Jam Mod

Ik zal uitleggen hoe (a) gemakkelijk maken van Star Wars en Star Trek (en andere) 3D modellen in Minecraft en (b) vliegen een ruimteschip in Minecraft (of zelfs hebben een andere entiteit, zoals een vleermuis of een zombie, vliegen het!), met behulp
Hoe maak je een grote Fancy House In Minecraft

Hoe maak je een grote Fancy House In Minecraft

Voordat we beginnen, wil ik u waarschuwen dat dit is gewoon een algemene gids voor het huis gebouw, zal ik niet geven exacte verhoudingen zoals sommige mensen willen een ander soort huis.Waarschuwing: Deze gids bestaat fore Minecraft 1.8. Andere vers
Echte wereld Minecraft

Echte wereld Minecraft

We all Know Minecraft is een geweldig spel, en Raspberry Pi heeft het meer awesome. Met de Minecraft-API kunnen we nu eenvoudig python scripts schrijven naar interface lezen wereld sensoren en knoppen in de Minecraft wereld.Stap 1: Benodigdheden 1. b
Raspberry Pi internetradio met kolf

Raspberry Pi internetradio met kolf

Het doel van deze tutorial is om u te tonen hoe u een radio die kan streamen van audio van het internet kunt bouwen met behulp van een eenvoudige web-interface om hem te bedienen. We zullen het volgende nodig:Raspberry PiSommige sprekers u kunt aansl
Personal Assistant met Telegram & Arduino.

Personal Assistant met Telegram & Arduino.

Hallo mensen!Een paar maanden geleden hoorde ik over een project dat een instant messenger bot gebruikt voor het maken van een systeem dat zou automatisch verwerken en ordenen van pizza's verzendingen door de costumieren via Whats app. Ik was als...
Fiets beurt Indicator van rugzak Cover

Fiets beurt Indicator van rugzak Cover

Dit project werd opgericht tijdens de CCA wiel goed ontwerp Sprint , die was gericht op het maken van fietsers beter zichtbaar voor voertuigen op de weg. Ik gebruikte een materiaal dat ik al gehad dat een regenhoes voor rugzak was. De volledige post
Raspberry Pi en een beetje erover

Raspberry Pi en een beetje erover

In dit instructable ik ga uitleggen wat een raspberry pi is en een beetje erover. Ook kunt projecten wat u doen op het.Stap 1: Wat is een Raspberry Pi?De Raspberry Pi is een low-cost, creditcard formaat computer die worden aangesloten op een monitor
Python programmeren - woordenboeken (for-lussen)

Python programmeren - woordenboeken (for-lussen)

# woordenboeken in Python; uitoefening van hoofdstuk 3 in "Snel Python leren"# Heb een paar for-lussen in deze die kunnen waarden verticaal afdrukkenafdrukken ("maken woordenboek nu.")telnums = {}afdrukken ("bevolken het woordenbo
Rekenmachine Coded met Python

Rekenmachine Coded met Python

na het leren een beetje over de programmeertaal Python, ik al dat het keurig om te proberen te repliceren van sommige van de wiskunde zou zijn dat zij Python shell doet met een GUI. Terwijl ik duidelijk niet overeenkomen met de shell prestaties voegt
Hoe maak je een Minecraft Skin for PC

Hoe maak je een Minecraft Skin for PC

Voordat dit instructable moet ik duidelijk dat deze huid maker alleen voor PC is maken. Met die uit de manier laat de slag!Stap 1: Aan de slag Om te beginnen u zal moeten gaan naar de website genaamd Nova huid. Zodra u het gevonden en opende het op i
Minecraft Simple Starter Kit For Survival spelers

Minecraft Simple Starter Kit For Survival spelers

Hallo iedereen! Vandaag zal ik laten zien u een gids voor mensen die willen beginnen overleving werelden!Stap 1: Grijpen sommige hout Eerste treft u 3 stukken hout van een mooie boom. Neem niet meer of u zult zitten having te veel hout.Stap 2: knutse
Minecraft Spigot Server Mod creatie

Minecraft Spigot Server Mod creatie

Minecraft servers zijn geweldig. Ze u toestaan om te bouwen van vrienden over de hele wereld, praten met mensen en prutsen met alle de opdrachten spon en alle plugins die beschikbaar voor het zijn. Als u helpen uitbreiden van de plugins beschikbaar v