Summer camp klass på Python kodning med Minecraft (9 / 12 steg)

Steg 9: Dag tre: del ett: Magic bridge



Magiska bron är en bra idé från Whale och Johan Olsson boken. Det gör en bro som sträcker sig under spelaren, låter spelaren gå på vattnet och i luften, och du kan visa barnen hur ett program växer från en enkel till mer komplex form.

Här är den enklaste versionen:

från mc import *
från tiden import *

MC = Minecraft()

samtidigt sant:
läge = mc.player.getTilePos()
mc.setBlock (position.x, position.y-1, position.z, STAINED_GLASS_BLUE)
Sleep(0.2)

Förklara alla steg noggrant för barnen, som fokuserar på oändliga spel slingan (samtidigt sant) och hur mc.player.getTilePos() kontrollerar spelarens aktuella position, indelad i x, y och z koordinater. Berätta för dem att sleep(0.2) är att säkerställa att Minecraft inte är överväldigad med göra massor av setBlocks, så att det finns en 0.2 andra vänta. Minns att du kan stoppa ett skript med /py av sig själv.

Har alla barnen göra en arbetande bro och sedan prata med dem om dess brister. Till exempel skadar bron marken du går på. Du du bör ändra den så det är bara dras i luften. Här kan du presentera om uttalandet:

från mc import *
från tiden import *

MC = Minecraft()

samtidigt sant:
läge = mc.player.getTilePos()
belowBlock = mc.getBlock (position.x, position.y-1, position.z)
om belowBlock == AIR.id:
mc.setBlock (position.x, position.y-1, position.z, STAINED_GLASS_BLUE)
Sleep(0.2)

Förklara skillnaden mellan tilldelningens = och jämförelsen ==. Det är viktigt att du har AIR.id snarare än bara luft i koden. Det beror på att luften är ett Block men getBlock() i Minecraft Python PI API returnerar inte ett block men ett block ID-nummer, och AIR.id är att blockera ID-nummer (noll, faktiskt).

Naturligtvis, detta är inte perfekt, heller, eftersom det inte kommer att dra broar över vattnet. För att fixa det, du får införa eller och ändra om raden till:

om belowBlock == AIR.id eller belowBlock == WATER_FLOWING.id eller belowBlock == WATER_STATIONARY.id:

Om du vill, barn kan även lägga till magma.

Det finns en sista bit av magi, och det är den mest magiska av allt. Bron kan radera sig bakom spelaren. Därför skulle du behöva införa listor. Om du vill göra detta beror på nivån på dina elever. Om du vill göra det, sedan lagra förbi spelare positioner i en lista kallas sparas.

från mc import *
från tiden import *

MC = Minecraft()

sparade =]

samtidigt sant:
läge = mc.player.getTilePos()
belowBlock = mc.getBlock (position.x, position.y-1, position.z)
om belowBlock == AIR.id eller belowBlock == WATER_FLOW.id eller belowBlock == WATER_STATIONARY.id:
mc.setBlock (position.x, position.y-1, position.z, STAINED_GLASS_BLUE)
Saved.append(position)
om len(saved) > 10:
firstPosition = saved.pop(0)
mc.setBlock (firstPosition.x, firstPosition.y-1, firstPosition.z, luft)
Sleep(0.2)

När du lägger till koden, förklara det. Du börjar en tom lista med sparade = []. Sedan du lägga ställning till slutet av listan, och om listan har mer än 10 artiklar i det, du är poppar ut det första objektet och dra luft under den (du sparar spelare, inte bridge, positioner).

Det fortfarande finns brister. Till exempel om bron dras på vatten, återställs det med luft. Fastställande av som kan vara en utmaning för smartare studenter.

Se Steg
Relaterade Ämnen

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

Python coding for Minecraft

Detta Instructable visar hur du installerar och använder en mod som jag skrev som låter dig styra Minecraft med python skript. Ska jag fokusera på Windows, men OS X och Linux bör fungera lika bra.Python-skript kan skapa fina saker i världen, och det...

Lära sig logik grindar med Minecraft

logik Gates är en nyckelkomponent till att göra datorer. De kan enkelt illustreras med minecraft s redstone funktionen. Använda Minecraft är ett bra sätt att testa elektronik innan de fysiskt görs. Här är de viktigaste typerna av logik gates:Obs: På...

Fyll en Minecraft gris med Minecraft

- eller något annat du vill lägga till en flash-enhet. Enheten döljs i benet av detta papper-och-styrofoam Minecraft gris.Steg 1: Verktyg och material Nyckeln till detta projekt är papercraft gris av chhalo finns här (och även ingår som .pdf nedan)....

Hur gör jag spela svärd interagera med Minecraft med Makey Makey

Min 8 - åriga dotter och jag deltog nyligen i en Makey Makey demonstration vid en lokal Maker rymd. Jag blev förvånad över hur mycket hon njöt händelsen som hon vanligtvis inte gillar teknik. En bit gick igenom, den lampa som klickade på för henne oc...

Summer Camp idéer

Innan du skapar vår nästa Instructable, ansåg det vara viktigt att titta på en snabb historia av flyg.De tidigaste vi kunde hitta om flygningen är Ikaros och Daedalus omkring 1000 F.Kr. Daedalus en strålande ingenjör byggde utarbeta labyrinten för ku...

Hur man gör hiss med Minecraft 1.9 kommandot block

På Minecraft 1.9 nya kommando kan användas för att göra hissar. Du skriver olika kommandon att uppnå kontroll av hissen för rörelse du. Denna handledning berättar i Minecraft 1.9 hur du använder kommandot block för att göra hiss. Kan bara ta en titt...

Med Minecraft-spelare

så jag inte har skrivit något sedan mars... :(Jag skulle vilja göra något för min subs och andra människor. Så om du vill föreslå något för mig att bygga kommer bara kommentar och jag få tillbaka byggnad! Om du vill spela lite minecraft pc med mig ba...

Python kodning

Idag kommer jag visa dig hur man gör en enkel "ghost spelet" i python.Jag antar att du har python-om inte, klicka här.Scrolla ned och leta efter "python 3. #. #". Numret måste ha en tre framme, men andra spelar någon roll inte.Sedan öp...

Python programmering - med "I" uttalande

Kort Python program som visar uttrycket "IN", där man kan se om det finns en matchning för ett ord i en viss sträng. Också används metoden "split".Programmet är fäst som en .py fil....

Intellekten Edison: Enkel kodning med nod röd.

Läs det här för att lära hur man får nod Red till din Intel Edison styrelse och hur man använder den.Detta är det enkla sättet att sakernas Internet.Steg 1: Ställa styrelsen. För att göra detta bara koppla in en USB-kabel till sista porten på Edison...

Att ha Python prata med Arduino Yun

Så vill du python 2 (som körs på den Linino sidan av din Arduino Yun) vända pins på och av på Arduino sidan av din Yun. Här är hur man gör.Steg 1:I bilden kan du se två lysdioder som är anslutna till digitala stift 12 och 13 via en 220 Ohm motstånd....

BMW Diesel spridare kodning med DIS v44

Hur till koda spridare på en BMW diesel upp till 12/2005 med hjälp av programvaran DIS och en USB-OBD kabel....

Python programmering - med len i rad funktion

# Program som använder utbud och len# Skapa en listalinuxdistros = ["ubunutu", "debian", "linuxmint", "knoppix", "valp", "fedora","redhat", "kali", "pclinuxos", &quo...

Komma igång med Intel Edison - Python programmering

Denna guide är för alla er python programmerare som har alltid undrat,vad är det bästa sättet att komma in i "IoT"(Internet of Things) , nu sedan du har gjort det till den här sidan, köpa dig en Intel Edison från Amazon eller online lagra som Ad...

Intellekten Edison Sun Station (UV och Temp) med Python #IntelMakerMx

Vi ska använda våra Intel Edison med en Arduino shield och en grove sköld för att ansluta så många sensorer som du vill.GitHub: https://github.com/Kurtz1993/iot-roadshowSteg 1: Kommunicera med våra Edison genom en seriell COM Första, låt oss kommunic...

Göra Minecraft hjärtat cookies med hjälp från en 3d-skrivare

3D-utskrift har blivit så vanligt på mitt hus att mina barn är faktiskt uttråkad av det. "Oh great, pappa 3d tryckt något... få." Så när min 9-åriga dotter ville göra Minecraft hjärtat cookies för skolan baka försäljning nästa dag såg jag en möj...

Trådlös jul Light Timer med Raspberry Pi och Python

Uppdatera 1/14/2014: Tack till alla som röstade för det här projektet i hårdvara Hacking Contest! Ser fram emot min nya maker penna.Uppdatering 12/31/2013: Letar du efter en mer avancerad version av detta projekt? Kolla in min nya flerkanaligt röstst...

IRToWebThingy: IR-fjärr till WiFi adapter med ESP8266

Jag gjorde en IRToWebThingy som läser gemensamma (och några inte så vanligt) infraröd fjärrkontrollskoder och gör dem tillgängliga till alla enheter på lokala WiFi-nätverk så kan du script olika saker. Du kan exempelvis flyga en gris i Minecraft med...