Python coding for Minecraft (6 / 17 steg)

Steg 6: Enkel sköldpadda-baserade ritning



En särskilt enkel sätt att rita i Minecraft är att använda en sköldpadda-baserade system. Jag gjorde en mycket enkel sköldpadda klass (inspirerad av Martin O'Hanlon MinecraftTurtle klass, men designade för fristående användning) som jag planerar att använda denna sommar för att införa mitten och hög schoolers till Minecraft python skript.

Starta en Minecraft värld i kreativa läge och gör din spelare flyga (dubbelknacka blanksteg). Initiera skriptet med:

från turtle importera *
t = nya Turtle()

(Jag svepte alla Minecraft anslutning kod inuti klassen sköldpadda och det ger också matematik i namnområdet för bekvämlighet.) Du kan nu göra saker som t.go(15) att rita en linje medan rörliga 15 block framåt, t.right(45) att rotera 45 grader till höger, t.down(30) att rotera 30 grader ner, och således Rita enkla bilder.

Du flyttar tillsammans med sköldpaddan som det drar, som är rolig och sköldpaddan börjar där spelaren är, pekar horisontellt.

Du kan till exempel rita en vågrät kvadrat med:

t.go(50)
t.Right(90)
t.go(50)
t.Right(90)
t.go(50)
t.Right(90)
t.go(50)

Du gör en 7-sidig stjärna genom att göra:

t.go(50)
t.Right(180.-180./7)

sju gånger. Eller bara en gång i en slinga:

för i i range(7):
t.go(50)
t.Right(180.-180./7)

Du kan ändra material med penblock(). Till exempel en vertikal guldstjärna:

t.penblock(GOLD_BLOCK)
för i i range(7):
t.go(50)
t.Right(180.-180./7)

Och du kan ändra pennan bredd med penwidth(x). Exempelvis drar detta en mycket enkel glas donut (egentligen en förtjockad 90-gon, men vem kan berätta skillnaden?):

t.penblock(glass)
radie = 20
omkrets = 2 * radie * pi
t.penwidth(10)
för i i range(90):
t.go(circumference/90)
t.Left(360/90)

Här finns alla metoder:

  • go(x): flytta x block fram (dra om pennan är nere)
  • back(x): flytta x block bakåt (dra om pennan är nere)
  • penup(): paus ritning återuppta ritning
  • left(angle): Rotera vänster, vinkel (i grader)
  • right(angle): rotera höger av vinkel (i grader)
  • up(angle): rotera upp av vinkel (i grader); nybörjare bör inte blanda på höger/vänster och upp/ner rotationer eller de kan få oväntade resultat (teknisk not: samma som pitch(angle))
  • down(angle): rotera ner av vinkel (i grader) (teknisk not: samma som pitch(-angle))
  • pendelay(x): varje rörelse eller rotation av turtle är försenat x sekunder; standard är 0,05; nollställas för mycket snabbare ritning (spelaren kommer att fortfarande gå med varje linje, men omedelbart från början till slut)
  • angle(x): set horisontell vinkel-x (medurs i grader; 0 = söder, 90 = väst, 180 = norr, 270 = öst); återställer rulle vinkel
  • verticalangle(x): ange vertikala vinkeln x (i grader; uppåt är positiva, 90 = vertikalt upp; -90 = lodrätt nedåt); återställer rulle vinkel
  • angles(compass,vertical,roll): in kompass, vertikal och rulle vinklar; utelämnade argument anses vara noll
  • penblock(x): ange material för ritning att blockera x; en lista över fördefinierade blocken, se mcpi/block.py
  • goto(x,y,z): inställd penna position (x, y, z); Du kan också nå positionen som t.position.x, t.position.y och t.position.z
  • follow(): spelaren följer sköldpaddan
  • nofollow(): spelaren inte följer sköldpaddan
  • turtle(x): om x är spelare, detta är samma som follow() och om x ingen är, detta är samma som nofollow(). Om du använder Raspberry Jam Mod kan du också använda andra enheter än dig själv som sköldpaddan. Exempelvis leker turtle(HORSE) en häst att använda som en sköldpadda (alla tillgängliga enheter listas i mcpi/entity.py, men den levande är bästa som andra inte kan levitera; och Ender draken inte kan kontrolleras). Företaget är fortfarande när skriptet är klar. För att få den att försvinna, ring turtle(None) eller turtle(PLAYER).
  • penwidth(x): ställa in linjebredden-x (standard är 1, bredare linjer sakta ner ritning, och om följa läget är aktiverat, kan du hamna fångade inuti stroke, så i slutet ska du ringa penup() och tillbaka ut ritningen)
  • pitch(x), yaw(x) och roll(x): rotera sköldpadda via pitch/gir/rulle vinklar (se nästa steg i Instructable)
  • startface() och endface(): start- och slutdatum Rita en fylld konvex månghörning
  • push() och pop(): spara och återställa ritning staten (rubrik, material, ansikte status, tjocklek, men inte hastigheten eller sköldpaddan skriver); användbart för L-system
  • gridalign(): anpassa nuvarande position och turtle riktning mot rutnätet (bästa tillnärmning till sköldpaddan nuvarande riktning är valt)

Mcpiapi mod, till skillnad från min Raspberry Jam Mod, stöder inte ställa in spelarens riktning. Detta innebär att spelaren inte kommer att möta samma riktning som sköldpaddan. (Och det finns en chans att andra problem med turtle skript.)

Teknisk not: Om du redan har en Minecraft objekt mc, initiera med t = Turtle(mc). Om du utelämnar Minecraft objektet när initierar sköldpaddan, den är skapad för dig, och i båda fallen kan du komma åt objektet Minecraft via t.mc.

Bonus för Raspberry Jam Mod 0.10 användare:

Du kan också spela med python kod för att styra sköldpaddan redan från Minecraft chat-fönstret. (För närvarande inte stöds av mcpiapi mod.)

I Minecraft, kör skriptet turtleconsole.py genom att skriva: /py turtleconsole [enter].

Varje python linje som du anger i chatten kommer att få körs av python-tolken. In en linje i chatten, tryck på T, skriv rad och tryck på [enter]. För att avsluta turtleconsole, skriv bara /py [enter] eller ange quit() [enter] till chatt.

Ramen innehåller en lokal variabel t initieras till ett Turtle() objekt, så du inte behöver köra någon initieringskod, bara saker som:

t.penblock(GOLD_BLOCK)
t.Back(10)

Det finns också en konsol för fullständig icke - Turtle API: console.py (som inkluderar en pre initialiserat mc lokal variabel). (Bara sätta inte i några postToChat() samtal, eller de kommer att förvirra tolken.)

Se Steg
Relaterade Ämnen

Summer camp klass på Python kodning med Minecraft

Förra sommaren, lärde jag en femdagars 1,5 timmar per dag sommar läger mini-kurs om Python programmering med Minecraft för begåvade barn som en del av Baylor's University för ungdomar. De flesta av barnen var en del av projektet löfte, en begåvad pro...

Verkliga Minecraft

Vi alla vet att Minecraft är ett fantastiskt spel och Raspberry Pi har gjort det mer awesome. Med Minecraft-API kan vi nu skriva enkla python skript till gränssnittet läsa världen sensorer och knappar till Minecraft världen.Steg 1: Vad du behöver 1....

Hur man gör ett stort fint hus i Minecraft

Innan vi börjar vill jag varna dig att detta är bara en allmän guide hus byggnad, jag kommer inte ge exakta proportioner som vissa människor vill ha en annan typ av hus.Varning: Denna guide är gjord fore Minecraft 1.8. Andra versioner kan användas, m...

Minecraft tapp Server Mod skapande

Minecraft servrar är awesome. De låter dig bygga vänner över hela världen, prata med människor och röra runt med alla kommandon tapp och alla plugins som finns för den. Om du vill bidra till att utveckla plugins för tapp och alla dess användare, bör...

Raspberry Pi och lite om det

I detta instructable jag kommer att förklara vad en raspberry pi är och lite om den. Också kan vilka projekt du göra på den.Steg 1: Vad är en Raspberry Pi?Raspberry Pi är en låg kostnad, kreditkort storlek dator som ansluts till en datorskärm eller T...

Python kodning för Android Minecraft PE

Raspberry PI version av Minecraft låter du skriptet i Python, att göra fraktala mönster, ritningar, sköldpadda grafik, enkel spel, etc. Samma sak kan göras på en stationär version med min Raspberry Jam Mod (här är min Instructable på hur man använder...

Hämta och installera Mods i Minecraft (for Dummies)

Detta är ett super enkelt sätt att ladda ner och installera mods för Minecraft PCSteg 1: Ladda hem forgeLeta upp"smedjan" i google-sökning och klicka på den första länkenDet blir en skärm med en massa länkar säger minecraft version och rekommend...

Star Wars och Star Trek i Minecraft med hallon sylt Mod

Jag ska förklara hur man a enkelt göra Star Wars och Star Trek (och annan) 3D modeller i Minecraft och (b) flyga ett rymdskepp i Minecraft (eller ens har en annan enhet, som en bat eller en zombie, flyga det!), med hjälp av python exempelskripten ing...

Diskmaskin kassaskåp Minecraft Cookie burkar

Gillar du Minecraft? Gillar du cookie burkar? Gillar du använder diskmaskin för att tvätta din nerdy cookie burkar?Är detta instructable för dig!Dessa Minecraft tema cookie burkar är perfekt gåva for...well någon. Vem älskar inte cookie burkar?Vad du...

Krypteringsalgoritm baserat på glada tal med hjälp av Python 2.7

Hej killar, så vi kommer att göra en algoritm, med hjälp av en grundläggande matematik sekvens och lite programmering.För grunderna, låt mig berätta vad glada siffror är siffrorna som är enskilda siffror square lägger upp till 1.Du kan gå kolla in Wi...

En regnbåge av fraktaler i Minecraft

Jag gjorde en massa Python skript för att generera färgglada fraktaler i Minecraft. För att köra dem med den stationära versionen av Minecraft, du behöver min Raspberry Jam Mod (det finns också en version för Android Pocket Edition), och många av min...

Fighting folkmassor i Minecraft P.E!!!

Mobs är mäktiga varelser på minecraft som försöker skada dig. Vill du inte bara att döda dem? Väl är här vett och etikett att förstöra dem!Steg 1: skelett Skelett är mobs som leker i mörka utrymmen eller natt.Gör: Använda pil och båge mot den. Du kan...

Jätte påskägg i Minecraft

Påskmorgonen bestämde jag mig att generera några jätte påskägg i Minecraft med ett python-skript. Jag använde min Raspberry Jam Mod som gör Raspberry PI Minecraft API på skrivbordet Minecraft. (Du kan också använda skriptet på en Raspberry PI, men fä...

Minecraft PE Nerf Strongarm

Hello and thanks for viewing this! Jag ville visa en Nerf strongarm jag gjorde i minecraft pe. Jag är egentligen inte ett mincraft fan, men jag såg att det skulle vara häftigt att gör en minecraft nerf gun... Om du vill ha en Instructable bara fråga!...

Göra en Wither Plushie från Minecraft

är denna lyckliga lilla födelsedag boy/Minecraft freak håller världens första Wither Plushie? Även om det är högst osannolikt, är det möjligt... Vill veta vad mer är möjligt? Möjlighet att skapa en av din egen. I detta Instructable hjälper jag dig ha...

Python programmering: Del 1 - grunderna

Python är en allmänt använd general-purpose, på hög nivå programmeringsspråk. Dess designfilosofi betonar koden läsbarhet, och dess syntax gör att programmerare kan uttrycka begrepp i färre kodrader än vore möjligt i språk som c eller Java. Språket g...

Minecraft diamond malm lampa (3D tryck)

På en eftermiddag jag var uttråkad och ville skapa något, mindes jag minecraft lyktorna jag hade sett förra veckan och beslutade att skapa mina egna.Jag gick till Sketchup och började skapa filen, från en bild jag skapade mönstret hål och sammanfogad...

Dragon kurva med Python

Dragon kurvan är en intressant och vacker fraktal. Det är faktiskt en familj av själv-liknande fraktaler, men jag kommer att fokusera på den mest kända, Heighway draken, döpt efter en av NASA fysiker som studerat det, John Heighway. Dragon kurvan får...

Hur man gör en Python marionett

att göra dina egna python marionett är lätt. Följ bara dessa enkla steg för 66 och du kommer snart vara underhållande och glädja publiken.Våra dockor heter Guido. Du kan se honom i aktion på http://www.thehelloworldprogram.com.Här är vad du behöver:g...