فهرست مطالب:

ساخت پل تعاملی رنگین کمان با استفاده از Minecraft Raspberry Pi Edition: 11 مرحله
ساخت پل تعاملی رنگین کمان با استفاده از Minecraft Raspberry Pi Edition: 11 مرحله

تصویری: ساخت پل تعاملی رنگین کمان با استفاده از Minecraft Raspberry Pi Edition: 11 مرحله

تصویری: ساخت پل تعاملی رنگین کمان با استفاده از Minecraft Raspberry Pi Edition: 11 مرحله
تصویری: آیا تا به حال به این مکان ها سفر کرده اید؟ بهترین و زیباترین مکان های اروپا- شهرها - تاریخ - جغرافیا 2024, دسامبر
Anonim
Image
Image

دیروز ، من خواهرزاده 8 ساله ام را دیدم که در حال بازی Minecraft با Raspberry Pi است که قبلاً به او داده بودم ، سپس ایده ای پیدا کردم ، یعنی استفاده از کد برای ایجاد یک پروژه بلوک های LED سفارشی و هیجان انگیز Minecraft-pi. Minecraft Pi یک راه عالی برای شروع کار با میکرو رایانه Raspberry Pi است ، Minecraft Pi یک نسخه سفارشی خاص از Minecraft است که به ما امکان می دهد با استفاده از یک API کشنده ساده Python برای بازی و سفارشی کردن تجربه بازی و امکانات آن ، با بازی تعامل داشته باشیم!

پروژه های زیادی وجود دارد که می توانید در دنیای Minecraft با Raspberry Pi انجام دهید ، اما به طور خاص برای ما کافی نبود ، ما به دنبال چیزی چالش برانگیز و در عین حال پلک زدن بودیم. در این پروژه ، ما روی چندین بلوک Minecraft قدم می گذاریم ، شناسه بلوک را تشخیص می دهیم و رنگ بلوک خاصی را که روی آن قدم گذاشته ایم ، تشخیص می دهیم ، بر اساس رنگی که RGB LED خود را روشن می کنیم تا بازی مراحل تعاملی ایجاد شود!

من برای دستیابی به اثر از دو روش استفاده خواهم کرد ، روش اول استفاده از لوازم جانبی است که ممکن است بسیار آشفته باشد … مورد دوم استفاده از CrowPi2 (یادگیری رایانه با سنسورهای متعدد ، در حال حاضر در Kickstarter تأمین مالی جمعی است: CrowPi2)

بیایید شروع کنیم و ببینیم چگونه می توان چنین پروژه شگفت انگیزی را بایگانی کرد!

تدارکات

CrowPi2 در حال حاضر در kickstarter پخش می شود ، پروژه CrowPi2 تقریبا 250 هزار دلار جمع آوری کرده است.

به پیوند ضربه بزنید:

روش 1 استفاده از لوازم جانبی

مرحله 1: مواد

● 1 عدد Raspberry Pi 4 مدل B

● 1 کارت TF با تصویر

● 1 برابر منبع تغذیه رزبری پای

. مانیتور 1 x 10.1 اینچ

● 1 برابر منبع تغذیه مانیتور

● 1 عدد کابل HDMI

● 1 عدد صفحه کلید و ماوس

● 1 x RGB led (کاتد معمولی)

● 4 عدد جامپر (زن تا زن)

مرحله 2: نمودار اتصال

نمودار اتصال
نمودار اتصال

در واقع سه چراغ در LED رنگی RGB وجود دارد که نور قرمز ، نور سبز و نور آبی است. این سه چراغ را کنترل کنید تا نوری با شدت های مختلف ساطع شود و در صورت مخلوط شدن می توانند نوری با رنگ های مختلف ساطع کنند. چهار پایه روی چراغ LED به ترتیب GND ، R ، G و B هستند. LED RGB که من استفاده کردم یک کاتد معمولی است و اتصال به رزبری پای به شرح زیر است:

RaspberryPi 4B (در نام عملکرد) LED RGB

GPIO0 1 قرمز

GPIO1 3 سبز

GPIO2 4 آبی

GND 2 GND

تصویر دوم اتصال سخت افزاری است

مرحله 3: پیکربندی SPI

برای SPI پیکربندی کنید
برای SPI پیکربندی کنید
برای SPI پیکربندی کنید
برای SPI پیکربندی کنید
برای SPI پیکربندی کنید
برای SPI پیکربندی کنید
برای SPI پیکربندی کنید
برای SPI پیکربندی کنید

از آنجا که برای کنترل RGB باید از SPI استفاده کنیم ، ابتدا باید رابط SPI را فعال کنیم که به طور پیش فرض غیرفعال است. برای فعال کردن رابط SPI می توانید مراحل زیر را دنبال کنید:

ابتدا ، می توانید از رابط کاربری دسکتاپ با رفتن به Pi start MenupreferencesRaspberry Pi Configuration استفاده کنید ، همانطور که در تصویر اول نشان داده شده است.

دوم ، به "Interfaces" بروید و SPI را فعال کنید و روی OK (تصویر دوم) کلیک کنید.

در آخر ، Pi خود را مجدداً راه اندازی کنید تا مطمئن شوید تغییرات اعمال می شوند. روی Pi Start MenuPreferencesShutdown کلیک کنید. از آنجا که ما فقط نیاز به راه اندازی مجدد داریم ، روی دکمه راه اندازی مجدد کلیک کنید.

مرحله 4: کد

ما با نوشتن کد پایتون خود شروع می کنیم ، ابتدا با وارد کردن چند کتابخانه که برای ادغام کد خود با دنیای Minecraft نیاز داریم ، وارد می کنیم. سپس ، ما کتابخانه زمان را وارد می کنیم ، به ویژه تابعی به نام sleep. عملکرد خواب به ما این امکان را می دهد که قبل از انجام یک تابع ، یک فاصله زمانی مشخص را منتظر بمانیم. آخرین و مهمترین ، ما کتابخانه RPi. GPIO را وارد می کنیم که به ما اجازه می دهد GPIO را در Raspberry Pi کنترل کنیم.

از mcpi.minecraft import Minecraft from time import sleep import RPi. GPIO به عنوان GPIO

و این تمام شد ، ما واردات کتابخانه ها را انجام دادیم ، اکنون زمان استفاده از آنها فرا رسیده است! اولین کار این است که از کتابخانه Minecraft استفاده کنیم ، ما می خواهیم اسکریپت پایتون خود را به دنیای Minecraft متصل کنیم ، می توانیم با فراخوانی تابع init () کتابخانه MCPI و سپس حالت GPIO را تنظیم کرده و هشدار را غیرفعال کنیم.

mc = Minecraft.create () GPIO.setmode (GPIO. BCM) GPIO.setwarnings (0)

اکنون ، ما برخی از رنگهای رنگین کمان را به صورت هگزادسیمال تعریف می کنیم تا بتوانیم رنگ های RGB را تغییر دهیم.

WHITE = 0xFFFFFF RED = 0xFF0000 ORANGE = 0xFF7F00 YELLOW = 0xFFFF00 GREEN = 0x00FF00 CYAN = 0x00FFFF BLUE = 0x0000FF PURPLE = 0xFF00FF MAGENTA = 0xFF0090

در مرحله بعد ، ما باید برخی از متغیرها را برای ثبت رنگ بلوک پشمی ، که قبلاً در لیست بلوک Minecraft تعریف شده است ، تعریف کنیم.

W_WHITE = 0 W_RED = 14 W_ORANGE = 1 W_YELLOW = 4 W_GREEN = 5 W_CYAN = 9 W_BLUE = 11 W_PURPLE = 10 W_MAGENTA = 2

شناسه بلوک پشم در Minecraft 35 است. حال ، ما باید پین را برای RGB led پیکربندی کرده و برای آنها تنظیم کنیم.

قرمز_پین = 17 پین_سبز = 18 پین_آبی = 27

GPIO.setup (قرمز_پین ، GPIO. OUT ، اولیه = 1) GPIO.setup (سبز_پین ، GPIO. OUT ، اولیه = 1) GPIO.setup (آبی_پین ، GPIO. OUT ، اولیه = 1)

سپس ، PWM را برای هر پین تنظیم کنید ، توجه داشته باشید که محدوده مقدار PWM 0-100 است. در اینجا ، رنگ RGB led را ابتدا سفید (100 ، 100 ، 100) قرار می دهیم.

قرمز = GPIO. PWM (قرمز_پین ، 100)

سبز = GPIO. PWM (green_pin، 100) blue = GPIO. PWM (blue_pin، 100) red.start (100) green.start (100) blue.start (100)

در ادامه دو عملکرد ایجاد می شود که می توان از آنها برای رمزگشایی رنگ و روشن کردن RGB led استفاده کرد! توجه داشته باشید که تابع map2hundred () این است که مقادیر 255 تا 100 را ترسیم کند ، همانطور که قبلاً نیز اشاره کردیم ، مقدار PWM باید 0-100 باشد.

def map2hundred (value): return int (مقدار * 100 /255)

def set_color (color_code): # رمزگشایی قرمز_ارزش = رنگ_کد >> 16 & 0xFF green_value = color_code >> 8 & 0xFF blue_value = color_code >> 0 & 0xFF

# مقادیر نقشه red_value = map2hundred (قرمز_ارزش) green_value = map2hundred (green_value) blue_value = map2hundred (ارزش_آبی)

# روشن کن! قرمز. ChangeDutyCycle (قرمز_ارزش) سبز. ChangeDutyCycle (سبز_ارزش) آبی. ChangeDutyCycle (ارزش_آبی)

آفرین! زمان شروع برنامه اصلی ما فرا رسیده است ، منتظر بمانید ، متغیر دیگری باید برای ضبط کد رنگ بلوک پشم قبل از برنامه اصلی تعریف شود:

last_data = 0 try: x، y، z = mc.player.getPos () mc.setBlocks (x، y، z، x+1، y، z+2، 35، 14) mc.setBlocks (x+2، y+1 ، z ، x+3 ، y+1 ، z+2 ، 35 ، 11) mc.setBlocks (x+4 ، y+2 ، z ، x+5 ، y+2 ، z+2 ، 35 ، 2) mc.setBlocks (x+6 ، y+3 ، z ، x+7 ، y+3 ، z+2 ، 35 ، 5) mc.setBlocks (x+8 ، y+4 ، z ، x+9 ، y+4 ، z+2 ، 35 ، 4) mc.setBlocks (x+10 ، y+5 ، z ، x+11 ، y+5 ، z+2 ، 35 ، 10) mc.setBlocks (x+12 ، y+6، z، x+13، y+6، z+2، 35، 1) mc. setBlocks (x+14، y+5، z، x+15، y+5، z+2، 35، 10) mc.setBlocks (x+16 ، y+4 ، z ، x+17 ، y+4 ، z+2 ، 35 ، 4) mc.setBlocks (x+18 ، y+3 ، z ، x+19 ، y+3 ، z+2 ، 35 ، 5) mc.setBlocks (x+20 ، y+2 ، z ، x+21 ، y+2 ، z+2 ، 35 ، 2) mc.setBlocks (x+22 ، y+1، z، x+23، y+1، z+2، 35، 11) mc.setBlocks (x+24، y، z، x+25، y، z+2، 35، 14) در حالی که True: x، y، z = mc.player.getPos () # موقعیت بازیکن (x، y، z) block = mc.getBlockWithData (x، y-1، z) # block ID #print (block) if block.id == WOOL و last_data! = block.data: if block.data == W_RED: print ("Red!") set_color (RED) if block.data == W_ORANGE: print ("نارنجی!") set_color (نارنجی) اگر block.data == W_ YELLOW: print ("Yellow!") set_color (YELLOW) if block.data == W_GREEN: print ("Green!") set_color (GREEN) if block.data == W_CYAN: print ("Cyan!") set_color (CYAN)) if block.data == W_BLUE: print ("Blue!") set_color (BLUE) if block.data == W_PURPLE: print ("Purple!") set_color (PURPLE) if block.data == W_MAGENTA: print (" Magenta! ") set_color (MAGENTA) if block.data == W_WHITE: print (" White! ") set_color (WHITE) last_data = block.data sleep (0.05) به جز KeyboardIntruptrupt: pass GPIO.cleanup ()

همانطور که برنامه اصلی در بالا نشان داده شده است ، ابتدا از برخی دستورات برای ایجاد بلوک های پشمی رنگارنگ استفاده کنید ، سپس باید موقعیت پخش کننده را پیدا کنیم تا بتوانیم شناسه بلوک ها و کد رنگ آن را دریافت کنیم. پس از به دست آوردن اطلاعات بلوک ، از دستور برای تعیین اینکه آیا بلوک زیر پخش کننده یک بلوک پشمی است و آیا دارای کد رنگ است استفاده می کنیم. اگر بله ، قضاوت کنید که بلوک پشمی چه رنگی است و تابع set_color () را برای تغییر رنگ RGB led مانند بلوک پشم فراخوانی کنید.

علاوه بر این ، یک عبارت try/while اضافه می کنیم تا هنگام قطع برنامه خروجی پین GPIO ، برنامه را ترک کنیم.

کد کامل ضمیمه شده است.

بسیار خوب ، لوازم جانبی زیاد و بسیار پیچیده است ، درست است؟ نگران نباشید ، بیایید روش دوم را برای دستیابی به پروژه ببینیم ، که به شما احساس انعطاف پذیری و راحتی بیشتری می دهد ، که از CrowPi2 ما استفاده می کند!

مرحله 5: نتیجه

Image
Image

بازی را باز کرده و اسکریپت را اجرا کنید ، نتیجه را در ویدیوی بالا مشاهده خواهید کرد

سپس از CrowPi2 برای ساخت پل تعاملی Rainbow در آینده استفاده خواهیم کرد

مرحله 6: استفاده از مواد CrowPi2

● 1 x CrowPi2

مرحله 7: استفاده از CrowPi2- نمودار اتصال

نیازی نیست. بسیاری از حسگرها و اجزای مفید (بیش از 20) در CrowPi2 وجود دارد ، همه در یک لپ تاپ تمشکی pi و پلت فرم آموزشی STEM است که به ما امکان می دهد چندین پروژه را با سهولت و بدون عرق انجام دهیم! در این مورد ، ما از یک ماژول جذاب و رنگارنگ در CrowPi2 استفاده می کنیم که یک ماژول ماتریس RGB 8x8 است که به ما امکان می دهد 64 RGB led را همزمان کنترل کنیم!

مرحله 8: استفاده از CrowPi2- پیکربندی SPI

نیازی نیست. CrowPi2 با یک تصویر داخلی همراه با یک سیستم یادگیری ارائه می شود! همه چیز آماده شده است به این معنی که می توانید مستقیماً برنامه ریزی کرده و یاد بگیرید. علاوه بر این ، با CrowPi2 ما آسان است و در حال حاضر به عنوان یک پلت فرم STEAM آماده راه اندازی شده است.

مرحله 9: استفاده از CrowPi2- Code

اکنون ، زمان شروع برنامه ما است! ابتدا ، چند کتابخانه وارد کنید ، مانند کتابخانه MCPI که کتابخانه Minecraft Pi Python است که به ما امکان می دهد از یک API بسیار ساده برای ادغام با دنیای Minecraft استفاده کنیم. کتابخانه زمان که به ما این امکان را می دهد تا عملکرد خواب را در نظر بگیریم تا قبل از انجام یک تابع ، زمان خاصی را منتظر بمانیم. کتابخانه RPi. GPIO که به ما اجازه می دهد پین های Raspberry Pi GPIO را کنترل کنیم.

از mcpi.minecraft import Minecraft from time import import import RPi. GPIO به عنوان GPIO

در نهایت ، ما کتابخانه ای به نام rpi_ws281x که کتابخانه RGB Matrix است را وارد می کنیم ، در داخل کتابخانه چندین عملکرد وجود دارد که از آنها مانند PixelStrip برای راه اندازی شی نوار LED و Color برای پیکربندی یک شی رنگی RGB برای روشن شدن استفاده می کنیم. LED های RGB ما

از rpi_ws281x واردات PixelStrip ، رنگ

و این تمام شد ، ما واردات کتابخانه ها را انجام دادیم ، اکنون زمان استفاده از آنها فرا رسیده است! به همین ترتیب ، اولین مورد استفاده از کتابخانه Minecraft است ، ما می خواهیم اسکریپت پایتون خود را به دنیای Minecraft متصل کنیم ، می توانیم این کار را با فراخوانی تابع init کتابخانه MCPI انجام دهیم:

mc = Minecraft.create ()

در حال حاضر هر زمان که بخواهیم عملیات را در دنیای minecrat انجام دهیم ، می توانیم از شی mc استفاده کنیم.

مرحله بعدی تعریف کلاس ماتریس LED RGB است که از آن برای کنترل LED های RGB خود استفاده می کنیم ، کلاس را با پیکربندی اولیه مانند تعداد led ها ، پین ها ، روشنایی و غیره راه اندازی می کنیم.

ما یک تابع به نام clean ایجاد می کنیم که با رنگ خاص داده شده کمتر "تمیز" می شود و همچنین یک تابع به نام run که شیء RGB LED واقعی را در اولین باری که می خواهیم از آن استفاده کنیم ، مقداردهی اولیه می کند.

کلاس RGB_Matrix:

def _init _ (خود):

# پیکربندی نوار LED:

self. LED_COUNT = 64 # تعداد پیکسل LED.

self. LED_PIN = 12 # پین GPIO متصل به پیکسل (18 مورد از PWM استفاده می کند!).

self. LED_FREQ_HZ = 800000 # فرکانس سیگنال LED در هرتز (معمولاً 800 کیلوهرتز)

self. LED_DMA = 10 کانال # DMA برای استفاده برای تولید سیگنال (10 را امتحان کنید)

self. LED_BRIGHTNESS = 10 # برای تاریک ترین روی 0 و برای روشن ترین آنها را روی 0 تنظیم کنید

self. LED_INVERT = غلط # درست است تا سیگنال را وارونه کند

self. LED_CHANNEL = 0 # برای GPIO های 13 ، 19 ، 41 ، 45 یا 53 روی '1' تنظیم شده است

# عملکردهایی را که LED ها را به روش های مختلف تحریک می کنند ، تعریف کنید. def clean (خود ، نوار ، رنگ):

# همه LED ها را یکجا پاک کنید

برای i در محدوده (strip.numPixels ()):

strip.setPixelColor (i ، رنگ)

strip.show ()

def run (خود):

# ایجاد شی NeoPixel با پیکربندی مناسب.

نوار = PixelStrip (self. LED_COUNT ،

self. LED_PIN ،

self. LED_FREQ_HZ ،

self. LED_DMA ،

self. LED_INVERT ،

self. LED_BRIGHTNESS ،

self. LED_CHANNEL)

تلاش كردن:

نوار بازگشت

به جز KeyboardIntruptrupt:

# LED ماتریس را قبل از وقفه تمیز کنید

self.clean (نوار)

پس از انجام موارد بالا ، زمان فراخوانی آن کلاس ها و ایجاد اشیایی است که می توانیم در کد خود استفاده کنیم ، ابتدا بیایید یک شی ماتریس RGB LED ایجاد کنیم که می توانیم با استفاده از کلاسی که قبلاً ایجاد کرده ایم از آن استفاده کنیم:

matrixObject = RGB_Matrix ()

حالا بیایید از این شی برای ایجاد شیء نوار LED فعال استفاده کنیم که از آن برای کنترل LED های جداگانه خود در ماتریس RGB استفاده می کنیم:

strip = matrixObject.run ()

در نهایت برای فعال سازی این نوار ، ما باید یک تابع آخر را اجرا کنیم:

strip.begin ()

Minecraft API شامل تعداد زیادی بلوک است ، هر بلوک Minecraft دارای شناسه خود است. در مثال ما مقداری بلوک Minecraft گرفته ایم و سعی کرده ایم حدس بزنیم کدام رنگ برای آنها مناسب تر است.

RGB مخفف قرمز ، سبز و آبی است ، بنابراین ما به 3 مقدار مختلف از 0 تا 255 برای هر یک نیاز داریم ، رنگ ها می توانند قالب HEX یا RGB باشند ، ما از مثال RGB برای مثال خود استفاده می کنیم.

در دنیای Minecraft Pi شناسه بلوک های معمولی و شناسه بلوک های پشمی ویژه وجود دارد ، پشم مخصوص تحت شماره ID 35 قرار می گیرد اما دارای اعداد فرعی تا شناسه های مختلف است … ما این مشکل را با ایجاد 2 لیست جداگانه ، یکی برای بلوک های معمولی حل می کنیم. و یک لیست برای بلوک های پشمی خاص:

اولین لیست مربوط به بلوک های معمولی است ، به عنوان مثال 0 نشان دهنده بلوک هوا است ، ما آن را 0 ، 0 ، 0 که خالی یا کاملاً سفید است ، قرار می دهیم ، هنگامی که بازیکن در بازی بپرد یا پرواز کند RGB خاموش می شود ، 1 بلوک متفاوتی با رنگ RGB 128 ، 128 ، 128 و غیره است …

#رنگهای رنگین کمان

رنگهای رنگین کمان = {

"0": رنگ (0 ، 0 ، 0) ،

"1": رنگ (128 ، 128 ، 128) ،

"2": رنگ (0 ، 255 ، 0) ،

"3": رنگ (160 ، 82 ، 45) ،

"4": رنگ (128 ، 128 ، 128) ،

"22": رنگ (0 ، 0 ، 255)

}

در مورد بلوک های پشمی نیز ما همین کار را می کنیم ، اما مهم است که به خاطر داشته باشید که همه بلوک ها دارای شناسه 35 هستند ، در این لیست ما زیرگونه های بلوک را که بلوک پشمی هستند تعریف می کنیم. زیرگونه های مختلف پشم رنگ های متفاوتی دارند اما همه آنها بلوک پشمی هستند.

رنگهای پشمی = {

"6": رنگ (255 ، 105 ، 180) ،

"5": رنگ (0 ، 255 ، 0) ،

"4": رنگ (255 ، 255 ، 0) ،

"14": رنگ (255 ، 0 ، 0) ،

"2": رنگ (255 ، 0 ، 255)

}

اکنون که ما برنامه ، کلاسها و عملکردهای اصلی خود را به پایان رسانده ایم ، زمان آن رسیده است که با سنسور CrowPi2 RGB LED روی صفحه ادغام شویم.

برنامه اصلی پارامترهایی را که قبلاً تعریف کرده ایم گرفته و بر سخت افزار تأثیر می گذارد.

ما قصد داریم از CrowPi2 RGB LED استفاده کنیم تا آنها را بر اساس مراحل انجام شده در داخل Minecraft Pi در هر بلوک روشن کنیم ، بیایید شروع کنیم!

اولین کاری که باید انجام دهیم این است که برخی بلوک های پشمی را با دستورات تولید کرده و یک حلقه while ایجاد کنیم ، تا زمانی که بازی را انجام می دهیم ، برنامه در حال اجرا باشد.

ما باید برخی از داده ها را از پخش کننده دریافت کنیم ، ابتدا از دستور player.getPos () برای بدست آوردن موقعیت بازیکن و سپس از getBlockWithData () برای بدست آوردن بلوکی که در حال حاضر روی آن ایستاده ایم استفاده می کنیم (y مختصات -1 است که به معنی زیر بازیکن)

x ، y ، z = mc.player.getPos ()

mc.setBlocks (x ، y ، z ، x+1 ، y ، z+2 ، 35 ، 14)

mc.setBlocks (x+2 ، y+1 ، z ، x+3 ، y+1 ، z+2 ، 35 ، 11)

mc.setBlocks (x+4 ، y+2 ، z ، x+5 ، y+2 ، z+2 ، 35 ، 2)

mc.setBlocks (x+6 ، y+3 ، z ، x+7 ، y+3 ، z+2 ، 35 ، 5)

mc.setBlocks (x+8 ، y+4 ، z ، x+9 ، y+4 ، z+2 ، 35 ، 4)

mc.setBlocks (x+10 ، y+5 ، z ، x+11 ، y+5 ، z+2 ، 35 ، 10)

mc.setBlocks (x+12 ، y+6 ، z ، x+13 ، y+6 ، z+2 ، 35 ، 1)

mc.setBlocks (x+14 ، y+5 ، z ، x+15 ، y+5 ، z+2 ، 35 ، 10)

mc.setBlocks (x+16 ، y+4 ، z ، x+17 ، y+4 ، z+2 ، 35 ، 4)

mc.setBlocks (x+18 ، y+3 ، z ، x+19 ، y+3 ، z+2 ، 35 ، 5)

mc.setBlocks (x+20 ، y+2 ، z ، x+21 ، y+2 ، z+2 ، 35 ، 2)

mc.setBlocks (x+22 ، y+1 ، z ، x+23 ، y+1 ، z+2 ، 35 ، 11)

mc.setBlocks (x+24 ، y ، z ، x+25 ، y ، z+2 ، 35 ، 14)

در حالی که True:

x ، y ، z = mc.player.getPos () # موقعیت بازیکن (x ، y ، z)

blockType، data = mc.getBlockWithData (x، y-1، z) # بلوک شناسه

چاپ (blockType)

سپس بررسی می کنیم که بلوک بلوک پشمی است ، شماره بلوک شماره 35 ، در صورت وجود ، به رنگهای پشمی با رنگ بلوک بر اساس شناسه فرهنگ لغت مراجعه کرده و بر این اساس رنگ مناسب را روشن می کنیم.

اگر blockType == 35:

# رنگ پشمی سفارشی

matrixObject.clean (strip، wool_colors [str (data)])

اگر بلوک پشمی نیست ، بررسی می کنیم که آیا بلوک در حال حاضر در فرهنگ لغت rainbow_colors قرار دارد یا خیر تا از استثنا اجتناب شود ، اگر اینطور باشد ، با انتخاب رنگ و تغییر RGB ادامه می دهیم.

if str (blockType) در رنگین کمان:

چاپ (رنگهای رنگین کمان [str (blockType)])

matrixObject.clean (strip، rainbow_colors [str (blockType)])

خواب (0.5)

همیشه می توانید بلوک های بیشتری را به رنگین کمان اضافه کنید تا رنگ ها و پشتیبانی بیشتر بلوک ها اضافه شود!

کامل! انجام پروژه ها با استفاده از لوازم جانبی پیچیده است اما با استفاده از مدار یکپارچه CrowPi2 ، کارها بسیار ساده تر می شود! علاوه بر این ، بیش از 20 سنسور و جزء در CrowPi2 وجود دارد که به شما امکان می دهد به پروژه های ایده آل خود و حتی پروژه های AI برسید!

در زیر کد کامل است:

مرحله 10: استفاده از CrowPi2-نتیجه

بازی را باز کرده و اسکریپت را اجرا کنید ، نتیجه را در ویدیوی بالا مشاهده خواهید کرد:

مرحله 11: استفاده از CrowPi2- جلو رفتن

اکنون ما پروژه رنگارنگ خود را در بازی Minecraft با CrowPi2 به پایان رسانده ایم. چرا سعی نمی کنید از سنسورها و اجزای دیگر CrowPi2 برای بازی استفاده کنید ، مانند جوی استیک برای کنترل حرکت بازیکن ، RFID برای ایجاد بلوک بر اساس کارت های مختلف NFC و غیره. از بازی خود در CrowPi2 لذت ببرید و امیدوارم بتوانید پروژه های باورنکردنی با CrowPi2!

در حال حاضر ، CrowPi2 در Kickstarter قرار دارد ، شما همچنین می توانید از قیمت جذاب آن لذت ببرید.

پیوند صفحه Kickstarter CrowPi2 را ضمیمه کنید

توصیه شده: