Minecraft Pi பதிப்புடன் பைதான் மற்றும் எலக்ட்ரானிக்ஸ் கற்றுக்கொள்ளுங்கள்

Minecraft Pi பதிப்புடன் பைதான் மற்றும் எலக்ட்ரானிக்ஸ் கற்றுக்கொள்ளுங்கள்

நீங்கள் எப்போதும் குறியீட்டைக் கற்றுக்கொள்ள விரும்பினீர்கள், ஆனால் எங்கு தொடங்குவது என்று தெரியவில்லையா? பைதான் மற்றும் சில எளிய எலக்ட்ரானிக்ஸ் பயன்படுத்தி ராஸ்பெர்ரி பை மீது Minecraft ஐ எவ்வாறு கட்டுப்படுத்துவது என்பதை அறிக. இறுதி முடிவு இதோ:





இந்த திட்டத்திற்கு உங்களுக்கு Pi 2 அல்லது புதியது தேவைப்படும், மேலும் இந்த பணிகளில் பெரும்பாலானவற்றை பாதுகாப்பான ஷெல் (SSH) வழியாக கட்டளை வரி வழியாக முடிக்க முடியும், இந்த டுடோரியல் நேரடியாக Pi இல் குறியீட்டில் கவனம் செலுத்தும்.





Minecraft க்கு புதியதா? கவலைப்படாதே - இதோ எங்களுடையது Minecraft தொடக்க வழிகாட்டி .





Minecraft Pi அறிமுகம்

ராஸ்பெர்ரி பைக்கான Minecraft கற்றல் மற்றும் டிங்கரிங்கிற்காக உருவாக்கப்பட்டது (மேலும் இது இலவசம்). இது பயன்பாட்டு நிரலாக்க இடைமுகத்துடன் (API) வருகிறது, இது Minecraft உடன் குறியீட்டை எளிதில் பேசுவதற்கான வழியை வழங்குகிறது. பைத்தானில் குறியீட்டை எவ்வாறு கற்றுக்கொள்வது மற்றும் எலக்ட்ரானிக்ஸ் மூலம் தொடங்குவது சிறந்தது.

பைதான் என்றால் என்ன?

பைதான் ஒரு நிரலாக்க மொழி. இது விளக்கப்பட்டது அதாவது, நீங்கள் ஒரு பைதான் கோப்பு அல்லது நிரலை இயக்கும்போது, ​​கணினி முதலில் கோப்பிற்கு ஒரு சிறிய வேலையைச் செய்ய வேண்டும். தீமைகள் தொகுக்கப்பட்ட மொழிகளுடன் ஒப்பிடும்போது இது மெதுவாக கருதப்படலாம் [உடைந்த URL அகற்றப்பட்டது].



விளக்கமளிக்கப்பட்ட மொழிகளின் நன்மைகள் குறியீட்டு வேகம் மற்றும் அவற்றின் நட்பு. நீங்கள் கணினியிடம் சொல்லத் தேவையில்லை என்ன நீங்கள் சேமிக்க விரும்பும் தரவு, நீங்கள் எதையாவது சேமிக்க வேண்டும் மற்றும் கணினி என்ன செய்வது என்று கண்டுபிடிக்கும். நிச்சயமாக, விதிவிலக்குகள் உள்ளன, இது ஓரளவு எளிமைப்படுத்தப்பட்ட பார்வை, இருப்பினும் நிரலாக்கமானது வேடிக்கையாக இருக்க வேண்டும்! சிக்கலான தொழில்நுட்ப விவரங்களை நீங்கள் தோண்டி எடுக்க ஆரம்பித்தால் அது சற்று உழைப்பாக இருக்கும்.

பைதான் வழக்கு உணர்திறன் கொண்டது. பைதான் பொருள்களை அடையாளம் காணாததால், இதை தெரிந்து கொள்வது அவசியம் அவை சரியாக உச்சரிக்கப்பட்டாலும் வழக்கு தவறாக இருந்தால். இந்த முறையை உண்மையில் 'DoSomething ()' என்று அழைத்தால் 'Dosomething ()' வேலை செய்யாது. பைதான் உள்தள்ளலையும் பயன்படுத்துகிறது . மற்ற நிரலாக்க மொழிகள் உங்கள் குறியீட்டில் எத்தனை உள்தள்ளல்கள் இருந்தாலும், பைதான் செய்யும் பராமரிப்பு. பைதான் எங்கு குறியீட்டைச் சேர்ந்தது என்று சொல்வதற்கு உள்தள்ளல்கள் பயன்படுத்தப்படுகின்றன. மற்ற மொழிகள் குழு குறியீட்டிற்கு 'கர்லி ப்ரேஸ்' ({}) பயன்படுத்தலாம் - பைதான் இவற்றைப் பயன்படுத்துவதில்லை. பைதான் கருத்துக்களுக்கு ஒரு ஹாஷ் (#) ஐப் பயன்படுத்துகிறது, மேலும் ஒரு குறிப்பிட்ட பகுதி என்ன செய்கிறது, அல்லது ஏன் தேவை என்று குறியீட்டைப் பார்க்கும் மற்ற டெவலப்பர்கள் அல்லது மக்களிடம் சொல்ல கருத்துகள் பயன்படுத்தப்படுகின்றன. ஒரு ஹாஷுக்குப் பிறகு பைதான் எதையும் புறக்கணிக்கிறது.





இறுதியாக, பைத்தானின் இரண்டு முக்கிய பதிப்புகள் உள்ளன - பைதான் 2.7.x மற்றும் பைதான் 3.x. இரண்டுக்கும் இடையே சில வேறுபாடுகள் உள்ளன ( வேறுபாடுகள் என்ன? ) இந்த பயிற்சி பைதான் 3 ஐப் பயன்படுத்தும்.

ஆரம்ப அமைப்பு

உங்கள் பை வழங்குவது ஏற்கனவே உள்ளது அமைத்தல் மற்றும் இயங்கும் ராஸ்பியன் , ஆரம்ப அமைப்பு நிறைய தேவையில்லை.





திறந்த முனையம் ( மெனு> துணைக்கருவிகள்> முனையம் ) மற்றும் இந்த கட்டளையை இயக்கவும். களஞ்சியப் பட்டியலைப் புதுப்பித்த நிலையில் வைத்திருப்பது எப்போதுமே நல்ல நடைமுறையாகும், மேலும் இது சமீபத்திய நிரல்களின் பட்டியலைப் பதிவிறக்கும் (இது நிரல்களைத் தாமே பதிவிறக்காது, இது என்ன நிரல்கள் அழைக்கப்படுகிறது மற்றும் எங்கு கண்டுபிடிக்க வேண்டும் என்பதை அறிய உதவுகிறது.)

sudo apt-get update

இப்போது Pi ஐ மேம்படுத்தவும் (இதற்கு சிறிது நேரம் ஆகலாம்):

sudo apt-get upgrade

பைதான் மற்றும் Minecraft Pi ஏற்கனவே நிறுவப்பட்டுள்ளன, இருப்பினும் Minecraft Pi எந்த காரணத்திற்காகவும் நிறுவப்படவில்லை என்றால், அதை நிறுவுவது எளிது:

sudo apt-get install minecraft-pi

ஆவணங்களுக்குச் சென்று 'Minecraft' என்ற புதிய கோப்புறையை உருவாக்கவும்:

cd Documents/
mkdir Minecraft

இந்த புதிய கோப்புறையின் உள்ளடக்கங்களை நீங்கள் பார்க்கலாம்:

ls

இங்கே ஒரு உதவிக்குறிப்பு - நீங்கள் தட்டச்சு செய்து TAB விசையை அழுத்தினால், கட்டளை வரி உங்களுக்காக அறிக்கையை தானாக நிறைவு செய்ய முயற்சிக்கும்.

PWD ஐப் பயன்படுத்தி தற்போதைய கோப்பகத்திற்கான பாதையை நீங்கள் ஆராயலாம், இது அச்சு வேலை அடைவை குறிக்கிறது:

pwd

செல்வதன் மூலம் Minecraft ஐத் தொடங்குங்கள் பட்டி> விளையாட்டுகள்> Minecraft Pi . உங்களுக்கு இந்த ஓட்டம் தேவைப்படும், ஆனால் பின்னர் அதற்குத் திரும்புவேன்.

பைதான் 3 ஐ திறக்கவும் மெனு> புரோகிராமிங்> பைதான் 3 (ஐடிஎல்இ) . இந்த திட்டம் நீங்கள் பைதான் கட்டளைகளை இயக்கவும் நிரல்களை எழுதவும் ஒரு வழியை வழங்குகிறது.

இப்போது நீங்கள் உங்கள் பைதான் கட்டளைகளை இங்கே தட்டச்சு செய்யலாம், ஆனால் அது மிகவும் நடைமுறைக்குரியது அல்ல. செல்லவும் கோப்பு> புதிய கோப்பு பின்னர் கோப்பு> சேமி இதை நீங்கள் முன்பு உருவாக்கிய கோப்புறையில் சேமிக்கவும். ( ஆவணங்கள்> Minecraft ) அதை அழைக்கலாம் ' வணக்கம்_உலகம் ' நீங்கள் .py நீட்டிப்பைப் பயன்படுத்த வேண்டியதில்லை, இது தானாகவே சேர்க்கப்படும், ஆனால் இது நல்ல நடைமுறை.

நீங்கள் மீண்டும் முனையத்திற்கு மாறி, Minecraft கோப்புறையில் சென்றால், நீங்கள் இப்போது உருவாக்கிய கோப்பைப் பார்க்க வேண்டும்:

cd Minecraft/
ls

நீங்கள் இந்தக் கோப்பை இப்படி இயக்கலாம்:

python hello_world

'பைதான்' எல்லாம் எப்படி சிறிய எழுத்து என்பதை கவனியுங்கள். இது கோப்பு பெயருக்கு முன்னதாக இருக்க வேண்டும், ஏனெனில் இது பைக்கு பின்வரும் கோப்பு பைதான் என்று கூறுகிறது, எனவே அது அப்படியே செயல்படுத்தப்பட வேண்டும்.

பைதான் எடிட்டருக்கு திரும்பி, தட்டச்சு செய்க:

print 'Hello, World!'

இந்தக் கோப்பைச் சேமித்து மீண்டும் இயக்கவும் - நீங்கள் இப்போது 'ஹலோ, உலகம்!' கட்டளை வரியில் தோன்றும் - சுத்தமாக! அச்சு கட்டளை பைத்தானுக்கு பின்வரும் உரையை இரட்டை மேற்கோள்களில் வெளியிடச் சொல்கிறது. இது நல்லது, ஆனால் Minecraft க்கு மிகவும் பயனுள்ளதாக இல்லை, அதை இணைப்போம்:

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

இப்போது நீங்கள் இந்தக் கோப்பைச் சேமித்து இயக்கினால், நீங்கள் 'ஹலோ, உலகம்!' Minecraft விளையாட்டில் தோன்றும். குறியீட்டைப் பிரிப்போம்:

from mcpi.minecraft import Minecraft

இந்த கோடு பைத்தானுக்கு நீங்கள் மற்றொரு கோப்பிலிருந்து குறியீட்டைப் பயன்படுத்த விரும்புகிறீர்கள் என்று கூறுகிறது. இந்த mcpi.minecraft கோப்பு Minecraft ஐ எளிதாக கட்டுப்படுத்த அனுமதிக்கிறது.

mc = Minecraft.create()

இந்த வரி 'mc' (Minecraft) எனப்படும் ஒரு பொருளை உருவாக்குகிறது. Minecraft விளையாட்டுக்கு தகவல்தொடர்புகளை அனுமதிக்க நீங்கள் இதை உருவாக்க வேண்டும் - கோப்பைச் சேர்த்தால் மட்டும் போதாது.

mc.postToChat('Hello, World!')

இறுதியாக, இந்த வரி Minecraft ஐ அரட்டைக்கு சில உரை எழுதச் சொல்கிறது. 'வணக்கம், உலகம்!' வேறு ஏதாவது மற்றும் என்ன நடக்கிறது என்று பாருங்கள், ஆனால் இரட்டை மேற்கோள்கள் இரண்டையும் சேர்க்க நினைவில் கொள்ளுங்கள். உங்களுக்கு மென்பொருள் சிக்கல்கள் இருந்தால், இவை சில பொதுவான பைதான் மற்றும் Minecraft Pi பிழைகள்:

  • AttributeError - இது அச்சுக்கு பதிலாக பிண்ட் அல்லது பிரிண்ட் போன்ற ஒரு எழுத்துப்பிழை
  • பெயர் பிழை: பெயர் 'Minecraft' வரையறுக்கப்படவில்லை - உங்களுக்குத் தேவையான தொகுதிகளை இறக்குமதி செய்ய நினைவில் கொள்ளுங்கள்
  • பெயர் பிழை: பெயர் 'உண்மை' வரையறுக்கப்படவில்லை - பைதான் வழக்கு உணர்திறன், 'உண்மை' என மாற்றுகிறது
  • socket.error: [Errno 111] இணைப்பு மறுக்கப்பட்டது - Minecraft இயங்குவதை உறுதிசெய்க

திட்டங்கள்

பைதான் மற்றும் மின்கிராஃப்ட் அடிப்படைகளை இப்போது நீங்கள் அறிவீர்கள், சில அருமையான திட்டங்களை உருவாக்குவோம். கோடெகான் அனைத்தும் கிதுபிலிருந்து பதிவிறக்கம் செய்யப்படலாம்.

தானியங்கி பாலம் கட்டுபவர்

இந்த திட்டம் தண்ணீரின் மீது ஒரு பாலத்தை திறம்பட உருவாக்கும். வீரர் ஒரு நீர்நிலைக்கு அருகில் வரும்போது, ​​நிரல் பல தொகுதிகளை கல்லாக மாற்றும். Minecraft ஒரு ஒருங்கிணைப்பு அமைப்பைப் பயன்படுத்துவதால், பிளேயரைச் சுற்றியுள்ள தொகுதிகளைக் கொண்டு பிளேயரின் இருப்பிடத்தைப் பெறுவது மிகவும் எளிதானது. Minecraft Pi சற்று குறைவாக உள்ளது, எனவே மொத்தமாக பல்வேறு தொகுதிகளை புதுப்பிக்க முடியாது. இருப்பினும், இந்த நடத்தையை நீங்களே எளிதாக குறியிடலாம்.

புதிய கோப்பை உருவாக்கவும் ( கோப்பு> புதிய கோப்பு ) மற்றும் 'என சேமிக்கவும் பாலம்_பில்டர். பை '

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)

Y மதிப்பு உண்மையில் y - 1. ஐ எப்படிப் பார்க்கிறது என்பதைக் கவனியுங்கள். இது தரையின் நிலை. Y இன் மதிப்பு பயன்படுத்தப்பட்டால், ஸ்கிரிப்ட் முழங்கால் மட்டத்தில் உள்ள தொகுதிகளைத் தேடும் - அது நன்றாக வேலை செய்யாது! Mc.getBlock () கொடுக்கப்பட்ட ஆயத்தொலைவுகளுக்கு ஒரு தொகுதியின் ஐடியை வழங்குகிறது. X, y, மற்றும் z ஆகியவை பிளேயரின் ஆயத்தொலைவுகளாக இருப்பதால், பிளேயரைச் சுற்றியுள்ள நிலைகளைப் பெற நீங்கள் அவற்றைச் சேர்க்கலாம் அல்லது கழிக்கலாம். நீங்கள் x, y மற்றும் z மதிப்புகளைப் பயன்படுத்த வேண்டியதில்லை, நீங்கள் எந்த எண்ணையும் பயன்படுத்தலாம், இருப்பினும் அந்த குறிப்பிட்ட தொகுதி பிளேயருடன் எவ்வாறு தொடர்புடையது என்பது உங்களுக்குத் தெரியாது - பிளேயருடன் தொடர்புடைய மதிப்புகளைப் பயன்படுத்துவது நல்லது. கட்டளை வரியிலிருந்து இந்தக் கோப்பை இயக்கவும், என்ன நடக்கிறது என்று பார்க்கவும்.

பிளேயர் ஒரு நீர்நிலையை அடைந்தவுடன் தரையின் ஒரு சிறிய பகுதி கல்லாக மாறும் என்பதை நீங்கள் பார்க்க வேண்டும். இது சிறந்தது அல்ல - நீங்கள் ஒரு பிரச்சனையை ஏற்படுத்தும் அளவுக்கு வேகமாக நடக்க முடிகிறது. அதிக அளவு தண்ணீரை நிலமாக மாற்றுவதன் மூலம் இதை நீங்கள் தீர்க்கலாம். Mc.setBlocks () முறையின் இறுதி பகுதி தொகுதி ஐடி ஆகும். ஒன்று கல்லுக்கான தொகுதி ஐடி. நீங்கள் இதை மரம், புல் அல்லது வேறு எதையும் மாற்றலாம். நீங்கள் விரும்பினால், இதை ஒரு சிக்கலான வடிவமைப்பாக எளிதாக மாற்றலாம் - ஒருவேளை ஒரு தொங்கு பாலம்!

சூப்பர் மைனிங் பட்டன்

இந்த உதாரணம் குறுகிய சுரங்க வேலை செய்யும். இது ஒரு உடல் பொத்தானைக் கொண்டுள்ளது, அதை அழுத்தும்போது, ​​10 தொகுதிகள் க்யூப் செய்யப்பட்ட என்னுடையது. பொத்தானுடன் ஆரம்பிக்கலாம். அர்டுயினோவில் உள்ள பொத்தான்களைப் போலவே, உங்களுக்கு ஒரு சிறிய அளவு மின்னணுவியல் தேவைப்படும், இவை அனைத்தும் அடிப்படை ஸ்டார்டர் கிட்டில் காணப்பட வேண்டும்:

  • 1 x பிரட்போர்டு
  • 1 x தற்காலிக சுவிட்ச்
  • 1 x 220 ஓம் மின்தடை
  • பெண்> ஆண் ஜம்ப் கேபிள்கள்
  • ஆண்> ஆண் ஜம்ப் கேபிள்கள்

சுற்று இதோ:

பை-பட்டன்-இணைப்பு

இந்த மின்தடையம் 'புல் டவுன்' மின்தடை என்று அழைக்கப்படுகிறது. பொத்தானை அழுத்தினால் பை நினைப்பது உண்மையில் பொத்தானை அழுத்துவதை உறுதி செய்ய உதவுகிறது. நீங்கள் இதைப் பயன்படுத்த வேண்டியதில்லை, இருப்பினும் இது பரிந்துரைக்கப்படுகிறது, ஏனெனில் இது இல்லாமல் நிறைய சத்தம் மற்றும் தவறான வாசிப்புகளை நீங்கள் காணலாம்.

பொத்தான் பொது நோக்க உள்ளீடு வெளியீடு (GPIO) பின் 14 உடன் இணைக்கப்பட்டுள்ளது. நீங்கள் எந்த GPIO முனையையும் பயன்படுத்தலாம், இருப்பினும் பாருங்கள் பின்அவுட் முதலில், அவை அனைத்தும் Pi யிலிருந்து கட்டுப்படுத்த முடியாதவை, மற்றும் மாதிரிகள் இடையே சிறிது மாறுபடும்.

இப்போது பொத்தான் இணைக்கப்பட்டுள்ளது, அதைச் சோதிக்க வேண்டிய நேரம் இது. ஒரு புதிய கோப்பை உருவாக்கி அதை இவ்வாறு சேமிக்கவும் button_test.py ' இந்த குறியீட்டைச் சேர்த்து, அதைச் சேமித்து, பின்னர் அதை முனையத்தில் இயக்கவும்.

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

அச்சகம் கட்டுப்பாடு + சி ஸ்கிரிப்டை நிறுத்த. எல்லாம் சரியாக வேலை செய்தால், நீங்கள் 'பட்டன் வேலைகள்' பார்க்க வேண்டும். முனையத்தில் Minecraft தொகுதியைப் போல, இந்த சோதனை RPi.GPIO மற்றும் நேர தொகுதிகளைப் பயன்படுத்துகிறது என்பதைக் கவனியுங்கள். இவை பை வன்பொருள் ஊசிகளை அணுக மற்றும் பயனுள்ள நேர செயல்பாடுகளை வழங்க அனுமதிக்கிறது.

இப்போது மீதமுள்ள குறியீட்டை முடிக்கலாம். அழைக்கப்பட்ட புதிய கோப்பை உருவாக்கவும் super_mine.py ' குறியீடு இங்கே:

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 () x, y மற்றும் z இல் சேமிக்கப்பட்ட பிளேயர்கள் தற்போதைய ஆயத்தொலைவுகளை வழங்குகிறது. தி செட் பிளாக்ஸ் () பின்வரும் தொகுதியுடன் தொடக்கத்திற்கும் முடிவிற்கும் இடையில் உள்ள அனைத்து தொகுதிகளையும் நிரப்ப Minecraft க்கு முறை கூறுகிறது. பூஜ்ஜியம் என்பது காற்றுக்கான தடுப்பு ஐடி. ஒரு பகுதியை திடமாக நிரப்ப இதை நீங்கள் மற்றொரு பிளாக்-ஐடியாக மாற்றலாம். நீங்கள் ஆயங்களை +100 அல்லது +1000 தொகுதிகளாகவும் மாற்றலாம், இருப்பினும் நீங்கள் மிகவும் பைத்தியம் பிடித்தால் பை போராடத் தொடங்கலாம். இரண்டு வரிகளுக்கும் y + 10 எப்படி ஒரே மாதிரியாக இருக்கிறது என்பதைக் கவனியுங்கள். நீங்கள் நிலத்தடியில் உள்ள தொகுதிகளை அகற்ற விரும்பினால் இதை y - 10 என மாற்றலாம்.

டெலிபோர்டிங்

இந்த பொத்தானின் மற்றொரு எளிய பயன்பாடு 'டெலிபோர்ட்' ஆகும். Minecraft Pi Api பிளேயர் நிலையை அமைக்க ஒரு வழியை வழங்குகிறது. பின்வரும் குறியீடு பிளேயரை முன்னமைக்கப்பட்ட இடத்திற்கு 'டெலிபோர்ட்' செய்யும்:

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

அவரது முறை மூன்று அளவுருக்களை ஏற்றுக்கொள்கிறது என்பதை நினைவில் கொள்க; x, y, மற்றும் z - எனவே பிளேயரை உடனடியாக அந்த இடத்திற்கு டெலிபோர்ட் செய்ய நீங்கள் எதையும் அமைக்கலாம்.

சூப்பர்_மைன் கோப்பின் நகலை உருவாக்கவும் ( கோப்பு> நகலை இவ்வாறு சேமிக்கவும் ) மற்றும் if ஐ பின்வருமாறு மாற்றுவதன் மூலம் அதை மாற்றவும்:

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

இந்தக் கோப்பு இப்போது இப்படி இருக்க வேண்டும்:

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

இவ்வாறு சேமி teleport.py 'மற்றும் ஓடு.

இதைப் பயன்படுத்தும் போது பிளேயர் சில தொகுதிகளுக்குள் சிக்கிக்கொண்டதை நீங்கள் காணலாம், இந்த வழக்கில் நீங்கள் ஆயங்களை திறந்த வெளியில் சரிசெய்ய வேண்டும் (திரையின் மேல் இடதுபுறம் உங்கள் தற்போதைய இருப்பிடத்தைக் காட்டுகிறது).

ஒரு வீட்டைக் கட்டுங்கள்

இந்த பொத்தானின் கடைசி பணி ஒரு வீட்டைக் கட்டுவதாகும். மேலே உள்ள விரைவான சுரங்க உதாரணத்தைப் போலவே, இது ஒரு வீட்டை உருவாக்க பிளேயரைச் சுற்றியுள்ள தொகுதிகளை மாற்றும். வெவ்வேறு பொருட்களுக்கு (ஜன்னல், சுவர்கள் போன்றவை) வெவ்வேறு பிளாக்-ஐடிகள் பயன்படுத்தப்படும். விஷயங்களை குறியாக்க எளிதாக்க, ஒரு திடமான தொகுதி உருவாக்கப்படும், பின்னர் உள்ளே அகற்றப்படும் (தொகுதியை காற்றுக்கு அமைக்கவும்), இது ஒரு வெற்று ஓட்டை உருவாக்கும். நீங்கள் ஒரு படுக்கை அல்லது கதவு போன்ற கூடுதல் அம்சங்களைச் சேர்க்கலாம், இருப்பினும் Minecraft Pi திட்டம் கொஞ்சம் முழுமையடையாதது, மேலும் இந்த பொருள்கள் பிளேயரால் வைக்கப்படும் போது வேலை செய்யும் போது, ​​பைத்தானைப் பயன்படுத்தும் போது அவை புத்திசாலித்தனமாக இருக்காது.

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

இதை இவ்வாறு சேமிக்கவும் வீடு. பை 'மற்றும் ஓடு. எல்லாம் நன்றாக இருக்கிறது, நீங்கள் ஒரு சிறிய வீடு தோன்றுவதைப் பார்க்க வேண்டும் (அதைக் கண்டுபிடிக்க நீங்கள் திரும்ப வேண்டும்). இது மிகவும் எளிமையானது, ஒரு திறப்பு மற்றும் சில ஜன்னல்கள். கோட்பாட்டில், நீங்கள் எவ்வளவு பெரிய அல்லது சிக்கலான கட்டிடத்தை உருவாக்க முடியும் என்பதற்கு வரம்பு இல்லை.

ஒரு மினி கேம் செய்யுங்கள்

அடுத்து, ஒரு சிறு விளையாட்டை உருவாக்குவோம்! இது மிகவும் எளிமையாக இருக்கும், பிளேயர் மணல் தொகுதி மீது அடியெடுத்து வைக்கும்போது, ​​அது ஒரு சீரற்ற நேரத்திற்குப் பிறகு எரிமலைக்குழாயாக மாறும். இது ஒரு நல்ல விளையாட்டு, ஏனென்றால் நீங்கள் உங்கள் சொந்த நிலைகளை வடிவமைக்கலாம் அல்லது விஷயங்களை கடினமாக்க அதை மாற்றலாம். இந்த உதாரணத்திற்கு உங்களுக்கு பொத்தான் தேவையில்லை.

ஒரு புதிய கோப்பை உருவாக்கி அதை இவ்வாறு சேமிக்கவும் mini_game.py ' குறியீடு இங்கே:

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

இந்த குறியீடு ஒரு நல்ல தொடக்கமாகும் சீரற்ற() செயல்பாடு: random.uniform (0.1, 2.5) 0.1 (1/10 வினாடி) மற்றும் 2.5 (2 1/2 வினாடிகள்) இடையே ஒரு சீரற்ற எண்ணை உருவாக்கும். இந்த எண்களை அதிகரிப்பது விளையாட்டை எளிதாக்கும்.

முயற்சி செய்துப்பார்! ஒரு மணல் தொகுதியில் நிற்க, அது விரைவில் எரிமலைக்குழாயாக மாறும். இது மிகவும் சிக்கலான விளையாட்டின் அடிப்படையாக இருக்கலாம்.

மற்றொரு மினி கேம் செய்யுங்கள்

இந்த விளையாட்டுக்கான முன்மாதிரி எளிது - நேரம் முடியும் போது மர தரையில் நிற்க வேண்டாம். வீரர் ஒரு 'அரங்கில்' டெலிபோர்ட் செய்யப்படுகிறார். விளையாட்டு தொடங்கும் வரை அவர்கள் அசையாமல் நிற்க வேண்டிய கட்டாயம். தொடங்கியவுடன், டைமர் தீர்ந்தவுடன் தரை தண்ணீராக மாறும். பிழைக்க வீரர் பாதுகாப்பான மண்டலத்தில் (வைரத் தொகுதிகள்) நிற்க வேண்டும். ஒவ்வொரு நிலையும் டைமரை ஒரு வினாடி குறைக்கிறது. ஒவ்வொரு வெற்றிகரமான நிலைக்கும் பிறகு பாதுகாப்பான பகுதி பெரிதாகிறது. கீழே உள்ள குறியீட்டைப் பாருங்கள்:

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

இதை இவ்வாறு சேமிக்கவும் mini_game_2.py 'மற்றும் ஒரு ரன் கொடுங்கள்.

Minecraft ஐ இயக்கும் போது Pi 2 சில செயல்திறன் சிக்கல்களைக் கொண்டுள்ளது. மத்திய செயலாக்க அலகு (CPU) பயன்பாட்டு வரைபடம் ( மேல் வலது மூலையில் ) ஒருபோதும் அதிக சுமைகளைக் காட்டாது, எனவே இது டெவலப்பர்களின் மோசமான வடிவமைப்பு மற்றும் மேம்படுத்தல்களுக்கு கீழே இருக்க வேண்டும். இந்த சிக்கல்கள் இயங்கும் குறியீட்டோடு தொடர்பில்லாதவை (பைதான் இயங்காதபோது அவை தொடர்வதால்), இருப்பினும் அவை இந்த மினி கேம் மூலம் சேர்க்கப்படுகின்றன. உங்கள் பை உண்மையிலேயே சிரமப்படுகிறீர்கள் என்றால், நீங்கள் அரங்கின் அளவைக் குறைக்க அல்லது உங்கள் பைவை ஓவர்லாக் செய்ய விரும்பலாம்.

விண்டோஸ் 10 ஜிஃப் வால்பேப்பரை உருவாக்குவது எப்படி

டயமண்ட் டிடெக்டர்

மற்றொரு சுற்று செய்வோம். (15 தொகுதிகளுக்குள்) வைரங்கள் இருக்கும்போது ஒளிரச் செய்ய இது ஒரு ஒளி உமிழும் டையோடை (LED) பயன்படுத்தும். உங்களுக்குத் தேவையானது இதோ:

  • 1 x பிரட்போர்டு
  • 1 x LED
  • 1 x 220 ஓம் மின்தடை
  • பெண்> ஆண் ஜம்ப் கேபிள்கள்
  • ஆண்> ஆண் ஜம்ப் கேபிள்கள்

சுற்று இதோ:

அனோடை (நீண்ட கால்) GPIO பின் 14 உடன் இணைக்கவும். இந்த முள் +5v போல செயல்படுகிறது. கேத்தோடை (குறுகிய கால்) தரையுடன் இணைக்கவும்.

நான் மலிவான தாது பொம்மையைப் பயன்படுத்தினேன், பின்புற கவர் மற்றும் மின்னணுவியலை அகற்றி அதை மாற்றியமைத்தேன், அதன் கீழ் ஒரு எல்.ஈ. சூடான பசை அல்லது இதைப் போன்ற ஒன்றை நீங்கள் எளிதாக நிரந்தரமாக்கலாம்.

இந்த குறியீட்டை இவ்வாறு சேமிக்கவும் வைரங்கள் ':

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

பிளேயருக்கு அடியில் வைர தாதுத் தொகுதி இருக்கும்போது (15 தொகுதிகளுக்குள்) விளக்கு ஒளிரும்.

திங்க்ஜீக் மின்கிராஃப்ட் லைட் -அப் ப்ளூ ஸ்டோன் வைர தாது அமேசானில் இப்போது வாங்கவும்

Minecraft Pi மூலம் நீங்கள் ஏதாவது அருமையாக செய்துள்ளீர்களா? விளையாட்டுகளில் நீங்கள் என்ன செய்தீர்கள் அல்லது எவ்வளவு தூரம் செய்தீர்கள் என்பதை கருத்துகளில் எனக்குத் தெரியப்படுத்துங்கள்.

நாங்கள் பரிந்துரைக்கும் மற்றும் விவாதிக்கும் பொருட்களை நீங்கள் விரும்புவீர்கள் என்று நம்புகிறோம்! MUO இணைந்த மற்றும் ஸ்பான்சர் செய்யப்பட்ட கூட்டாண்மைகளைக் கொண்டுள்ளது, எனவே உங்கள் சில வாங்குதல்களிலிருந்து வருவாயின் ஒரு பங்கை நாங்கள் பெறுகிறோம். இது நீங்கள் செலுத்தும் விலையை பாதிக்காது மற்றும் சிறந்த தயாரிப்பு பரிந்துரைகளை வழங்க உதவுகிறது.

பகிர் பகிர் ட்வீட் மின்னஞ்சல் விண்டோஸ் 11 க்கு மேம்படுத்துவது மதிப்புள்ளதா?

விண்டோஸ் மறுவடிவமைப்பு செய்யப்பட்டுள்ளது. ஆனால் விண்டோஸ் 10 இலிருந்து விண்டோஸ் 11 க்கு மாறுவதற்கு இது போதுமானதா?

அடுத்து படிக்கவும்
தொடர்புடைய தலைப்புகள்
  • DIY
  • நிரலாக்க
  • Minecraft
  • ராஸ்பெர்ரி பை
  • மின்னணுவியல்
  • பைதான்
எழுத்தாளர் பற்றி ஜோ கோபர்ன்(136 கட்டுரைகள் வெளியிடப்பட்டன)

ஜோ இங்கிலாந்தின் லிங்கன் பல்கலைக்கழகத்தில் கணினி அறிவியலில் பட்டதாரி. அவர் ஒரு தொழில்முறை மென்பொருள் டெவலப்பர், அவர் ட்ரோன்களை பறக்காதபோது அல்லது இசை எழுதாதபோது, ​​அவர் அடிக்கடி புகைப்படம் எடுப்பதை அல்லது வீடியோக்களை தயாரிப்பதை காணலாம்.

ஜோ கோபர்னிடமிருந்து மேலும்

எங்கள் செய்திமடலுக்கு குழுசேரவும்

தொழில்நுட்ப குறிப்புகள், மதிப்புரைகள், இலவச மின் புத்தகங்கள் மற்றும் பிரத்யேக ஒப்பந்தங்களுக்கு எங்கள் செய்திமடலில் சேரவும்!

குழுசேர இங்கே சொடுக்கவும்
வகை Diy