פרסומת
תמיד רצית ללמוד לקוד אבל לא ידעת מאיפה להתחיל? למד כיצד לשלוט ב- Minecraft ב- Raspberry Pi באמצעות פייתון וכמה אלקטרוניקה פשוטה. הנה התוצאה הסופית:
תזדקק ל- Pi 2 או חדש יותר עבור פרויקט זה, ובעוד שתוכל להשלים את מרבית המשימות הללו דרך שורת הפקודה דרך Secure Shell (SSH), מדריך זה יתמקד בקידוד ישירות על ה- Pi.
חדש ב- Minecraft? אל תדאג - הנה שלנו מדריך למתחילים של Minecraft המדריך למתחילים (אחרון) למיינקראפטאם אתה מאחר למסיבה, אל תדאג - מדריך למתחילים נרחב זה כיסה. קרא עוד .
מבוא ל- Minecraft Pi

Minecraft ל- Raspberry Pi פותחה ללמידה והתעסקות (וזה בחינם). זה מגיע עם ממשק תכנות יישומים (API) המספק דרך לקוד לדבר בקלות עם Minecraft. זה מבריק ללמוד כיצד לקוד ב- Python, כמו גם מתחילים עם אלקטרוניקה אלקטרוניקה למתחילים: 10 מיומנויות שאתה צריך לדעתרבים מאיתנו מעולם לא נגעו בברזל הלחמה - אך הפיכת הדברים יכולה להיות מתגמלת להפליא. להלן עשרה מיומנויות האלקטרוניקה הבסיסיות ביותר של עשה זאת בעצמך שיעזרו לך להתחיל בעבודה. קרא עוד .
מה זה פייתון?
פייתון היא שפת תכנות. זה פירשתימה שאומר שכאשר אתה מפעיל קובץ או תוכנית Python, המחשב צריך קודם לבצע מעט עבודה לקובץ. חסרונות הם שזה יכול להיחשב איטי בהשוואה ל
שפות הידור.היתרונות של שפות מפורשות הם מהירות הקידוד וידידותם. אינך צריך לספר למחשב מה נתונים שאתה רוצה לאחסן, רק שאתה רוצה לאחסן משהו והמחשב יבין מה לעשות. ישנם כמובן יוצאים מן הכלל וזו תצוגה מעט מפושטת, עם זאת התכנות צריכה להיות מהנה! אם תתחיל לחפור בפרטים הטכניים המורכבים זה יכול להיות מעט מייגע.
פייתון הוא תלויי רישיות. חשוב לדעת, שכן פייתון לא יזהה חפצים גם אם הם מאויתים כראוי אם המקרה לא בסדר. "Dosomething ()" לא יעבוד אם השיטה נקראת למעשה "DoSomething ()". פייתון משתמש גם בכניסה. ייתכן ששפות תכנות אחרות לא מעניינות כמה כניסות יש לקוד שלך, ואילו לפייתון עושה אכפת. מקלטים משמשים כדי לומר לפיתון לאן שייך הקוד. שפות אחרות עשויות להשתמש ב"סרסות מתולתלות "({}) כדי לקבץ את הקוד - פייתון אינו משתמש בשפות אלה. Python משתמש בחשיש (#) לצורך הערות, והתגובות משמשות כדי לספר למפתחים או אנשים אחרים שמסתכלים על הקוד מה עושה חלק מסוים, או מדוע הוא נחוץ. פייתון מתעלם מכל דבר אחר חשיש.
לבסוף, קיימות שתי גרסאות עיקריות של Python - Python 2.7.x ו- Python 3.x. יש כמה הבדלים בין השניים (מהם ההבדלים?). במדריך זה ישתמש בפייתון 3.
הגדרה ראשונית
לספק את ה- Pi שלך כבר התקנה והפעלה של כיצד להתקין מערכת הפעלה על פטל Piלהלן התקנת מערכת הפעלה על Raspberry Pi שלך וכיצד לשכפל את ההתקנה המושלמת שלך לשחזור מהיר מאסון. קרא עוד , אין צורך בהגדרה ראשונית.
מסוף פתוח (תפריט> אביזרים> מסוף) והפעל פקודה זו. זה תמיד נוהג לשמור על רשימת המאגר מעודכנת, וזה יוריד את רשימת התוכניות האחרונה (זה לא יוריד את התוכנות עצמן. זה עוזר לפי לדעת מה נקראות תוכנות ולאן ניתן למצוא אותם).
עדכון sudo מתאים לקבל.
עכשיו עדכן את ה- Pi (זה עשוי לארוך זמן מה):
sudo מתאים לקבל שדרוג.
Python ו- Minecraft Pi כבר מותקנים, אולם אם Minecraft Pi לא מותקן מסיבה כלשהי, זה פשוט להתקנה 5 דרכים להתקנת תוכנה ב- Raspberry Piכדי לעשות הכל באמצעות Raspberry Pi, תצטרך לדעת להתקין מערכת הפעלה ותוכנה כדי להפעיל אותה. אם אתה חדש בלינוקס, זה יכול להיות מרתיע. קרא עוד :
sudo apt - לקבל התקנת minecraft-pi
נווט למסמכים וצור תיקיה חדשה בשם "Minecraft":
מסמכי תקליטור / mkdir Minecraft
אתה יכול להציג את התוכן של תיקיה חדשה זו:
ls
הנה טיפ - אם תתחיל להקליד ותכות במקש TAB, שורת הפקודה תנסה להשלים אוטומטית את ההצהרה עבורך.
אתה יכול לבחון את הנתיב לספרייה הנוכחית באמצעות pwd, אשר מייצג את Print Working Directory:
pwd
התחל את Minecraft על ידי מעבר אל תפריט> משחקים> Minecraft Pi. תזדקק להפעלה זו, אך תחזור אליו בהמשך.
פתח את פייתון 3 מ תפריט> תכנות> Python 3 (IDLE). תוכנית זו מספקת לך דרך להריץ פקודות של פייתון ולכתוב תוכניות.
עכשיו אתה יכול להקליד את פקודות Python שלך כאן, אבל זה לא מאוד מעשי. לך ל קובץ> קובץ חדש ואז קובץ> שמור ושמור זאת בתיקיה שיצרת קודם. (מסמכים> Minecraft). בוא נקרא לזה "hello_world.py“. אינך צריך להשתמש בתוסף .py, זה יתווסף אוטומטית, אך זהו תרגול טוב.
אם אתה חוזר לטרמינל ונווט לתיקיית Minecraft, עליך לראות את הקובץ שיצרת זה עתה:
תקליטור מיינקראפט / ls
אתה יכול להריץ קובץ זה כך:
שלום פיתון
שימו לב עד כמה ה"פיתון "הוא אותיות קטנות. זה צריך להיות לפני שם הקובץ, מכיוון שהוא אומר ל- Pi כי הקובץ הבא הוא Python, ולכן יש לבצע אותו ככזה.
חזור לעורך Python והקלד:
"שלום, עולם!"
שמור קובץ זה והפעל אותו שוב - כעת עליך לראות "שלום, עולם!" מופיעים בשורת הפקודה - מסודר! פקודת ההדפסה פשוט אומרת לפיתון להפיק את הטקסט הבא בציטוטים כפולים. זה טוב, אבל לא מועיל במיוחד עבור Minecraft, בואו נקשר את זה:
מ- mcpi.minecraft יבוא Minecraft mc = Minecraft.create () mc.postToChat ("שלום, עולם!")
עכשיו אם אתה שומר ומריץ קובץ זה, אתה אמור לראות "שלום, עולם!" מופיעים במשחק Minecraft. נתחיל את הקוד:
מייבוא mcpi.minecraft Minecraft
שורה זו אומרת לפייתון שאתה רוצה להשתמש בקוד מקובץ אחר. קובץ mcpi.minecraft זה פותח כדי לאפשר שליטה קלה על Minecraft.
mc = Minecraft.create ()
שורה זו יוצרת אובייקט שנקרא "mc" (Minecraft). אתה צריך ליצור את זה כדי לאפשר תקשורת למשחק Minecraft - זה לא מספיק רק כדי לכלול את הקובץ.
mc.postToChat ("שלום, עולם!")
לבסוף, שורה זו אומרת ל- Minecraft לכתוב טקסט לצ'אט. נסה לשנות את "שלום, עולם!" למשהו אחר ולראות מה קורה, אך זכרו לכלול את שתי הציטוטים הכפולים. אם אתה נתקל בבעיות תוכנה, אלה הן מספר שגיאות Python ו- Minecraft Pi הנפוצות:
- AttributeError - זו שגיאת הקלדה, כגון ליטר או prnt במקום הדפסה
- NameError: השם 'Minecraft' אינו מוגדר - זכרו לייבא את המודולים הדרושים לכם
- שם אימה: שם 'נכון' אינו מוגדר - פייתון הוא רגיש אותיות רישיות, שנה ל'אמת '
- socket.error: [Errno 111] החיבור סירב - ודא ש- Minecraft פועל
פרויקטים
עכשיו כשתכיר את היסודות של פייתון ומיינקראפט, בואו נעשה כמה פרויקטים מגניבים. ניתן להוריד את כל הקודקנים מ- גיתוב.
בונה גשרים אוטומטי

תוכנית זו תבנה ביעילות גשר מעל מים. כאשר הנגן יתקרב לגוף מים, התוכנית תמיר כמה בלוקים לאבן. מכיוון שמיינקראפט משתמשת במערכת קואורדינטות, קל מאוד להשיג את מיקום הנגן, יחד עם סוג הבלוקים סביב הנגן. Minecraft Pi מוגבלת מעט, כך שלא ניתן לעדכן מספר בלוקים שונים בכמות גדולה. עם זאת, אתה יכול בקלות לקוד התנהגות זו בעצמך.
צור קובץ חדש (קובץ> קובץ חדש) ושמור אותו כ- "bridge_builder.py“.
מייבוא mcpi.minecraft Minecraft. mc = Minecraft.create () # צור אובייקט Minecraft בזמן אמת: x, y, z = mc.player.getPos () # מיקום שחקן חנות # חנות את הבלוקים שמסביב 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) אם a == 8 או a == 9 או b == 8 או b == 9 או c == 8 או c == 9 או d == 8 או d == 9: # 8 או 9 הוא מים. הגדר בלוקים מסביב על הרצפה ליציקה (אבן) אם נמצא מים 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.set חסימות (x, y - 1, z, x - 1, y - 1, z + 1, 1) mc. חסימות (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 בלוקים בקוביות. נתחיל עם הכפתור. בדומה לכפתורים בארדואינו, תזדקק לכמות קטנה של אלקטרוניקה, שאת כל אלה אתה צריך למצוא ב- ערכת מתנע בסיסית מה יש בערכת Starter Arduino שלך? [מתחילים בארדואינו]מול תיבה מלאה רכיבים אלקטרוניים, קל להיות מוצף. להלן מדריך בדיוק למה שתמצא בערכה שלך. קרא עוד :
- 1 x טיפוס לחם
- 1 x מתג רגעי
- נגן 1 x 220 אוהם
- נקבה> כבלי קפיצה גברים
- זכר> כבלי קפיצה לגברים
הנה המעגל:

נגדי זה נקרא נגר "למשוך למטה". זה עוזר להבטיח שמה שה- Pi חושב שהוא הלחיצה על הכפתור, הוא באמת לחוץ על הכפתור. אתה לא צריך להשתמש בזה, עם זאת מומלץ, מכיוון שאתה עשוי למצוא הרבה רעש וקריאות שווא בלעדיו.
הכפתור מחובר לפין 14 לפלט קלט לשימוש כללי (GPIO). אתה יכול להשתמש בכל סיכת GPIO, עם זאת, התבונן ב נקע ראשית, מכיוון שלא כולם ניתנים לשליטה מה- Pi, ומשתנים מעט בין הדגמים.
כעת כאשר הכפתור מחובר, הגיע הזמן לבדוק אותו. צור קובץ חדש ושמור אותו כ- "button_test.py“. הוסף קוד זה, שמור אותו ואז הפעל אותו בטרמינל.
יבוא RPi. GPIO בתור GPIO. זמן ייבוא GPIO.setmode (GPIO.BCM) # ספר ל- Pi באילו כותרות להשתמש. GPIO.setup (14, GPIO.IN) # אמור ל- Pi סיכה זו היא קלט בזמן אמת: אם GPIO.input (14) == נכון: # חפש לחץ על לחצן הדפס "BUTTON WORKS!" # זמן תוצאת יומן. ישן (0.5) # המתן 0.5 שניות.
ללחוץ שליטה + C כדי לעצור את התסריט. אם הכל עובד כראוי, אתה אמור לראות את "עבודות הכפתור!" בטרמינל. שימו לב כיצד, בדומה למודול Minecraft, מבחן זה משתמש ב- RPi. מודולי GPIO וזמן. אלה מאפשרים ל- Pi לגשת לסיכות החומרה ולספק פונקציות תזמון שימושיות.
כעת בואו לסיים את שאר הקוד. צור קובץ חדש שנקרא "super_mine.py“. הנה הקוד:
יבוא RPi. GPIO בתור GPIO. זמן יבוא. מ- mcpi.minecraft יבוא Minecraft mc = Minecraft.create () # צור Minecraft Object GPIO.setmode (GPIO.BCM) # ספר ל- Pi באילו כותרות להשתמש. GPIO.setup (14, GPIO.IN) # אמור ל- Pi סיכה זו היא קלט בזמן אמת: אם GPIO.input (14) == True: # חפש לחצן לחצו על x, y, z = mc.player.getPos ( ) # קרא את הנגן מיקום mc.setBlocks (x, y, z, x + 10, y + 10, z + 10, 0) # שלי 10 חסימות mc.setBlocks (x, y, z, x - 10, y + 10, z - 10, 0) # שלי 10 חסימות זמן. שינה (0.5) # המתנה 0.5 שניות.
mc.player.getPos () מחזירה לשחקנים את הקואורדינטות הנוכחיות, המאוחסנות אז ב- x, y ו- z. ה מנעולים () השיטה אומרת ל- Minecraft למלא את כל הבלוקים בין ההתחלה לסוף עם החסימה הבאה. אפס הוא החסימה לזיהוי אוויר. אתה יכול לשנות את זה למזהה אחר כדי למלא אזור מוצק. אתה יכול גם לשנות את הקואורדינטות ל- +100 או אפילו +1000 חסימות, עם זאת, ה- Pi עשוי להתחיל להיאבק אם אתה משתגע מדי. שימו לב כיצד y + 10 זהה לשני השורות. אתה יכול לשנות את זה ל- y - 10 אם אתה רוצה להסיר בלוקים מתחת לאדמה.
טלפורטציה

שימוש פשוט נוסף בכפתור זה יכול להיות "טלפורט". ה- Minecraft Pi Api מספק דרך לקבוע את מיקום השחקן. הקוד הבא "יפיץ" את הנגן למיקום מוגדר מראש:
mc.player.setPos (0, 0, 0)
שימו לב שהשיטה שלו מקבלת שלושה פרמטרים; x, y ו- z - כך שתוכל להגדיר את אלה לכל דבר שיבצע מיידית טלפורטציה של הנגן למיקום זה.
צור עותק של קובץ super_mine (קובץ> שמור עותק בשם) ולשנות אותו על ידי החלפת ה- if בכאלה:
אם GPIO.input (14) == נכון: # חפש לחצן לחץ על mc.player.setPos (0, 0, 0) # זמן נגן טלפורט. שינה (0.5) # המתן 0.5 שניות.
כעת הקובץ אמור להיראות כך:
יבוא RPi. GPIO בתור GPIO. מייבוא mcpi.minecraft Minecraft. זמן ייבוא mc = Minecraft.create () # create Minecraft Object GPIO.setmode (GPIO.BCM) # אמור ל- Pi באילו כותרות להשתמש. GPIO.setup (14, GPIO.IN) # אמור ל- Pi סיכה זו היא קלט בזמן אמת: אם GPIO.input (14) == True: # חפש לחיצה על לחצן mc.player.setPos (0, 0, 0) # זמן נגן טלפורט. שינה (0.5) # המתנה 0.5 שניות.
שמור אותו כ- "teleport.py" ורוץ.
אתה עשוי לגלות שהנגן נתקע בתוך כמה בלוקים בעת השימוש בזה, ובמקרה זה תצטרך לעשות זאת התאם את הקואורדינטות לשטח פתוח ידוע (השמאלית העליונה של המסך מציגה את הזרם שלך מקום).
לבנות בית

משימה אחת אחרונה עבור כפתור זה היא לבנות בית. בדומה לדוגמא של הכרייה המהירה שלמעלה, זה פשוט יחליף בלוקים המקיפים את הנגן כדי ליצור בית. תעודות זהות שונות ישמשו לחומרים שונים (חלון, קירות וכו '). כדי להקל על הקוד תיווצר בלוק מוצק ואז החלק הפנימי יוסר (הגדר את הבלוק לאוויר), זה יוצר מעטפת חלולה. אתה יכול להוסיף תוספות כמו מיטה או דלת, עם זאת הפרויקט של Minecraft Pi מעט לא שלם, ובעוד שאובייקטים אלה עובדים כשהם מוצבים על ידי הנגן, הם אינם מבריקים בעת השימוש בפייתון.
מייבוא mcpi.minecraft Minecraft. יבוא RPi. GPIO בתור GPIO. זמן ייבוא mc = Minecraft.create () # create Minecraft Object GPIO.setmode (GPIO.BCM) # אמור ל- Pi באילו כותרות להשתמש. GPIO.setup (14, GPIO.IN) # אמור ל- Pi סיכה זו היא קלט בזמן אמת: אם 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) # הפוך מעטפת mc.setBlocks (x + 3, y, z + 3, x + 6, y + 2, z + 7, 0) # הסר בתוך mc.setBlocks (x + 2, y, z + 5, x + 2, y + 1, z + 5, 0) # הפוך את הדלת mc.set בלוקים (x + 4, y + 1, z + 8, x + 5, y + 1, z + 8, 102) # צור חלון 1 mc.set חסימות (x + 4, y + 1, z + 2, x + 5, y + 1, z + 2, 102) # הפוך חלון 2 mc.setBlocks (x + 7, y + 1, z + 4, x + 7, y + 1, z + 6, 102) # חלון הפוך 3.
שמור את זה כ- "house.py" ורוץ. ככול שיהיה לך טוב, אתה אמור לראות בית קטן מופיע (יתכן שתצטרך להסתובב כדי למצוא אותו). זה פשוט מאוד, פתח וכמה חלונות. בתיאוריה, אין גבול לכמה גדול או מורכב של בניין אתה יכול לבנות.
הכינו משחק מיני

הבא, בואו נעשה משחק מיני! זה יהיה די פשוט, כאשר השחקן צועד על גוש חול, הוא יהפוך לבה לאחר פרק זמן אקראי. זה משחק טוב להכין, מכיוון שתוכלו לעצב רמות משלכם או לשנות את זה כדי להקשות על המצב. לא תזדקק לכפתור לדוגמה זו.
צור קובץ חדש ושמור אותו כ- "mini_game.py“. הנה הקוד:
מייבוא mcpi.minecraft Minecraft. יבוא אקראי. ייבוא זמן mc = Minecraft.create () # צור אובייקט Minecraft בעוד נכון: x, y, z = mc.player.getPos () block_under_player = mc.getBlock (x, y - 1, z) אם block_under_player == 12: # שחקן עומד על חול, הפעל את הטיימר random_time = random.uniform (0.1, 2.5) # צור זמן אקראי מספר. שינה (זמן אקראי); # חכה mc.setBlock (x, y - 1, z, 11) # הפוך אותו לבה.
קוד זה הוא התחלה טובה ב- אקראי () פונקציה: אקראי. אחיד (0.1, 2.5) יפיק מספר אקראי בין 0.1 (1/10 שניה) ל 2.5 (2 1/2 שניות). הגדלת המספרים הללו תקל על המשחק.
נסה את זה! עמדו על גוש חול וזה בקרוב יהפוך לבה. זה יכול להיות הבסיס למשחק מורכב יותר.
הכינו עוד משחק מיני

הנחת היסוד למשחק זה היא פשוטה - אל תעמדו על רצפת העץ כשיגמר הזמן. השחקן מתפרסם בטלוויזיה ל"זירה ". הם נאלצים לעמוד בשקט עד שהמשחק מתחיל. ברגע שתתחיל, הרצפה תפנה למים ברגע שנגמר הטיימר. על השחקן לעמוד באזור הבטוח (אבני יהלומים) כדי לשרוד. כל רמה מקטינה את הטיימר בשנייה אחת. לאחר כל רמה מוצלחת האזור הבטוח הולך וגדל. בדוק את הקוד למטה:
זמן יבוא. יבוא אקראי. מ- mcpi.minecraft יבוא Minecraft mc = Minecraft.create () # צור אזור נקה של Minecraft #. mc.setBlocks (-10, 1, -10, 25, 5, 25, 0) # ליצור מעטפת זירה. mc.setBlocks (0, 0, 0, 25, 10, 25, 17) # זירה חלולה. mc.setBlocks (1, 1, 1, 24, 10, 24, 0) # העבר שחקן לזירה. mc.player.setPos (14, 25, 20) # נגן טלפורט # גורם להם להישאר במצב. # נגן טלפורט למצב התחלה כל שנייה בעשרה. # עשה זאת במשך 5 שניות ואז התחל את המשחק. זמן. שינה (2) סה"כ המתן = 0. mc.postToChat ("מחכה להתחיל") בזמן total_wait <5: mc.player.setPos (14, 1, 20) # זמן נגן טלפורט. שינה (0.1) total_wait + = 0.1 mc.postToChat ("BEGIN!") # 10 רמות. עבור רמה בטווח (10): x, y, z = mc.player.getPos () level_time = 10 - level # הפחיתו את הזמן בשנייה אחת עבור כל רמה mc.postToChat ("רמה -" + str (רמה + 1) + "התחל") # בניית רצפה mc.set חסימות (0, 0, 0, 25, 0, 25, 17) # הפוך שטח בטוח 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) חלף_זמן = 0 בזמן elapsed_time <10: x, y, z = mc.player.getPos () time.sleep (0.25) elapsed_time + = 0.25 # שחקן הסימון עדיין על הרצפה אם y <0.75: mc.postToChat ("משחק מעל ") הפסקה; אחרת: # הסר את הרצפה mc.setBlocks (-10, 0, -10, 25, 0, 25, 8) # החזר את האזור הבטוח mc.setBlocks (safe_area_start, 0, safe_area_end, safe_area_start + level, 0, safe_area_end + level, 57) זמן. שינה (2.5) המשך לשבור.
שמור את זה כ- "mini_game_2.py"ותן לזה ריצה.
ל- Pi 2 יש כמה בעיות ביצועים בזמן הפעלת Minecraft. גרף השימוש של יחידת העיבוד המרכזית (CPU) (CPU)בפינה השמאלית העליונה) מעולם לא מציג עומס כבד, ולכן זה חייב להיות תלוי בעיצוב לא טוב ואופטימיזציות מצד המפתחים. בעיות אלה אינן קשורות לקוד ריצה (כאשר הם ממשיכים כאשר פייתון אינו פועל), אולם הם מורכבים על ידי משחק מיני זה. אם ה- Pi שלך באמת נאבק, אולי תרצה לצמצם את גודל הזירה או overclock את ה- Pi שלך לא מספיק מיץ? סחט את Pi פטל שלך באמצעות שעון יתראם יש חומרה שיצאה בשנת 2012 שאתה עשוי להתאהב בה, זה פטל Pi מתוק כמו סוכר, מיני מחשב שתוכנן ונבנה בבריטניה שהגיע לכל רחבי ... קרא עוד .
גלאי יהלומים

בואו נעשה מעגל נוסף. פעולה זו תשתמש בדיודה פולטת אור (LED) כדי להידלק כשיש יהלומים מתחת (בתוך 15 בלוקים). הנה מה שאתה צריך:
- 1 x טיפוס לחם
- 1 x LED
- נגן 1 x 220 אוהם
- נקבה> כבלי קפיצה גברים
- זכר> כבלי קפיצה לגברים
הנה המעגל:

חבר את האנודה (רגל ארוכה) ל- GPIO Pin 14. סיכה זו פועלת כמו + 5v. חבר את הקתודה (רגל קצרה) לקרקע.
השתמשתי בצעצוע עפרות זול ושיניתי אותו על ידי הסרת הכיסוי האחורי והאלקטרוניקה, ואז הנחתי תאורה לד מתחתיה. אתה יכול בקלות להפוך את זה לקבוע עם דבק חם או משהו דומה.

שמור קוד זה בשם "יהלומים“:
יבוא RPi. GPIO בתור GPIO. זמן יבוא. מ- mcpi.minecraft יבוא Minecraft mc = Minecraft.create () # צור אובייקט Minecraft led_pin = 14 # אחסן את מספר ה- PIN של GPIO GPIO.setmode (GPIO.BCM) # אמור ל- Pi באילו כותרות להשתמש. GPIO.setup (14, GPIO.OUT) # תגיד ל- Pi סיכה זו היא פלט בעוד נכון: # חזור על הגבלת זמן x, y, z = mc.player.getPos () עבור i בטווח (15): # תסתכל על כל חסום עד חסום 15 אם mc.getBlock (x, y - i, z) == 56: GPIO.output (led_pin, True) # הפעל LED על זמן. שינה (0.25) # חכה GPIO.output (led_pin, False) # הפעל LED זמן חופש. שינה (0.25) # חכה.
כשיש גוש עפרות יהלום מתחת לשחקן (בתוך 15 חסימות) האור יהבהב.
עשית משהו מגניב עם Minecraft Pi? תודיעו לי בתגובות מה עשיתם או כמה רחבתם להגיע במשחקים.
ג'ו הוא בוגר מדעי המחשב מאוניברסיטת לינקולן, בריטניה. הוא מפתח תוכנה מקצועי, וכאשר הוא לא טס מל"טים או כותב מוסיקה, לעתים קרובות ניתן למצוא אותו כשהוא מצלם או מפיק סרטונים.