תוכן עניינים:
וִידֵאוֹ: משחק סלעי שטח ארדואינו: 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
בין אם הם משחקים במחשב, בטלפון, בקונסולת משחקים או בקופסה עצמאית, הרבה משחקי וידאו כוללים אלמנט של הימנעות ממכשולים. בטח, ייתכנו נקודות על איסוף אסימונים או מציאת הדרך במבוך, אך היה סמוך ובטוח כי כנראה יש משהו במשחק שמטרתו היחידה היא למנוע ממך לעשות זאת. משחק הווידאו הראשון היה פונג, אבל אחריו המשחקים הפופולריים ביותר היו דברים כמו "אסטרואידים" או "פאק-מן". וריאציה עדכנית יותר תהיה המשחק הפשוט אך הממכר של "ציפורי פלאפי".
לאחרונה ראיתי שמישהו עשה גרסה פשוטה של שתי רמות של "ציפור פלאפיי" שהושמעה על מסך LCD רגיל של 1602. חשבתי שזה משהו שהנכדים יאהבו ולכן החלטתי לעשות וריאציה משלי מאפס. לגרסת 1602 יש רק שתי רמות אז החלטתי להשתמש ב- LCD 2004 (20x4) במקום להגדיל מעט את קושי המשחק. בחרתי גם להפוך אותו ל"אסטרואידים "יותר על ידי כך שהשחקן יוביל" ספינה "במבוך של" סלעי חלל ". גם אם אינך מעוניין לבנות את המשחק, ייתכן שיהיו כמה אלמנטים של התוכנה שתוכל להשתמש בהם באחד הפרויקטים שלך.
שלב 1: חומרה
החומרה יכולה להתבסס על כמעט כל גרסת Arduino. עשיתי את אב טיפוס באמצעות ננו ואז שרפתי את הקוד לשבב ATMega328. זהו אותו שבב המשמש את ה- Nano אך השימוש בו כשלעצמו מאפשר בנייה קומפקטית יותר ופחות צריכת חשמל. כפי שאתה יכול לראות, בניתי את המעגל על לוח לחם קטן המתחבט במודול ה- LCD. ההיבט הנוסף ששונה הוא שהנאנו פועל ב -16 מגה-הרץ באמצעות קריסטל חיצוני אך בחרתי להשתמש במתנד 8 מגה-הרץ המובנה עבור שבב ATMega328. זה חוסך חלקים וכוח.
LCD LCD מתממשק ל- Arduino באותה צורה כמו 1602 LCD. הבדל מעניין הוא בטיפול במיקומי התצוגה. ברור שיש הבדל כי יש ארבע קווים במקום שניים, אך בשנת 2004 הקו השלישי הוא הרחבה של הקו הראשון והקו הרביעי הוא הרחבה של הקו השני. במילים אחרות, אם הייתה לך תוכנית בדיקה שרק שלחה שורה של תווים אל ה- LCD, התו ה -21 היה מופיע בתחילת השורה השלישית והתו ה -41 עוטף חזרה לתחילת השורה הראשונה. אני משתמש במאפיין הזה בתוכנה בכדי להכפיל את אורך המבוך.
החלטתי להפעיל את סוללת הגרסה שלי כך שהשתמשתי בסוללה נפוצה של 18650 ליתיום, 3.6 וולט. זה דרש ממני להוסיף לוח קטן כדי לאפשר טעינת USB ועוד לוח קטן כדי להגביר את מתח הסוללה ל -5 וולט עבור ה- LCD ושבב ATMega. התמונות מציגות את המודולים בהם השתמשתי אך יש גם מודולים מסוג All-in-One שעושים את שתי הפונקציות.
שלב 2: תוכנה
התוכנה זהה הן לשבבי ה- Nano והן לשבב ATMega328. ההבדל היחיד הוא בשיטת התכנות. אני משתמש בגירסת עצמות משלי של תוכנת LCD 1602 ותוכנת ה- LCD בפרויקט זה מבוססת על כך. הייתי צריך להוסיף יכולות להתייחס לשורות הנוספות של התצוגה 2004 וגם הוספתי שגרות לשינוי התצוגה. משמרת התצוגה מספקת את אפקט התנועה של ה"סלעים "בעבר ה"ספינה".
כפי שצוין קודם לכן, שורות 1 ו -3 יוצרות תור מעגלי וגם שורות 2 ו -4 עושות את זה. המשמעות היא שאחרי 20 משמרות, קווים 1 ו -3 מוחלפים ושורות 2 ו -4 מוחלפות. לאחר 40 משמרות הקווים חזרו למקומם המקורי. בגלל התנהגות זו, המבוך המקורי בן 20 התווים הופך להיות שונה לחלוטין כאשר השורות מתחלפות. זה הפך את החיים למעניינים כשניסיתי ליצור מבוך. סוף סוף רק פתחתי גיליון אלקטרוני של Excel כדי שאוכל להתוות את הנתיב מבלי לשנות את התוכנה כל הזמן. התוכנה המסופקת כאן כוללת שתי גרסאות של המבוך (אחת מגיבה) כך שתוכל לבחור איזו מהן אתה רוצה או להמציא משלך.
במקור רציתי שזה יהיה מספיק פשוט כדי שהנכדים הצעירים יוכלו לשחק את זה, אבל רציתי שיהיה לזה אתגר נוסף אם הם (או מישהו אחר) יתמכו בזה יותר מדי. המשחק מתחיל עם קצב המשמרות שנקבע על שנייה אחת. קצב הטיק הפנימי הוא 50ms כך שזה אומר שיש 20 מרווחים שבמהלכם ניתן ללחוץ על כפתורי למעלה/למטה. למעשה, כפתור שנלחץ צורך 2 טיקים מכיוון שמרווח של 50ms משמש לאיתור העיתונות ומרווח נוסף של 50ms משמש להמתנה לשחרור. עם מבוך ברירת המחדל מספר הלחיצות המרבי הנדרש לפני המשמרת הבאה הוא שלוש. הדרך הפשוטה להגדיל את הקושי במשחק היא לקצר את הזמן בין משמרות, כך שכמה שורות קוד עושות בדיוק את זה כשהציון עולה. קצב המשמרת מוגדר להאיץ ב- 50ms בכל 20 משמרות, כשהשיעור המינימלי מוגבל ל -500ms. קל לשנות פרמטרים אלה.
מלבד שינוי קצב המשמרת, ההיגיון העיקרי בתוכנה הוא הזזת "הספינה" וקביעה אם "הספינה" התנגשה ב"סלע ". פונקציות אלה מנצלות את מערך ה"סלע/שטח "המוגדר וגם את המערך המגדיר את מיקומי הזיכרון בתצוגה. ספירת המשמרות תואמת את אורך הקו של ה- LCD (0-19) ומשמשת כאינדקס למערכים אלה. ההיגיון מסובך במקצת מכך שהקווים מחליפים כל 20 משמרות. היגיון דומה משמש לקביעת המיקום של "הספינה" שיכול להיות בכל אחת מארבע הקווים.
הציון עבור כל משחק הוא פשוט ספירת מספר המשמרות שהתרחשו והציון הגבוה נשמר ב- EEROM הפנימי של המיקרו -בקר. ספריית EEPROM משמשת לקריאה וכתיבה לזיכרון זה. השגרה הקיימת מאפשרת קריאה/כתיבה של בתים בודדים וקוראים/כותבים של ערכי נקודה צפה. ערך של 0xA5 מאוחסן במיקום EEROM הראשון כדי להצביע על ציון גבוה שנשמר. אם ערך זה קיים בעת ההפעלה, נקרא ומופיע ערך הנקודה הצפה של הציון הגבוה. אם ערך 0xA5 אינו קיים, אז נקרא שגרה לאתחל את הציון הגבוה לערך 1. אותה שגרה נקראת אם רוצים איפוס של הציון הגבוה. הציון הגבוה מוחזר לערך 1 על ידי לחיצה ארוכה על אחד מכפתורי העלייה/למטה ולאחר מכן לחיצה לרגע על כפתור האיפוס.
שלב 3: משחק
כאשר מופעל כוח, הציון הגבוה הנוכחי מוצג. לאחר הצגת הציון הגבוה, מבוך ה"סלעים "וה"ספינה" מוצגים ואז המשחק מתחיל כעבור מספר שניות. כאשר "הספינה" פוגעת ב"סלע "ההודעה" קראש ושריפה "מהבהבת כמה פעמים לפני הצגת הציון למשחק. אם נעשה ציון גבוה חדש, אז ההודעה הזו מוצגת גם היא. משחק חדש מתחיל על ידי לחיצה על כפתור האיפוס.
מוּמלָץ:
סלעי הצעצועים הקליקים על מתח זה: 11 שלבים (עם תמונות)
סלעי הצעצועים של Click-Clack במתח גבוה !: להלן שתי גרסאות אלקטרוסטטיות של צעצוע רטרו Click-Clack שהיו פופולריות בבתי ספר תיכוניים עוד בשנות ה -70. גרסה 1.0 היא מודל התקציב העל. חלקים (לא כולל ספק הכוח) מסתכמים כמעט בכלום. תיאור של היקר יותר
משחק "שטח השפעה" עם חיישן ג'יירו ולוקיה 5110 LCD: 3 שלבים
משחק "השפעת שטח" עם חיישן ג'יירו ומחשב נוקיה 5110 LCD: לאחר שמת הטמגוצ'י שלי (הפרויקט האחרון), התחלתי לחפש דרך חדשה לבזבז את זמני. החלטתי לתכנת את המשחק הקלאסי "Space Impact" על הארדואינו. כדי להפוך את המשחק למעניין ומהנה יותר, השתמשתי בחיישן גירוסקופ שהיה לי
ילד משחק משחק רטרו חיצוני חיצוני: 3 שלבים
רטרו חיצוני משחק כונן משחקים: מאמר זה יכול להציג את עצמך במועדון חיצוני או ייחודי (du moins à ma connaissance). תחילת כריכה עם ממשק USB-SATA דה מונ דיסקה במהלך חיצוניים. לאחר שעות מסוימות מעבר לתפקיד
שטח מוסתר - בקר משחק אודיו: 5 שלבים (עם תמונות)
שטח מוסתר - בקר משחק אודיו: במדריך זה נכין בקר משחק למשחק אודיו. המשחק מפותח עם Unity. הוא מנסה ליצור ממשק משחק מחוץ למסך, עם מידע ויזואלי מוגבל ובעיקר קולי. השחקן ילבש את
סלעי אשפה - סלק אשפה בלתי ניתנת למיחזור: 8 שלבים
סלעי אשפה - לחסל אשפה שאינה ניתנת למחזור: כדי לייצר סלע אשפה, שק נתפר תחילה מרשת הדגים. הוא מלא באשפה ומטויח במלט. הקליפות המתקבלות הן ייחודיות בצורתן ונראות טבעיות מאוד. סלעי אשפה הם אסתטיקה ובונה אסתטית