Mainos
Oletko aina halunnut oppia koodaamaan, mutta et tiennyt mistä aloittaa? Opi hallitsemaan Minecraft Raspberry Pi -laitteessa käyttämällä Pythonia ja muutamaa yksinkertaista elektroniikkaa. Tässä on lopputulos:
Tarvitset Pi 2: n tai uudemman tähän projektiin, ja vaikka voit suorittaa suurimman osan näistä tehtävistä komentorivillä Secure Shell (SSH): n kautta, tämä opetusohjelma keskittyy koodaukseen suoraan Pi: ssä.
Onko uusi Minecraft? Älä huolestu - tässä on meidän Minecraft-aloittajan opas (Myöhäinen tulokas) Aloittajan opas MinecraftiinJos kuitenkin myöhästyt juhliin, älä huoli - tämä kattava aloittelijan opas on peittänyt sinut. Lue lisää .
Johdatus Minecraft Pi: hen

Minecraft Raspberry Pi -laitteelle on kehitetty oppimiseen ja niputtamiseen (ja se on ilmainen). Sen mukana tulee sovellusohjelmointirajapinta (API), joka tarjoaa tavan koodille helposti puhua Minecraftin kanssa. Se on loistava myös oppimisessa koodittamiseen Pythonissa elektroniikan aloittaminen Aloittelijan elektroniikka: 10 taitoa, jotka sinun täytyy tietää Monet meistä eivät ole koskaan edes koskettaneet juotinta - mutta asioiden tekeminen voi olla uskomattoman palkitsevaa. Tässä on kymmenen DIY-elektroniikan perustaidoista, jotka auttavat sinua pääsemään alkuun. Lue lisää .
Mikä on Python?
pytonkäärme on ohjelmointikieli. se on tulkita, mikä tarkoittaa, että kun suoritat Python-tiedostoa tai ohjelmaa, tietokoneen on ensin tehtävä pienen määrän työtä tiedoston kanssa. Haittapuolia on, että sitä voidaan pitää hitaana verrattuna käännetyt kielet.
Tulkittujen kielten etuja ovat koodauksen nopeus ja niiden ystävällisyys. Sinun ei tarvitse kertoa tietokoneelle mitä tietoja, jotka haluat tallentaa, vain että haluat tallentaa jotain ja tietokone päättää mitä tehdä. Tietenkin on poikkeuksia, ja tämä on hieman yksinkertaistettu näkymä, mutta ohjelmoinnin pitäisi olla hauskaa! Jos ryhdyt tutkimaan monimutkaisia teknisiä yksityiskohtia, siitä voi tulla hieman työlästä.
Python on isot ja pienet kirjaimet. Tämä on tärkeää tietää, koska Python ei tunnista esineitä vaikka ne olisi kirjoitettu oikein jos asia on väärä. ”Dosomething ()” ei toimi, jos menetelmää todella kutsutaan “DoSomething ()”. Python käyttää myös sisennystä. Muut ohjelmointikielet eivät ehkä välitä kuinka monta sisennystä koodillasi on, kun taas Python tekee hoito. Lasketaan sisennysten avulla Pythonille, mihin koodi kuuluu. Muut kielet voivat käyttää ryhmää "Curly Braces" ({}) koodiin - Python ei käytä näitä. Python käyttää hash (#) kommentteihin, ja kommentteja käytetään kertomaan muille kehittäjille tai koodia tarkasteleville ihmisille, mitä tietty osa tekee tai miksi sitä tarvitaan. Python ohittaa minkä tahansa hajautuksen jälkeen.
Lopuksi, Pythonista on kaksi pääversiota - Python 2.7.x ja Python 3.x. Näiden kahden välillä on joitain eroja (mitkä ovat erot?). Tässä opetusohjelmassa käytetään Python 3: ta.
Alkuasennus
Pi-laitteen toimittaminen on jo Raspbianin asennus ja ajaminen Kuinka asentaa käyttöjärjestelmä Raspberry Pi -sovellukseenTässä on ohjeet kuinka asentaa käyttöjärjestelmä Raspberry Pi -sovellukseen ja miten kloonata täydellinen asennus nopeasti nopeaan palautukseen. Lue lisää , alkuasetuksia ei tarvita paljon.
Avaa terminaali (Valikko> Lisävarusteet> Pääte) ja suorita tämä komento. Aina on hyvä käytäntö pitää arkistoluettelo ajan tasalla, ja se lataa uusimman ohjelmaluettelon (Se ei lataa itse ohjelmia, tämä auttaa Pi: tä tiedä, mitä ohjelmia kutsutaan ja mistä löytää niitä).
sudo apt-get -päivitys.
Päivitä nyt Pi (tämä voi viedä hetken):
sudo apt-get päivitys.
Python ja Minecraft Pi on jo asennettu, mutta jos Minecraft Pi: tä ei ole asennettu jostakin syystä, se on helppo asentaa 5 tapaa asentaa ohjelmisto Raspberry Pi -sovellukseenJotta voit tehdä jotain Raspberry Pi -sovelluksella, sinun on tiedettävä kuinka asentaa käyttöjärjestelmä ja ohjelmistot sen ajamiseen. Jos olet uusi Linux, tämä voi olla pelottavaa. Lue lisää :
Sudo apt-get install minecraft-pi
Siirry asiakirjoihin ja luo uusi kansio nimeltä “Minecraft”:
CD-asiakirjat / mkdir Minecraft
Voit tarkastella tämän uuden kansion sisältöä:
ls
Tässä on vinkki: Jos aloitat kirjoittamisen ja painat TAB-näppäintä, komentorivi yrittää täydentää lauseen automaattisesti.
Voit tutkia polkua nykyiseen hakemistoon käyttämällä pwd: tä, joka tarkoittaa Tulosta työhakemisto:
pwd
Käynnistä Minecraft menemällä Valikko> Pelit> Minecraft Pi. Tarvitset tämän juoksemisen, mutta palaat siihen myöhemmin.
Avaa Python 3 alkaen Valikko> Ohjelmointi> Python 3 (IDLE). Tämä ohjelma tarjoaa tavan, jolla voit suorittaa Python-komentoja ja kirjoittaa ohjelmia.
Nyt voit kirjoittaa Python-komennot tähän, mutta se ei ole kovin käytännöllistä. Mene Tiedosto> Uusi tiedosto ja sitten Tiedosto> Tallenna ja tallenna tämä aiemmin luomaan kansioon. (Asiakirjat> Minecraft). Kutsutaan sitä "hello_world.py“. Sinun ei tarvitse käyttää .py-laajennusta, se lisätään automaattisesti, mutta se on hyvä käytäntö.
Jos vaihdat takaisin terminaaliin ja siirryt Minecraft-kansioon, sinun pitäisi nähdä juuri luomasi tiedosto:
cd Minecraft / ls
Voit suorittaa tämän tiedoston seuraavasti:
python hello_world
Huomaa, kuinka ”python” on pieni kirjain. Tämän on oltava ennen tiedostonimeä, koska se kertoo Pi: lle, että seuraava tiedosto on Python, joten se tulisi suorittaa sellaisenaan.
Vaihda takaisin Python-editoriin ja kirjoita:
tulosta "Hei, maailma!"
Tallenna tämä tiedosto ja aja se uudelleen - sinun pitäisi nyt nähdä "Hei, maailma!" näkyvät komentorivillä - siisti! Tulostuskomento käskee Pythonin yksinkertaisesti lähettämään seuraavan tekstin kaksoislainausmerkeinä. Tämä on hyvää, mutta ei kovin hyödyllistä Minecraftille, linkitetään se:
mcpi.minecraftista tuo Minecraft mc = Minecraft.create () mc.postToChat ("Hei, maailma!")
Nyt jos tallennat ja suoritat tämän tiedoston, sinun pitäisi nähdä "Hei, maailma!" näkyvät Minecraft-pelissä. Jaotellaan koodi:
mcpi.minecraftista tuo Minecraft
Tämä rivi kertoo Pythonille, että haluat käyttää koodia toisesta tiedostosta. Tämä mcpi.minecraft-tiedosto on kehitetty sallimaan Minecraftin helppo hallita.
mc = Minecraft.create ()
Tämä rivi luo objektin nimeltä “mc” (Minecraft). Sinun on luotava tämä salliaksesi viestinnän Minecraft-peliin - tiedoston sisällyttäminen ei riitä.
mc.postToChat ("Hei, maailma!")
Lopuksi, tämä rivi kehottaa Minecraftia kirjoittamaan tekstiä chattiin. Kokeile muuttaa ”Hei, maailma!” jotain muuta ja katso mitä tapahtuu, mutta muista sisällyttää molemmat kaksoislainaukset. Jos sinulla on ohjelmisto-ongelmia, nämä ovat joitain yleisiä Python- ja Minecraft Pi-virheitä:
- AttributeError - tämä on kirjoitusvirhe, kuten pint tai prnt tulostamisen sijaan
- NameError: nimeä 'Minecraft' ei ole määritelty - muista tuoda tarvitsemasi moduulit
- NameError: nimeä 'true' ei ole määritelty - Python on kirjainkoollainen, vaihda arvoon True
- socket.error: [Errno 111] Yhteys kielletty - Varmista, että Minecraft on käynnissä
projektit
Nyt kun tiedät Pythonin ja Minecraftin perusteet, tehdään hienoja projekteja. Kaikki koodi voidaan ladata osoitteesta GitHub.
Automaattinen siltarakentaja

Tämä ohjelma rakentaa tehokkaasti sillan veden yli. Kun pelaaja lähestyy vesistöä, ohjelma muuntaa useita lohkoja kiviksi. Koska Minecraft käyttää koordinaattijärjestelmää, soittimen sijainti ja soittimen ympärillä olevien lohkojen tyyppi on erittäin helppo saada. Minecraft Pi on hiukan rajoitettu, joten useita eri lohkoja ei ole mahdollista päivittää irtotavarana. Voit kuitenkin koodata tämän käytöksen itse.
Luo uusi tiedosto (Tiedosto> Uusi tiedosto) ja tallenna se nimelläbridge_builder.py“.
mcpi.minecraftista tuo Minecraft. mc = Minecraft.create () # luo Minecraft-objekti ollessa totta: x, y, z = mc.player.getPos () # tallenna soittimen sijainti # tallenna ympäröivät lohkot 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), jos a == 8 tai a == 9 tai b == 8 tai b == 9 tai c == 8 tai c == 9 tai d == 8 tai d == 9: # 8 tai 9 on vettä. Aseta ympäröivät lohkot kiinteäksi (kivi), jos vettä löytyy 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)
Huomaa, kuinka y-arvo todella näyttää y - 1: een. Tämä on lattiataso. Jos y-arvoa käytettäisiin, käsikirjoitus etsisi lohkoja polven tasolla - se ei toimisi kovin hyvin! Mc.getBlock () palauttaa lohkon tunnuksen tietyille koordinaateille. Koska x, y ja z ovat soittimen koordinaatit, voit lisätä tai vähentää niitä saadaksesi sijainteja soittimen ympäri. Sinun ei tarvitse käyttää x-, y- ja z-arvoja, voit käyttää mitä tahansa numeroa, mutta et ehkä tiedä kuinka kyseinen lohko liittyy soittimeen - on parempi käyttää arvoja pelaajaan nähden. Suorita tämä tiedosto komentoriviltä ja katso mitä tapahtuu.
Sinun pitäisi nähdä, että pieni maa-alue muuttuu kiveksi, kun pelaaja saavuttaa vesimuodostuman. Se ei ole hienoa - pystyt kävelemään riittävän nopeasti aiheuttamaan ongelman. Voit ratkaista tämän muuttamalla suuremman määrän vettä maaksi. Mc.setBlocks () -menetelmän viimeinen osa on lohkon tunnus. Yksi on kivin lohkon tunnus. Voit muuttaa tämän puuksi, ruohoksi tai muuhun. Jos haluat, voit muuntaa tämän melko helposti monimutkaiseksi rakenteeksi - ehkä ripustussiltaan!
Superkaivospainike

Tämä esimerkki tekee lyhyestä kaivostoiminnasta. Se koostuu fyysisestä painikkeesta, joka painettaessa tuottaa 10 lohkoa kuutioitu. Aloitetaan painikkeella. Samoin kuin Arduinon painikkeissa, tarvitset pienen määrän elektroniikkaa, joka kaikki tulisi löytää a perusaloituspakkaus Mitä Arduino-aloituspaketissasi on? [Arduino-aloittelijat]Laatikko täynnä elektronisia komponentteja on helppo hämmästyä. Tässä on opas tarkalleen, mitä löydät sarjasta. Lue lisää :
- 1 x leipätaulu
- 1 x hetkellinen kytkin
- 1 x 220 ohmin vastus
- Naaras> uros hypätä kaapelit
- Uros> Uroshyppyjohdot
Tässä on piiri:

Tätä vastusta kutsutaan ”alasvetovastukseksi”. Se auttaa varmistamaan, että mitä Pi ajattelee painettavan nappia, todella se painetta on. Sinun ei tarvitse käyttää tätä, mutta se on suositeltavaa, koska ilman sitä voi löytää paljon melua ja vääriä lukemia.
Painike on kytketty GPIO (General Purpose Input Output) -tappiin 14. Voit käyttää mitä tahansa GPIO-nastaa, katso kuitenkin Sokka irti ensinnäkin, koska niitä kaikkia ei voida ohjata Pi: ltä, ja ne vaihtelevat hieman malleittain.
Nyt kun painike on kytketty, on aika testata se. Luo uusi tiedosto ja tallenna se nimelläbutton_test.py“. Lisää tämä koodi, tallenna se ja suorita se terminaalissa.
tuo RPi. GPIO GPIO: na. Tuo aika GPIO.setmode (GPIO.BCM) # kerro Pi: lle, mitä otsikoita käytetään. GPIO.setup (14, GPIO.IN) # kerro Pi: lle tämä nasta on tulo, kun totta: jos GPIO.input (14) == tosi: # etsi painikkeita painettaessa "PAINIKE TOIMIVAA!" # lokitulos aika.unen (0,5) # odota 0,5 sekuntia.
Lehdistö Control + C lopettaa skripti. Jos kaikki toimii oikein, sinun pitäisi nähdä ”PAINIKE TOIMIVA!” terminaalissa. Huomaa, kuinka tämä testi käyttää Minecraft-moduulin tapaan RPi: tä. GPIO ja aikamoduulit. Nämä antavat Pi: lle pääsyn laitteistotappeihin ja tarjoavat hyödyllisiä ajoitustoimintoja.
Nyt viimeistelemme loput koodi. Luo uusi tiedosto, jonka nimi on “super_mine.py“. Tässä on koodi:
tuo RPi. GPIO GPIO: na. tuontiaika. mcpi.minecraftista tuo Minecraft mc = Minecraft.create () # luo Minecraft Object GPIO.setmode (GPIO.BCM) # kerro Pi: lle, mitä otsikoita käytetään. GPIO.setup (14, GPIO.IN) # kerro Pi: lle tämä nasta on tulo, kun totta: jos GPIO.input (14) == tosi: # etsi painiketta, paina x, y, z = mc.player.getPos ( ) # lue soitin asema mc.setBlocks (x, y, z, x + 10, y + 10, z + 10, 0) # kaivo 10 estää mc.setBlocks (x, y, z, x - 10, y + 10, z - 10, 0) # minun 10 estää aika.unen (0.5) # odota 0.5 sekuntia.
mc.player.getPos () palauttaa pelaajien nykyiset koordinaatit, jotka sitten tallennetaan x, y ja z. setBlocks () menetelmä käskee Minecraftin täyttämään kaikki aloituksen ja lopun väliset lohkot seuraavalla lohkolla. Nolla on ilman lohkon tunnus. Voit muuttaa tämän toiseksi lohkon tunnukseksi, jotta alue täytetään kiinteästi. Voit myös muuttaa koordinaatit +100 tai jopa +1000 lohkoon, mutta Pi saattaa kuitenkin alkaa kamppailemaan, jos olet liian hullu. Huomaa, kuinka y + 10 on sama molemmille riveille. Voit muuttaa tämän arvoon y - 10, jos haluat poistaa lohkot maan alle.
teleporting

Toinen tämän painikkeen yksinkertainen käyttö voi olla ”teleportaaminen”. Minecraft Pi Api tarjoaa tavan asettaa pelaajan sijainti. Seuraava koodi “teleportoi” soittimen ennalta asetettuun sijaintiin:
mc.player.setPos (0, 0, 0)
Huomaa, että hänen menetelmä hyväksyy kolme parametria; x, y ja z - jotta voit asettaa nämä mille tahansa, jotta soitat heti soittimeen kyseiseen sijaintiin.
Luo kopio super_mine-tiedostosta (Tiedosto> Tallenna kopio nimellä) ja muokata sitä korvaamalla if seuraavilla:
jos GPIO.input (14) == Totta: # etsi painikkeita paina mc.player.setPos (0, 0, 0) # teleporttisoittimen aika.unen (0.5) # odota 0.5 sekuntia.
Tämän tiedoston pitäisi nyt näyttää tältä:
tuo RPi. GPIO GPIO: na. mcpi.minecraftista tuo Minecraft. tuontiaika mc = Minecraft.create () # luoda Minecraft Object GPIO.setmode (GPIO.BCM) # kertoa Pi: lle, mitä otsikoita käytetään. GPIO.setup (14, GPIO.IN) # kerro Pi: lle tämä nasta on tulo, kun totta: jos GPIO.input (14) == totta: # etsi painikkeita mc.player.setPos (0, 0, 0) # teleporttisoittimen aika.unen (0.5) # odottaa 0.5 sekuntia.
Tallenna se nimelläteleport.pyJa juokse.
Saatat huomata, että pelaaja takertuu joidenkin lohkojen sisään, kun käytät tätä, jolloin sinun on tehtävä säädä koordinaatit tunnettuun avoimeen tilaan (näytön vasemmassa yläkulmassa näkyy nykyinen sijainti).
Rakentaa talo

Viimeinen tämän painikkeen tehtävä on rakentaa talo. Aivan kuten yllä olevassa pikakaivos-esimerkissä tämä korvaa pelin ympäröivät lohkot talon tekemiseksi. Eri materiaaleille (ikkuna, seinät jne.) Käytetään erilaisia lohkotunnuksia. Asioiden koodaamisen helpottamiseksi luodaan kiinteä lohko, jonka jälkeen sisäpuoli poistetaan (aseta lohko ilmaiseksi), jolloin muodostuu ontto kuori. Voit lisätä ekstroja kuten sänky tai ovi, mutta Minecraft Pi -projekti on hiukan epätäydellinen, ja vaikka nämä esineet toimivat, kun pelaaja asettaa ne, ne eivät ole loistavia Pythonia käytettäessä.
mcpi.minecraftista tuo Minecraft. tuo RPi. GPIO GPIO: na. tuontiaika mc = Minecraft.create () # luoda Minecraft Object GPIO.setmode (GPIO.BCM) # kertoa Pi: lle, mitä otsikoita käytetään. GPIO.setup (14, GPIO.IN) # kertoa Pi: lle tämä nasta on tulo, kun totta: jos GPIO.input (14) == tosi: x, y, z = mc.player.getPos () mc.setBlocks ( x + 2, y - 1, z + 2, x + 7, y + 3, z + 8, 5) # tee kuori mc.setBlocks (x + 3, y, z + 3, x + 6, y + 2, z + 7, 0) # poista mc.setBlocks sisäpuolelta (x + 2, y, z + 5, x + 2, y + 1, z + 5, 0) # tee oviaukosta 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.
Tallenna tämä nimellähouse.pyJa juokse. Kaikki hyvin, sinun pitäisi nähdä pieni talo ilmestyvän (joudut ehkä kääntyä ympäri löytääksesi sen). Se on hyvin yksinkertainen, aukko ja jotkut ikkunat. Teoriassa ei ole mitään rajoja kuinka suurelle tai monimutkaiselle rakennukselle voisit rakentaa.
Tee minipeli

Tehdään seuraavaksi minipeli! Tämä on melko yksinkertaista, kun pelaaja astuu hiekkalohkoon, se muuttuu laavaksi satunnaisen ajan kuluttua. Tämä on hyvä tehdä peli, koska voit suunnitella omat tasosi tai muokata sitä vaikeuttamaan asioita. Et tarvitse painiketta tässä esimerkissä.
Luo uusi tiedosto ja tallenna se nimellämini_game.py“. Tässä on koodi:
mcpi.minecraftista tuo Minecraft. Tuo satunnainen. tuontiaika mc = Minecraft.create () # luoda Minecraft-objekti, kun totta: x, y, z = mc.player.getPos () pagrindinisunder_player = mc.getBlock (x, y - 1, z), jos pagrindunder_player == 12: # pelaaja seisoo hiekalla, käynnistä ajastin random_time = random.uniform (0,1, 2,5) # generoi satunnaisluku time.sleep (Random_time); # odota mc.setBlock (x, y - 1, z, 11) # muuta se laavaksi.
Tämä koodi on hyvä aloitusohjelma random () toimia: satunnainen.yhtenäinen (0,1, 2,5) tuottaa satunnaisluvun välillä 0,1 (1/10 sekuntia) - 2,5 (2 1/2 sekuntia). Näiden lukujen lisääminen tekee pelistä helpompaa.
Kokeile! Seiso hiekkalohkon päällä, ja se muuttuu pian laavaksi. Tämä voisi olla monimutkaisemman pelin perusta.
Tee uusi minipeli

Pelin lähtökohta on yksinkertainen - älä seiso puulattialla, kun aika loppuu. Pelaaja teleportoidaan “areenalle”. Heidät pakotetaan seisomaan paikallaan, kunnes peli alkaa. Käynnistyksen jälkeen lattia kääntyy veteen, kun ajastin loppuu. Pelaajan on seisottava turvallisella alueella (timanttilohkot) selviytyäkseen. Jokainen taso vähentää ajastinta sekunnilla. Jokaisen onnistuneen tason jälkeen turvallinen alue kasvaa. Katso alla oleva koodi:
tuontiaika. Tuo satunnainen. mcpi.minecraftista tuo Minecraft mc = Minecraft.create () # luo Minecraft Object # tyhjä alue. mc.setBlocks (-10, 1, -10, 25, 5, 25, 0) # luoda areenan kuori. mc.setBlocks (0, 0, 0, 25, 10, 25, 17) # ontto areena. mc.setBlocks (1, 1, 1, 24, 10, 24, 0) # siirrä pelaaja areenalle. mc.player.setPos (14, 25, 20) # teleporttisoitin # saa heidät pysymään paikoillaan. # teleportoija aloitusasentoon joka 10. sekunti. # Tee tämä 5 sekunnin ajan ja aloita peli. aika.sänky (2) total_wait = 0. mc.postToChat ("Odottaa aloittamista") kun taas total_wait <5: mc.player.setPos (14, 1, 20) # teleportoida soittimen aika.unen (0,1) total_wait + = 0,1 mc.postToChat ("ALKAA!") # 10 tasoa. tasolle alueella (10): x, y, z = mc.player.getPos () level_time = 10 - taso # lyhennä aikaa yhdellä sekunnilla jokaisella tasolla mc.postToChat ("Level -" + str (taso + 1) + "aloitus") # rakenna lattia mc.setBlocks (0, 0, 0, 25, 0, 25, 17) # tee turvallisesta alueesta 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) kulunut_aika = 0 kun kulunut_aika <10: x, y, z = mc.player.getPos () time.sleep (0.25) kulunut_time + = 0.25 # tarkista pelaaja on edelleen lattialla, jos y <0.75: mc.postToChat ("Game Yli ") tauko; muuten: # poista lattia mc.setBlocks (-10, 0, -10, 25, 0, 25, 8) # laita turvallinen alue takaisin mc.setBlocks (safe_area_start, 0, safe_area_end, safe_area_start + level, 0, safe_area_end + level, 57) time.sleep (2.5) jatka taukoa.
Tallenna tämä nimellämini_game_2.pyJa anna sen käydä.
Pi 2: lla on joitain suorituskykyongelmia Minecraftia ajaessa. Keskusyksikön (CPU) käyttökaavio (oikeassa yläkulmassa) ei koskaan näytä raskasta kuormitusta, joten kehittäjien tulee suunnitella ja optimoida tämä huonosti. Nämä ongelmat eivät liity käynnistyskoodiin (koska ne jatkuvat, kun Python ei ole käynnissä), mutta tämä minipeli vaikeuttaa niitä. Jos Pi todella kamppailee, saatat haluta pienentää areenan kokoa tai ylikellota Pi Ei tarpeeksi mehua? Purista vadelma-piä ylikellotuksellaJos vuonna 2012 julkaistaan laitteistoa, johon todennäköisesti rakastut, kyse on makeasta sokerista Raspberry Pi: stä, joka on suunniteltu ja rakennettu Isossa-Britanniassa ja joka on toimitettu ympäri ... Lue lisää .
Diamond-ilmaisin

Tehdään toinen piiri. Tämä syttyy valaisevan diodin (LED) avulla, kun alapuolella on timantteja (15 lohkon sisällä). Tässä on mitä tarvitset:
- 1 x leipätaulu
- 1 x LED
- 1 x 220 ohmin vastus
- Naaras> uros hypätä kaapelit
- Uros> Uroshyppyjohdot
Tässä on piiri:

Kytke anodi (pitkä jalka) GPIO-nastaan 14. Tämä nasta toimii kuten + 5v. Kytke katodi (lyhyt jalka) maahan.
Olen käyttänyt halpaa malmilelua ja muokannut sitä poistamalla takakuoren ja elektroniikan, asettanut sen jälkeen LEDin sen alle. Voit helposti tehdä tämän pysyväksi kuumalla liimalla tai jotain vastaavaa.

Tallenna tämä koodi nimellä “diamonds.py“:
tuo RPi. GPIO GPIO: na. tuontiaika. mcpi.minecraftista tuo Minecraft mc = Minecraft.create () # luo Minecraft Object led_pin = 14 # tallenna GPIO-PIN-numero GPIO.setmode (GPIO.BCM) # kerro Pi: lle, mitä otsikoita käytetään. GPIO.setup (14, GPIO.OUT) # kerro Pi: lle, että tämä nasta on lähtö, kun totta: # toista loputtomiin x, y, z = mc.player.getPos () i: lle alueella (15): # katso kaikkia estää kunnes lohko 15, jos mc.getBlock (x, y - i, z) == 56: GPIO.output (led_pin, True) # kytke LED päälle time.sleep (0.25) # odota GPIO.output (led_pin, False) # turn LED pois päältä.unen (0,25) # odota.
Kun soittimen alla on timanttimalmilohko (15 lohkon sisällä), valo vilkkuu.
Oletko tehnyt jotain hienoa Minecraft Pi: n avulla? Kerro minulle kommentteissa, mitä olet tehnyt tai kuinka pitkälle olet saanut sen peleissä.
Joe on valmistunut tietojenkäsittelytieteestä Lincolnin yliopistosta, Iso-Britannia. Hän on ammattimainen ohjelmistokehittäjä, ja kun hän ei lentä drooneja tai kirjoita musiikkia, hänet voidaan usein löytää ottamasta valokuvia tai tuottamaan videoita.