Uzziniet Python un elektroniku, izmantojot Minecraft Pi Edition

Uzziniet Python un elektroniku, izmantojot Minecraft Pi Edition

Vai vienmēr esat vēlējies iemācīties kodēt, bet nezinājāt, ar ko sākt? Uzziniet, kā vadīt Minecraft uz Raspberry Pi, izmantojot Python un dažas vienkāršas elektronikas. Šeit ir gala rezultāts:





Šim projektam jums būs nepieciešams Pi 2 vai jaunāks, un, lai gan lielāko daļu šo uzdevumu jūs varētu paveikt, izmantojot komandrindu, izmantojot Secure Shell (SSH), šī apmācība koncentrēsies uz kodēšanu tieši uz Pi.





Vai esat jauns Minecraft? Neuztraucieties - šeit ir mūsu Minecraft ceļvedis iesācējiem .





Ievads Minecraft Pi

Minecraft for the Raspberry Pi ir izstrādāts mācībām un mīklai (un tas ir bez maksas). Tam ir lietojumprogrammu programmēšanas saskarne (API), kas nodrošina kodu, lai viegli sazinātos ar Minecraft. Tas ir lieliski, lai uzzinātu, kā kodēt Python, kā arī lai sāktu darbu ar elektroniku.

Kas ir Python?

Python ir programmēšanas valoda. Tas ir interpretēts , kas nozīmē, ka, palaižot Python failu vai programmu, datoram vispirms ir jāveic neliels darbs ar failu. Negatīvie ir tas, ka to var uzskatīt par lēnu, salīdzinot ar apkopotajām valodām [Broken URL Removed].



Tulkoto valodu priekšrocības ir kodēšanas ātrums un to draudzīgums. Jums nav jāstāsta datoram kas datus, kurus vēlaties saglabāt, tikai to, ka vēlaties kaut ko saglabāt, un dators izdomās, ko darīt. Protams, ir izņēmumi, un tas ir nedaudz vienkāršots uzskats, tomēr programmēšanai vajadzētu būt jautrai! Ja jūs sākat iedziļināties sarežģītās tehniskajās detaļās, tas var kļūt nedaudz darbietilpīgs.

Python ir reģistrjutīgs. Tas ir svarīgi zināt, jo Python neatpazīs objektus pat ja tie ir uzrakstīti pareizi ja gadījums ir nepareizs. “Dosomething ()” nedarbosies, ja metodi faktiski sauc par “DoSomething ()”. Python izmanto arī atkāpi . Citām programmēšanas valodām, iespējams, ir vienalga, cik ievilkumu ir jūsu kodam, savukārt Python dara aprūpe. Atkāpes tiek izmantotas, lai norādītu Python, kur pieder kods. Citās valodās koda grupēšanai var izmantot “cirtainās breketes” ({}) - Python tās neizmanto. Python komentāriem izmanto jaucējzīmi (#), un komentāri tiek izmantoti, lai pastāstītu citiem izstrādātājiem vai lietotājiem, kuri skatās uz kodu, ko konkrētā daļa dara vai kāpēc tā ir nepieciešama. Python pēc sajaukšanas neko ignorē.





Visbeidzot, ir divas galvenās Python versijas - Python 2.7.x un Python 3.x. Starp abiem ir dažas atšķirības ( kādas ir atšķirības? ). Šajā apmācībā tiks izmantots Python 3.

Sākotnējā iestatīšana

Sniedzot savu Pi, jau ir Raspbian iestatīšana un palaišana , nav nepieciešama liela sākotnējā iestatīšana.





Atvērt termināli ( Izvēlne> Aksesuāri> Terminālis ) un izpildiet šo komandu. Vienmēr laba prakse ir atjaunināt krātuves sarakstu, un tas lejupielādēs jaunāko programmu sarakstu (tas neielādēs pašas programmas, tas palīdz Pi zināt, kādas programmas sauc un kur tās atrast).

sudo apt-get update

Tagad atjauniniet Pi (tas var aizņemt kādu laiku):

sudo apt-get upgrade

Python un Minecraft Pi jau ir instalēti, taču, ja Minecraft Pi kāda iemesla dēļ nav instalēts, to ir vienkārši instalēt:

sudo apt-get install minecraft-pi

Dodieties uz dokumentiem un izveidojiet jaunu mapi ar nosaukumu “Minecraft”:

cd Documents/
mkdir Minecraft

Jūs varat apskatīt šīs jaunās mapes saturu:

ls

Šeit ir padoms - ja sākat rakstīt un nospiežat taustiņu TAB, komandrinda mēģinās automātiski pabeigt paziņojumu jūsu vietā.

Jūs varat pārbaudīt ceļu uz pašreizējo direktoriju, izmantojot pwd, kas apzīmē drukas darba direktoriju:

pwd

Sāciet Minecraft, dodoties uz Izvēlne> Spēles> Minecraft Pi . Šī skriešana jums būs nepieciešama, taču atgriezīsieties pie tās vēlāk.

Atveriet Python 3 no Izvēlne> Programmēšana> Python 3 (IDLE) . Šī programma nodrošina veidu, kā palaist Python komandas un rakstīt programmas.

Tagad jūs varētu šeit ierakstīt savas Python komandas, taču tas nav ļoti praktiski. Iet uz Fails> Jauns fails un tad Fails> Saglabāt un saglabājiet to iepriekš izveidotajā mapē. ( Dokumenti> Minecraft ). Sauksim to ' hello_world.py '. Jums nav jāizmanto paplašinājums .py, tas tiks pievienots automātiski, taču tā ir laba prakse.

Ja pārslēdzaties atpakaļ uz termināli un dodaties uz mapi Minecraft, jums vajadzētu redzēt tikko izveidoto failu:

cd Minecraft/
ls

Šo failu var palaist šādi:

python hello_world

Ievērojiet, cik “python” ir mazie burti. Tam jābūt pirms faila nosaukuma, jo tas Pi norāda, ka nākamais fails ir Python, tāpēc tas ir jāizpilda kā tāds.

Pārslēdzieties atpakaļ uz Python redaktoru un ierakstiet:

print 'Hello, World!'

Saglabājiet šo failu un palaidiet to vēlreiz. Tagad jums vajadzētu redzēt “Sveiki, pasaule!” parādās komandrindā - glīti! Drukāšanas komanda vienkārši liek Python izvadīt šādu tekstu ar pēdiņām. Tas ir labi, bet ne ļoti noderīgi Minecraft, saistīsim to:

from mcpi.minecraft import Minecraft
mc = Minecraft.create()
mc.postToChat('Hello, World!')

Tagad, saglabājot un palaižot šo failu, jums vajadzētu redzēt “Sveika, pasaule!” parādās Minecraft spēlē. Sadalīsim kodu:

from mcpi.minecraft import Minecraft

Šī rindiņa norāda Python, ka vēlaties izmantot cita faila kodu. Šis fails mcpi.minecraft tika izstrādāts, lai ļautu viegli kontrolēt Minecraft.

mc = Minecraft.create()

Šī līnija izveido objektu ar nosaukumu “mc” (Minecraft). Tas ir jāizveido, lai ļautu sazināties ar spēli Minecraft - nepietiek tikai ar faila iekļaušanu.

mc.postToChat('Hello, World!')

Visbeidzot, šī rindiņa liek Minecraft rakstīt tērzēšanai tekstu. Mēģiniet mainīt “Sveika, pasaule!” uz kaut ko citu un redzēt, kas notiek, taču atcerieties iekļaut abas pēdiņas. Ja jums ir programmatūras problēmas, šīs ir dažas izplatītas Python un Minecraft Pi kļūdas:

  • AttributeError - šī ir drukas kļūda, piemēram, pint vai prnt drukas vietā
  • NameError: nosaukums 'Minecraft' nav definēts - neaizmirstiet importēt nepieciešamos moduļus
  • NameError: nosaukums 'true' nav definēts - Python ir reģistrjutīgs, mainiet uz 'True'
  • socket.error: [Errno 111] Savienojums atteikts - pārliecinieties, vai Minecraft darbojas

Projekti

Tagad, kad jūs zināt Python un Minecraft pamatus, izveidosim dažus foršus projektus. Visu kodu var lejupielādēt no Github.

Automatizēts tiltu veidotājs

Šī programma efektīvi izveidos tiltu pār ūdeni. Kad spēlētājs pietuvojas ūdenstilpei, programma vairākus blokus pārvērtīs par akmeni. Tā kā Minecraft izmanto koordinātu sistēmu, ir ļoti viegli iegūt atskaņotāja atrašanās vietu, kā arī bloku veidu ap atskaņotāju. Minecraft Pi ir nedaudz ierobežots, tāpēc nav iespējams vairumā atjaunināt vairākus dažādus blokus. Tomēr jūs varat viegli kodēt šo uzvedību pats.

Izveidojiet jaunu failu ( Fails> Jauns fails ) un saglabājiet to kā ' bridge_builder.py '.

from mcpi.minecraft import Minecraft
mc = Minecraft.create() # create Minecraft Object
while True:
x, y, z = mc.player.getPos() # store player position

# store the surrounding blocks
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)
if a == 8 or a == 9 or b == 8 or b == 9 or c == 8 or c == 9 or d == 8 or d == 9:
# 8 or 9 is water. Set surrounding blocks on floor to a solid (stone) if water is found
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)

Ievērojiet, kā y vērtība patiesībā skatās uz y - 1. Tas ir grīdas līmenis. Ja tiktu izmantota y vērtība, skripts meklētu blokus apmēram ceļa līmenī - tas nedarbotos ļoti labi! Mc.getBlock () atgriež bloka id norādītajām koordinātām. Tā kā x, y un z ir spēlētāja koordinātas, varat tām pievienot vai atņemt, lai iegūtu pozīcijas ap atskaņotāju. Jums nav jāizmanto x, y un z vērtības, jūs varat izmantot jebkuru skaitli, tomēr jūs, iespējams, nezināt, kā konkrētais bloks attiecas uz atskaņotāju - labāk ir izmantot vērtības attiecībā pret atskaņotāju. Palaidiet šo failu no komandrindas un skatiet, kas notiek.

Jums vajadzētu redzēt, ka neliela zemes platība pārvēršas par akmeni, kad spēlētājs sasniedz ūdenstilpi. Tas nav lieliski - jūs varat staigāt pietiekami ātri, lai radītu problēmu. Jūs to varētu atrisināt, pārvēršot lielāku ūdens daudzumu sauszemē. Metodes mc.setBlocks () pēdējā daļa ir bloka id. Viens ir akmens bloka ID. Jūs to varat mainīt uz koku, zāli vai jebko citu. Ja vēlaties, varat to viegli pārveidot par sarežģītu dizainu - varbūt piekaramo tiltu!

Super ieguves poga

Šis piemērs padarīs īsu kalnrūpniecības darbu. Tas sastāv no fiziskas pogas, kuru nospiežot, tiks iegūti 10 klucīši. Sāksim ar pogu. Līdzīgi kā Arduino pogām, jums būs nepieciešams neliels daudzums elektronikas, kas viss ir atrodams pamata sākuma komplektā:

  • 1 x maizes dēlis
  • 1 x īslaicīgs slēdzis
  • 1 x 220 omu rezistors
  • Sieviešu> vīriešu lēcienu kabeļi
  • Tēviņš> Vīriešu lēcienu kabeļi

Šeit ir shēma:

Pi pogas savienojums

Šo rezistoru sauc par “nolaižamu” rezistoru. Tas palīdz nodrošināt, ka tas, ko Pi uzskata, ir nospiesta poga, patiešām poga. Jums tas nav jāizmanto, tomēr tas ir ieteicams, jo bez tā var atrast daudz trokšņa un nepatiesu rādījumu.

Poga ir savienota ar vispārējas nozīmes ievades izvades (GPIO) tapu 14. Jūs varat izmantot jebkuru GPIO tapu, tomēr apskatiet pinout pirmkārt, tā kā tos visus nevar kontrolēt no Pi, un tie modeļos nedaudz atšķiras.

Tagad, kad poga ir pievienota, ir pienācis laiks to pārbaudīt. Izveidojiet jaunu failu un saglabājiet to kā button_test.py '. Pievienojiet šo kodu, saglabājiet to un pēc tam palaidiet to terminālī.

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use
GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input
while True:
if GPIO.input(14) == True: # look for button press
print 'BUTTON WORKS!' # log result
time.sleep(0.5) # wait 0.5 seconds

Nospiediet Ctrl + C lai apturētu skriptu. Ja viss darbojas pareizi, jums vajadzētu redzēt 'POGA DARBO!' terminālī. Ievērojiet, kā šajā testā, tāpat kā Minecraft modulī, tiek izmantoti RPi.GPIO un laika moduļi. Tie ļauj Pi piekļūt aparatūras tapām un nodrošina noderīgas laika funkcijas.

Tagad ļaujiet pabeigt pārējo kodu. Izveidojiet jaunu failu ar nosaukumu ' super_mine.py '. Šeit ir kods:

import RPi.GPIO as GPIO
import time
from mcpi.minecraft import Minecraft
mc = Minecraft.create() # create Minecraft Object
GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use
GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input
while True:
if GPIO.input(14) == True: # look for button press
x, y, z = mc.player.getPos() # read the player position
mc.setBlocks(x, y, z, x + 10, y + 10, z + 10, 0) # mine 10 blocks
mc.setBlocks(x, y, z, x - 10, y + 10, z - 10, 0) # mine 10 blocks
time.sleep(0.5) # wait 0.5 seconds

mc.player.getPos () atgriež spēlētāju pašreizējās koordinātas, kuras pēc tam tiek saglabātas x, y un z. The setBlocks () metode liek Minecraft aizpildīt visus blokus starp sākumu un beigām ar šādu bloku. Nulle ir gaisa bloķēšanas ID. Jūs varētu mainīt to uz citu bloka ID, lai pilnībā aizpildītu apgabalu. Jūs varētu arī mainīt koordinātas uz +100 vai pat +1000 blokiem, tomēr Pi var sākt cīnīties, ja kļūstat pārāk traks. Ievērojiet, kā y + 10 abām rindām ir vienāds. Ja vēlaties noņemt blokus pazemē, varat to mainīt uz y - 10.

Teleportēšanās

Vēl viena vienkārša šīs pogas izmantošana varētu būt “teleportēšanās”. Minecraft Pi Api nodrošina veidu, kā iestatīt spēlētāja pozīciju. Šis kods “teleportēs” atskaņotāju uz iepriekš noteiktu atrašanās vietu:

mc.player.setPos(0, 0, 0)

Ņemiet vērā, ka viņa metode pieņem trīs parametrus; x, y un z - lai jūs varētu tos iestatīt uz jebko, lai uzreiz teleportētu atskaņotāju uz šo vietu.

Izveidojiet super_mine faila kopiju ( Fails> Saglabāt kopiju kā ) un modificējiet to, aizstājot if ar šādu:

if GPIO.input(14) == True: # look for button press
mc.player.setPos(0, 0, 0) # teleport player
time.sleep(0.5) # wait 0.5 seconds

Šim failam tagad vajadzētu izskatīties šādi:

import RPi.GPIO as GPIO
from mcpi.minecraft import Minecraft
import time
mc = Minecraft.create() # create Minecraft Object
GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use
GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input
while True:
if GPIO.input(14) == True: # look for button press
mc.player.setPos(0, 0, 0) # teleport player
time.sleep(0.5) # wait 0.5 seconds

Saglabāt kā ' teleport.py 'un skrien.

Lietojot to, spēlētājs var iestrēgt dažos blokos, un tādā gadījumā jums būs jāpielāgo koordinātas zināmai atklātai vietai (ekrāna augšējā kreisajā stūrī ir redzama jūsu pašreizējā atrašanās vieta).

Veidojiet māju

Pēdējais šīs pogas uzdevums ir uzcelt māju. Līdzīgi kā iepriekš minētais ātrās ieguves piemērs, tas vienkārši aizstās blokus, kas ieskauj atskaņotāju, lai izveidotu māju. Dažādiem materiāliem (logiem, sienām utt.) Tiks izmantoti dažādi bloķēšanas ID. Lai atvieglotu kodēšanu, tiks izveidots ciets bloks, un pēc tam noņems iekšpusi (iestatiet bloku gaisā), tādējādi izveidojot dobu apvalku. Jūs varētu pievienot papildinājumus, piemēram, gultu vai durvis, tomēr Minecraft Pi projekts ir nedaudz nepilnīgs, un, lai gan šie objekti darbojas, kad tos ievieto spēlētājs, tie nav izcili, lietojot Python.

from mcpi.minecraft import Minecraft
import RPi.GPIO as GPIO
import time
mc = Minecraft.create() # create Minecraft Object
GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use
GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input
while True:
if GPIO.input(14) == True:
x, y, z = mc.player.getPos()
mc.setBlocks(x + 2, y - 1, z + 2, x + 7, y + 3, z + 8, 5) # make shell
mc.setBlocks(x + 3, y, z + 3, x + 6, y + 2, z + 7, 0) # remove inside
mc.setBlocks(x + 2, y, z + 5, x + 2, y + 1, z + 5, 0) # make doorway
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

Saglabāt šo kā ' māja.py 'un skrien. Ja viss ir kārtībā, jums vajadzētu redzēt nelielu māju (iespējams, jums vajadzēs pagriezties, lai to atrastu). Tas ir ļoti vienkārši, atvere un daži logi. Teorētiski nav ierobežojumu tam, cik lielu vai sarežģītu ēku jūs varētu uzbūvēt.

Izveidojiet mini spēli

Tālāk izveidosim mini spēli! Tas būs pavisam vienkārši, kad spēlētājs uzkāpj uz smilšu bluķa, tas pēc nejaušības laika pārvērtīsies par lavu. Šī ir laba spēle, jo jūs varat izveidot savus līmeņus vai pārveidot to, lai padarītu lietas grūtākas. Šajā piemērā poga nebūs nepieciešama.

Izveidojiet jaunu failu un saglabājiet to kā mini_game.py '. Šeit ir kods:

from mcpi.minecraft import Minecraft
import random
import time
mc = Minecraft.create() # create Minecraft Object
while True:
x, y, z = mc.player.getPos()
block_under_player = mc.getBlock(x, y - 1, z)

if block_under_player == 12:
# player standing on sand, start the timer
random_time = random.uniform(0.1, 2.5) # generate random number
time.sleep(random_time); # wait
mc.setBlock(x, y - 1, z, 11) # turn it into lava

Šis kods ir labs iesācējs nejauši () funkcija: nejaušs. vienveidīgs (0,1, 2,5) ģenerēs nejaušu skaitli no 0,1 (1/10 sekundes) līdz 2,5 (2 1/2 sekundes). Šo skaitļu palielināšana padarīs spēli vieglāku.

Izmēģini! Stāviet uz smilšu bloka, un tas drīz pārvērtīsies par lavu. Tas varētu būt sarežģītākas spēles pamats.

Izveidojiet vēl vienu mini spēli

Šīs spēles priekšnoteikums ir vienkāršs - nestāviet uz koka grīdas, kad beidzas laiks. Spēlētājs tiek teleportēts “arēnā”. Viņi ir spiesti stāvēt līdz spēles sākumam. Tiklīdz taimeris būs beidzies, grīda pēc palaišanas kļūs ūdens. Spēlētājam ir jāstāv drošā zonā (dimanta bloki), lai izdzīvotu. Katrs līmenis samazina taimeri par vienu sekundi. Pēc katra veiksmīga līmeņa drošā zona kļūst lielāka. Pārbaudiet tālāk norādīto kodu.

import time
import random
from mcpi.minecraft import Minecraft
mc = Minecraft.create() # create Minecraft Object
# clear area
mc.setBlocks(-10, 1, -10, 25, 5, 25, 0)
# create arena shell
mc.setBlocks(0, 0, 0, 25, 10, 25, 17)
# hollow out arena
mc.setBlocks(1, 1, 1, 24, 10, 24, 0)
# move player to arena
mc.player.setPos(14, 25, 20) # teleport player
# make them stay put
# teleport player to start position every 1/10th second.
# do this for 5 seconds then start the game
time.sleep(2)
total_wait = 0
mc.postToChat('Waiting to Start')
while total_wait <5:
mc.player.setPos(14, 1, 20) # teleport player
time.sleep(0.1)
total_wait += 0.1
mc.postToChat('BEGIN!')
# 10 levels
for level in range(10):
x, y, z = mc.player.getPos()
level_time = 10 - level # reduce time by 1 second for each level
mc.postToChat('Level - ' + str(level + 1) + ' start')
# build floor
mc.setBlocks(0, 0, 0, 25, 0, 25, 17)
# make safe area
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)
elapsed_time = 0
while elapsed_time <10:
x, y, z = mc.player.getPos()
time.sleep(0.25)
elapsed_time += 0.25
# check player is still on floor
if y <0.75:
mc.postToChat('Game Over')
break;
else:
# remove floor
mc.setBlocks(-10, 0, -10, 25, 0, 25, 8)
# put safe area back
mc.setBlocks(safe_area_start, 0, safe_area_end, safe_area_start + level, 0, safe_area_end + level, 57)
time.sleep(2.5)
continue
break

Saglabāt šo kā ' mini_game_2.py 'un ļaujiet tai palaist.

Palaižot Minecraft, Pi 2 ir dažas veiktspējas problēmas. Centrālās procesora (CPU) lietošanas grafiks ( augšējā labajā stūrī ) nekad neuzrāda lielu slodzi, tāpēc tam ir jābūt izstrādātāju sliktajam dizainam un optimizācijai. Šīs problēmas nav saistītas ar koda palaišanu (jo tās turpinās, kad Python nedarbojas), tomēr tās papildina šī mini spēle. Ja jūsu Pi patiešām cīnās, iespējams, vēlēsities samazināt arēnas izmēru vai pārspīlēt savu Pi.

kā lejupielādēt privātu facebook video

Dimanta detektors

Izveidosim citu ķēdi. Tas izmantos gaismas diodi (LED), lai iedegtos, kad zem tā ir dimanti (15 bloku robežās). Lūk, kas jums nepieciešams:

  • 1 x maizes dēlis
  • 1 x LED
  • 1 x 220 omu rezistors
  • Sieviešu> vīriešu lēcienu kabeļi
  • Tēviņš> Vīriešu lēcienu kabeļi

Šeit ir shēma:

Pievienojiet anodu (garo kāju) GPIO tapai 14. Šī tapa darbojas kā +5v. Pievienojiet katodu (īsu kāju) zemei.

Esmu izmantojis lētu rūdas rotaļlietu un pārveidojis to, noņemot aizmugurējo vāku un elektroniku, pēc tam zem tā ievietoju gaismas diodi. Jūs to varētu viegli padarīt pastāvīgu ar karstu līmi vai kaut ko līdzīgu.

Saglabāt šo kodu kā dimanti.py ':

import RPi.GPIO as GPIO
import time
from mcpi.minecraft import Minecraft
mc = Minecraft.create() # create Minecraft Object
led_pin = 14 # store the GPIO pin number
GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use
GPIO.setup(14, GPIO.OUT) # tell the Pi this pin is an output
while True:
# repeat indefinitely
x, y, z = mc.player.getPos()
for i in range(15):
# look at every block until block 15
if mc.getBlock(x, y - i, z) == 56:
GPIO.output(led_pin, True) # turn LED on
time.sleep(0.25) # wait
GPIO.output(led_pin, False) # turn LED off
time.sleep(0.25) # wait

Kad zem atskaņotāja (15 bloku robežās) atrodas dimanta rūdas bloks, gaisma mirgos.

ThinkGeek Minecraft Light -Up Blue Stone Diamond Ore - noteikti turēsiet cūkmenus prom PIRKT TŪLĪT AMAZON

Vai esat izveidojis kaut ko foršu ar Minecraft Pi? Ļaujiet man komentāros zināt, ko jūs veicāt vai cik tālu esat sasniedzis spēlēs.

Mēs ceram, ka jums patīk mūsu ieteiktie un apspriestie priekšmeti! MUO ir saistītas un sponsorētas partnerattiecības, tāpēc mēs saņemam daļu no ieņēmumiem no dažiem jūsu pirkumiem. Tas neietekmēs jūsu maksājamo cenu un palīdzēs mums piedāvāt labākos produktu ieteikumus.

Kopīgot Kopīgot Čivināt E -pasts Vai ir vērts jaunināt uz Windows 11?

Windows ir pārveidots. Bet vai ar to pietiek, lai pārliecinātu jūs pāriet no Windows 10 uz Windows 11?

Lasīt Tālāk
Saistītās tēmas
  • DIY
  • Programmēšana
  • Minecraft
  • Raspberry Pi
  • Elektronika
  • Python
Par autoru Džo Koburns(Publicēti 136 raksti)

Džo ir absolvējis datorzinātnes Linkolnas universitātē, Lielbritānijā. Viņš ir profesionāls programmatūras izstrādātājs, un, kad viņš nelido ar droniem un neraksta mūziku, viņu bieži var atrast, fotografējot vai veidojot video.

Vairāk no Joe Coburn

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu
Kategorija Diy