رئيسي خدمات البث قرصنة Minecraft على Raspberry Pi

قرصنة Minecraft على Raspberry Pi



يعتبر Raspberry Pi 2 جهازًا قادرًا بشكل مدهش ، مع الأخذ في الاعتبار سعره الذي يقل عن 30 جنيهًا إسترلينيًا. يأتي مع إصدار من Minecraft مثبت مسبقًا ، إلى جانب واجهة برمجة تطبيقات تتيح لك كتابة التعليمات البرمجية ليتم تشغيلها في العالم الافتراضي. يمكنك القيام بذلك في Python ، وهو أمر سهل التعلم. يوفر الجمع بين Pi و Python و Minecraft فرصة رائعة لبدء استكشاف إمكانيات البرمجة. والإثارة لرؤية منزل يبني نفسه على مشهد افتراضي ليس للأطفال فقط.

كيفية عكس الهاتف إلى roku

البرمجة النصية في Minecraft

Minecraft هي لعبة رمل مفتوحة ليس لديها خط مؤامرة لمتابعة. يتم وصفها أحيانًا على أنها Lego الافتراضية ، حيث يمكن للاعب بناء أي نوع من الهياكل باستخدام الكتل الموجودة تحت تصرفه. يحتوي الإصدار المرفق مع Raspberry Pi على مجموعة ميزات محدودة تناسب دوره التعليمي - لذلك لا داعي للقلق بشأن مطاردة الزومبي ، على سبيل المثال. لا يتطلب التفاعل مع هذا العالم أي إعداد خاص ، فقط بناء حديث لنظام التشغيل Raspbian بالإضافة إلى بيئة برمجة. سأختار Geany ، والذي يمكنك تثبيته بفتح LXTerminal وكتابة:

sudo apt-get install geany

دعنا نبدأ بإنشاء نص لبناء منزل أمام اللاعب - ولكن بدلاً من مجرد وضع واحد في مكانه ، سنقوم بتحريكه. سنقوم أيضًا ببناء العديد من الإعدادات القابلة للتكوين ، والتي ستسمح للاعب بتجربة أبعاد ومواد مختلفة. سيؤدي هذا أيضًا إلى جعل البرنامج معياريًا ، بحيث يمكن استخدامه كأساس لإنشاء آبار أكثر تطوراً.

لجعل الكود يعمل ، قم بتحميله في Geany ثم ابدأ Minecraft وأنشئ عالمًا جديدًا. اضغط على مفتاح Tab لتحرير المؤشر من نافذة Minecraft وانقر فوق رمز الترس في Geany (أو اضغط على F5) لتشغيل البرنامج النصي. يجب أن ترى منزلاً يجمع نفسه بطريقة سحرية. إذا لم تفعل ذلك ، فحاول الاستدارة - فقد يكون ذلك خلفك! يمكنك رؤية النص في العمل هنا . فكيف يعمل البرنامج النصي؟ حسنًا ، أولاً يفتح رابطًا إلى Minecraft:

استيراد mcpi.minecraft كـ minecraft ، الوقت mc = minecraft.Minecraft.create ()

في Python ، من المهم الانتباه إلى المسافة البادئة ، حيث يتم تقسيم الكود إلى كتل. في هذه الحالة ، يتدفق كلا الخطين مع الهامش الأيسر: يستورد السطر الأول مكتبات Minecraft و Time ، بينما ينشئ الثاني كائن Minecraft لنا لاستخدامه طوال الوقت. تحدد الأسطر الخمسة والعشرون التالية بعض المتغيرات للكتل التي سنستخدمها حتى نتمكن من الرجوع إليها ، على سبيل المثال ، ألواح خشبية بدلاً من معرف الكتلة (5 ، في هذه الحالة). ثم نشير إلى أي من هذه الكتل سيتم استخدامه للجدران ، وأي منها بالنسبة للسقف وما إلى ذلك. يمكننا بسهولة تغيير بناء المنزل بالكامل عن طريق تبديل جدران الطوب بالحصى ، على سبيل المثال. أخيرًا ، قمنا بتعيين عرض وطول وارتفاع مسكننا المطلوب.

نسمي الآن دالة Minecraft mc.player.getTilePos () لتحديد موقع المشغل في المشهد ، ثم تُستخدم القيم التي تعود لإنشاء متغيرين ، يسارًا وأسفلًا ، لوصف مكان الزاوية الأولى من المسكن. .

بعد ذلك ، يتطابق هيكل النص مع عملية Minecraft لبناء منزل يدويًا. نبدأ بإخلاء مساحة بحيث إذا اختار اللاعب بناء منزل بداخله ، على سبيل المثال ، جبل ، فلن تكون منطقة المعيشة من الحجر الصلب. ها هي كتلة الكود - الوظيفة في بايثون - التي تقوم بهذا:

def clear_house (النووية):
إذا كان نوويًا == صحيحًا:
blast_zone = 20
آخر:
blast_zone = 0
mc.setBlocks (left-blast_zone ، player_
الأرض ، القاع + منطقة الانفجار ، اليسار + العرض + الانفجار_
المنطقة ، لاعب_الأرض + الارتفاع + الانفجار_
منطقة + 10 ، منطقة انفجار بطول سفلي ، كتلة هوائية)

عندما نسمي clear_house ، نمرر في المعلمة النووية. لها قيمة صواب أو خطأ. يمكنك محاولة تسميته بـ True لمسح حجم أكبر حول المنطقة المستهدفة ، أو تسميته بـ False لقصر الخلوص على الأبعاد الداخلية للمنزل. في Minecraft ، تُستخدم وظيفة mc.setBlocks لإنشاء مكعب من الكتل عن طريق تمرير إحداثيات الزوايا المتقابلة في ثلاثة أبعاد متبوعة بنوع الكتلة الذي ترغب في استخدامه. في هذه الحالة نقوم بإخلاء مساحة ، لذلك نستخدم الهواء.

بمجرد إخلاء المساحة ، حان الوقت للانتقال إلى البناء. تتم كل مرحلة من مراحل البناء هذه في وظيفتها الخاصة. في نهاية البرنامج النصي ، سترى وظيفة تسمى main () ، والتي تتحكم في تدفق البرنامج عن طريق استدعاء كل مرحلة من مراحل البناء بدورها. من خلال تسمية وظائفنا بطريقة منطقية واستدعائها من main () ، من السهل فهم ما يفعله البرنامج:

def main ():
clear_house (خطأ)
start_pos = [يسار ، أسفل ، لاعب_
أرض]
build_floor (start_pos)
بالطبع = build_walls (start_pos)
add_door (door_position)
time.sleep (تأخير * 10)
build_roof (start_pos، course)

الوظيفة التالية تسمى main () تبني الأرضية - وهذا يستخدم mc. setBlocks مرة أخرى لإنشاء أساس (للتأثير الفني) ثم إضافة مكعب من بلاط الأرضيات بعمق كتلة واحدة لإنشاء أرضية صلبة في منزلنا.

كيفية عمل نص المفسد على الخلاف

بناء الجدران

وظيفة build_walls هي قلب البرنامج. الطريقة الأكثر فاعلية لإنشاء قشرة منزل هي صفع مكعب صلب من الطوب ثم استخدام غرفة صافية لنحت الجزء الداخلي. ومع ذلك ، نريد أن يظهر المنزل ليبني نفسه ، لذلك نحتاج إلى وضع الكتل بشكل فردي ، واحدة تلو الأخرى. إليك نسخة مبسطة من كود بناء الجدار:

build_course def (start_pos، direction،
مسار):
كتل = 1
current_horiz = start_pos [0]
current_vert = start_pos [1]

إذا كان الاتجاه == لأعلى أو
الاتجاه == لأسفل:
number_of_blocks = الطول
آخر:
number_of_blocks = العرض

بينما الكتلmc.setBlock (current_horiz، player_
أرض + دورة ، تيار_حول ، جدار_بلوك)
إذا كان الاتجاه == لأعلى:
Current_vert- = 1
اتجاه elif == لأسفل:
Current_vert + = 1
اتجاه elif == يمين:
الأفق الحالي + = 1
آخر:

الآفاق الحالية- = 1
كتل = كتل + 1 # الانتقال إلى الكتلة التالية
الوقت. النوم (تأخير)

نبدأ بتخزين موضع البداية - سيكون هذا هو موضع آخر كتلة تم وضعها من المسار السابق للكتل. ثم نحدد عدد الكتل المراد وضعها ، اعتمادًا على ما إذا كنا نسير على طول المبنى أو عرضه.

يتم احتواء مرحلة البناء داخل الكتلة while - ويستمر ذلك حتى نضع كل الكتل. يضع mc.setBlock كتلة واحدة في الإحداثيات الموضحة ، ثم يزيد أحد هذه الإحداثيات اعتمادًا على الاتجاه الذي نضع فيه. التأثير هو أن الكتل توضع على طول الجدار قبل الانعطاف في الزاوية والاستمرار في المستطيل حتى يتم الانتهاء من الدورة.

كيفية الحصول على الكروم القديم ننظر إلى الوراء

الإصدار الأخير من الكود أكثر تعقيدًا ، حيث يضيف نوافذ إلى كل جدار. النوافذ ذات حجم ديناميكي بحيث تكون نصف طول الجدار ومتمركزة. كما أنه يسجل موضع الباب ؛ تمت إضافته بمجرد بناء الجدران. يتم التحكم في الدورات التدريبية من خلال وظيفة build_walls ، والتي تكرر وظيفة build_course لكل مسار من الكتل حتى تصل إلى الارتفاع النهائي.

يمكنك حتى محاولة بناء منزلك في المحيط أو في الهواء - قم بذلك عن طريق الضغط مرتين على مفتاح المسافة للطيران ، ثم اضغط مرة أخرى لرفع نفسك قبل تشغيل البرنامج النصي. قم بتعديل متغيري wall_block و roof_block لمعرفة ما سيحدث إذا قمت بإنشاء جدران أو سقف من الذهب أو بالفعل من الحمم البركانية. يمكنك إضافة كتل خاصة بك عن طريق الرجوع إلى القائمة الكاملة هنا ، وإضافة المتغير المرتبط بالبرنامج النصي. قد تتضمن التعديلات الأكثر تحديًا إضافة طوابق متعددة إلى الهيكل إذا تم تعيين متغير الارتفاع على قيمة كبيرة بدرجة كافية. اكتشف كيفية إضافة الأبراج ، على سبيل المثال ، ولديك ما يؤهلها لقلعة ماين كرافت.

قد تبدو هذه التعديلات تافهة ، لكنني أبرمج بشكل احترافي لأكثر من 20 عامًا وما زلت أشعر بالإثارة عندما يعمل مقتطف من التعليمات البرمجية على النحو المنشود. إذا لم تكن قد برمجت من قبل ، آمل أن تجربها - وإذا كان لديك معجب Minecraft في المنزل ، أقترح تركهم يفقدون الكود ومعرفة أين يأخذهم. ستجد روابط إلى موارد Minecraft Pi على kevpartner.co.uk/programming .

مقالات مثيرة للاهتمام

اختيار المحرر

أفضل 11 لاعبًا في لعبة FIFA 16 Ultimate Team
أفضل 11 لاعبًا في لعبة FIFA 16 Ultimate Team
لعبة FIFA 16 Ultimate Team تسبب الإدمان بشكل رهيب. جزء واحد من مجموعة FIFA إلى مجموعة ملصقات أخرى ، فإن رعاية فريقك تدريجيًا من خلال المسروقات المكتسبة من خلال الفوز بالمباريات هي صيغة أكثر سخافة بشكل يبعث على السخرية. بالتأكيد ، ستبدأ بـ لا شيء تقريبًا ، ولكن
كل ما تحتاج لمعرفته حول ورشة عمل Steam
كل ما تحتاج لمعرفته حول ورشة عمل Steam
يعد Steam Workshop مستودعًا للتعديلات والعناصر الأخرى داخل اللعبة التي يمكنك تنزيلها وتثبيتها لألعاب Steam بنقرة زر واحدة.
كيفية عمل صورة GIF متحركة لخلفية Windows
كيفية عمل صورة GIF متحركة لخلفية Windows
إذا كنت تقرأ هذا ، فربما تكون قد رأيت بالفعل التأثير الذي يمكن أن تحدثه خلفية الشاشة المتحركة وقررت أنك تريد واحدة لشاشتك. هناك بعض الأناقة في ورق الحائط الثابت الذي تم اختياره جيدًا وعالي الدقة ،
كيفية منع جهاز MacBook من النوم عندما يكون الغطاء مغلقًا
كيفية منع جهاز MacBook من النوم عندما يكون الغطاء مغلقًا
امنع جهاز MacBook الخاص بك من النوم عندما يكون الغطاء مغلقًا إذا قمت بضبط إعدادات الطاقة، وقم بتوصيل جهاز MacBook وتوصيله بشاشة خارجية.
DTS مقابل Dolby Digital: ما الفرق؟
DTS مقابل Dolby Digital: ما الفرق؟
إن القول بأن Dolby Digital هو نفسه DTS سيكون بمثابة قول إن Star Wars و Star Trek هما نفس الشيء. سيثير هذا البيان غضب عشاق كلا العرضين ، وينطبق الشيء نفسه على عشاق الموسيقى الذين يدافعون عن أي منهما
كيفية عمل أمر echo بدون سطر جديد في Windows
كيفية عمل أمر echo بدون سطر جديد في Windows
يصف كيفية التخلص من حرف السطر الجديد في أمر echo في موجه أوامر Windows
يحصل تطبيق Remote Desktop Store على تحديث ضخم
يحصل تطبيق Remote Desktop Store على تحديث ضخم
بالإضافة إلى تطبيق Remote Desktop الكلاسيكي (mstsc.exe) ، يشتمل Windows 10 على تطبيق حديث يسمى ببساطة 'Microsoft Remote App'. إنه تطبيق UWP يتلقى تحديثات من متجر Microsoft .. أصدرت Microsoft إصدارًا جديدًا من التطبيق إلى Insiders مع الكثير من الميزات والتحسينات الجديدة ، بما في ذلك دعم الوضع الفاتح والظلام ،