תוכן עניינים:

Tap Tap Rainbow - משחק תגובה מהיר ל -2 שחקנים: 4 שלבים (עם תמונות)
Tap Tap Rainbow - משחק תגובה מהיר ל -2 שחקנים: 4 שלבים (עם תמונות)

וִידֵאוֹ: Tap Tap Rainbow - משחק תגובה מהיר ל -2 שחקנים: 4 שלבים (עם תמונות)

וִידֵאוֹ: Tap Tap Rainbow - משחק תגובה מהיר ל -2 שחקנים: 4 שלבים (עם תמונות)
וִידֵאוֹ: Shroud's Aiming Secrets 2024, נוֹבֶמבֶּר
Anonim
הקש על טפ קשת - משחק תגובה מהיר ל -2 שחקנים
הקש על טפ קשת - משחק תגובה מהיר ל -2 שחקנים
הקש על טפ קשת - משחק תגובה מהיר ל -2 שחקנים
הקש על טפ קשת - משחק תגובה מהיר ל -2 שחקנים
הקש על טפ קשת - משחק תגובה מהיר ל -2 שחקנים
הקש על טפ קשת - משחק תגובה מהיר ל -2 שחקנים

מחרוזת ה- LED משתמשת רק ב -3 חוטים. אז הייתי צריך רק כוח 5V (אדום), קרקע (לבן) ואות (ירוק). אם אתה משתמש גם ב- Espruino הקפד לבדוק את ההדרכות באתר שלהם. זה של נוריות RGB מוסבר בבירור מאוד.

חתכתי את מחרוזת ה- LED ל -3 חלקים מתוך 6 נוריות ולאחר מכן חיברתי אותם יחד עם חוטים נוספים. בדרך זו, כל הלדים משתמשים באותו מערך שחוסך לי 2 יציאות נוספות בלוח וקל יותר לתכנת.

חיבור הכפתורים היה קצת יותר קשה. רציתי להשתמש בפחות יציאות אפשריות בלוח אז חשבתי להשתמש בהתקנת I2C אך נכשלתי בה מאוד. לא הצלחתי לגרום לזה לעבוד ולכן שמרתי על משהו אחר.

בסופו של דבר מצאתי הדרכה בנושא אספרונו למקלדת שמקושרת כמטריצת לוח מקשים עם 16 כפתורים. זה נראה די קל ליישום אז הלכתי לכיוון הזה. הייתי צריך רק 12 כפתורים כדי שאצטרך מטריצה 3x4.

במטריצת לוח המקשים כל הלחצנים מחוברים לעמודים ושורות. בדרך זו אתה צריך רק 8 יציאות עבור 16 כפתורים. בהגדרות שלי הייתי צריך רק 2 כפול 6 כפתורים אז זה בסך הכל 7 יציאות בלוח (4 שורות עם 3 עמודות). זה עדיין הרבה פחות מאשר חיבור 12 הכפתורים בנפרד ומודול המקלדות של Espruino ממש קל לשימוש.

מצאתי הדרכה טובה על לוח המקשים על יסודות המעגל שעזרה לי מאוד בחיווט הכפתורים.

כשהצלחתי לחבר את כל הכפתורים שלי התוסכלתי מאוד מכיוון שהמחברים כל הזמן החליקו והיה מאוחר. אז הדבקתי הכל על הקופסה ושכחתי לגמרי לצלם. גם לא מאוד ידידותי למשתמש ביום שאני צריך לחבר מחדש חוט באחת הקופסאות.

שלב 3: כתיבת הקוד

כתיבת הקוד
כתיבת הקוד
כתיבת הקוד
כתיבת הקוד
כתיבת הקוד
כתיבת הקוד

אספרונו מתוכנת ב- Javascript אז בשבילי זה הרבה פחות מורכב מכתיבת קוד עבור Arduino.

הקוד עשוי להשתמש באופטימיזציה מסוימת אך הוא עושה את העבודה בינתיים. יש גם באג (אולי זו תכונה: D) שבה לא ניתן ללחוץ על 2 כפתורים בדיוק באותו הזמן. אבל זה עושה את זה קצת יותר מאתגר (לקרוא מתסכל) לשחק את המשחק, אז עדיין לא חקרתי את הנושא, אני די אוהב את זה ככה (אם אתה משחרר זה מתסכל במיוחד).

תכנות הנורות די קל. כל LED במחרוזת הוא 3 ערכים במערך. אז אם יש לך מערך כמו [255, 0, 0, 255, 0, 0] יש לך את 2 הנורות הראשונות אדומות.

בסקירה מהירה.

1. ראשית אני מגדיר את הצבעים שלי ועושה מערך מכל הצבעים

2. לאחר מכן אני מגדיר את הגדרות הנגן, כמו מזהי הכפתורים ואיזה אינדקס יש לכל שחקן במחרוזת ה- LED

3. בתחילת המשחק אני מערבב את כל הצבעים במערך הקשת ומאחסן את המידע הזה במערך חדש. אחר כך אני מאפס את כל הלדים ומדליק את הנורות העליונות בצבעי הקשת המעורבבים

4. לבסוף יש לנו את הקוד המאזין לאירועי המפתח. אני מאחסן את כל הקלט לתוך מערך ובודק אם המערך הזה נמצא ברצף הנכון.

5. תוספת נחמדה הוספתי אתמול את זה שהזוכים מקבלים יחס עם אנימציה קשת מדהימה: D

עדיין יש לי הרבה דברים בראש כדי להפוך את זה למהנה יותר, אבל זה משהו מאוחר יותר;)

אני לא מצליח להעלות את קוד המקור המלא אז שמתי אותו על Gitlab

gitlab.com/marzsman/tap_tap_rainbow

שלב 4: תהנה עם זה !!! ?

Image
Image
תהנה עם זה!!! ?
תהנה עם זה!!! ?

כאשר בתי ואני רשמנו את הרעיון שלה וחושבים איך זה צריך להיראות, אהבתי את הרעיון מיד. אבל אני חייב לומר, מעולם לא חשבתי שיהיה כל כך כיף לשחק. כבר היו לנו כמה קרבות הקשה גדולים בקשת: D

אני מקווה שמישהו יהנה מזה כמונו.

זה גם הפרויקט המלא הראשון שעשיתי בזמן כל כך קצר ומשהו שעשיתי עם הבת שלי בת 8 וזה גם ההנחיה הראשונה שלי (סוף סוף!), אז כן מבחינה מסוימת זה פרויקט מאוד מיוחד בשבילי. אז אני מקווה שזה יאהב!

אם יש לך שאלות או הצעות אני שמח לשמוע אותן!

מוּמלָץ: