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

משחק סודוקו Arduino Sorta: 3 שלבים (עם תמונות)
משחק סודוקו Arduino Sorta: 3 שלבים (עם תמונות)

וִידֵאוֹ: משחק סודוקו Arduino Sorta: 3 שלבים (עם תמונות)

וִידֵאוֹ: משחק סודוקו Arduino Sorta: 3 שלבים (עם תמונות)
וִידֵאוֹ: JavaFX Explore: Button 2024, נוֹבֶמבֶּר
Anonim
משחק סודוקו Arduino Sorta
משחק סודוקו Arduino Sorta

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

שלב 1: חומרה

חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה

החומרה יכולה להתבסס על כמעט כל גרסת Arduino. עשיתי את אב טיפוס באמצעות ננו ואז שרפתי את הקוד לשבב ATMega328. זהו אותו שבב המשמש את ה- Nano אך השימוש בו כשלעצמו מאפשר בנייה קומפקטית יותר ופחות צריכת חשמל. כפי שאתה יכול לראות, בניתי את המעגל על לוח לחם קטן המתחבט במודול ה- LCD. ההיבט הנוסף ששונה הוא שהנאנו פועל ב -16 מגה-הרץ באמצעות קריסטל חיצוני אך בחרתי להשתמש במתנד 8 מגה-הרץ המובנה עבור שבב ATMega328. זה חוסך חלקים וכוח.

LCD LCD מתממשק ל- Arduino באותה צורה כמו 1602 LCD. הבדל מעניין הוא בטיפול במיקומי התצוגה. ברור שיש הבדל כי יש ארבע קווים במקום שניים, אך בשנת 2004 הקו השלישי הוא הרחבה של הקו הראשון והקו הרביעי הוא הרחבה של הקו השני. במילים אחרות, אם הייתה לך תוכנית בדיקה שרק שלחה שורה של תווים אל ה- LCD, התו ה -21 היה מופיע בתחילת השורה השלישית והתו ה -41 עוטף חזרה לתחילת השורה הראשונה. התוכנה מטפלת בהבדל זה עם טבלת חיפוש כתובות LCD.

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

החלטתי להפעיל את סוללת הגרסה שלי כך שהשתמשתי בסוללה נפוצה של 18650 ליתיום, 3.6 וולט. זה דרש ממני להוסיף לוח קטן כדי לאפשר טעינת USB ועוד לוח קטן כדי להגביר את מתח הסוללה ל -5 וולט עבור ה- LCD ושבב ATMega. התמונות מציגות את המודולים בהם השתמשתי אך יש גם מודולים מסוג All-in-One שעושים את שתי הפונקציות.

שלב 2: תוכנה

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

הפקודות "אקראי" ו- "randomSeed" משמשות כדי לסייע ביצירת המשחק. הוספתי שמירה ל- EEPROM של ה"זרע "כדי להבטיח שרצף אחר ייווצר בכל הפעלה. השורות לחידה נגזרות ממערך חיפוש בן 24 אלמנטים. שלוש השורות הראשונות נבחרות באופן אקראי מהטבלה, עם בדיקות כדי לוודא כי שורה שנבחרה אינה מתנגשת עם שורה קודמת. השורה האחרונה ממולאת באופן ידני מכיוון שתהיה רק תבנית אחת אפשרית בשלב זה. אחרי זה רק עניין של סריקת מטריצת המקלדת והמרת לחיצות המקשים למספרים.

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

שלב 3: תצוגות

תצוגות
תצוגות
תצוגות
תצוגות
תצוגות
תצוגות

להלן מספר תמונות של התצוגות השונות.

מוּמלָץ: