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

משחק ספינת הקרב של ארדואינו: 3 שלבים
משחק ספינת הקרב של ארדואינו: 3 שלבים

וִידֵאוֹ: משחק ספינת הקרב של ארדואינו: 3 שלבים

וִידֵאוֹ: משחק ספינת הקרב של ארדואינו: 3 שלבים
וִידֵאוֹ: מטוסי קרב רוסיים SU-57 הושמדו על ידי ספינת הקרב של אוקראינה טיל VLS - ארמה 3 2024, נוֹבֶמבֶּר
Anonim
משחק ספינת הקרב של ארדואינו
משחק ספינת הקרב של ארדואינו

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

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

שלב 1: חומרה

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

הסכימה המוצגת כאן מיועדת לשחקן יחיד ולכן יהיה צורך ליצור שתי יחידות. היחידות מתקשרות באמצעות ממשק 3 חוטים הכולל את קווי UART TX ו- RX וחוט הארקה. בחרתי להשתמש בשקע אוזניות סטריאו סטנדרטי בגודל 1/8 אינץ 'ובכבל סטנדרטי עם תקעים גבריים משני קצותיו. ה- RX מתיבה אחת עובר ל- TX של התיבה השנייה ולהיפך. אתה יכול לעשות זאת על ידי החלפת החוטים המולחמים לשקע האוזניות בתוך הקופסה או החלפתם על הלוח בעת בנייתו.

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

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

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

רציתי להוסיף אפקטים קוליים פשוטים לזריקה, הפיצוצים, המשחק מוכן והמנצח/המפסיד. ניסיתי להשתמש בזמזם פיצו פשוט אבל בסופו של דבר קיבלתי רמקול קטן. הזרם הדרוש על ידי הרמקול עולה על מה שהארדואינו יכול להתמודד אז נוסף מגבר טרנזיסטור פשוט. הצליל עדיין לא נהדר אבל הוא טוב יותר מאשר עם הבאזר. הרמקול שלי הוא 4 אוהם אבל אם יש לך אחד של 8 אוהם אז שנה את הנגד בסכימה מ 39 אוהם ל 33 אוהם. אם אתה משתמש בזמזם פיזו אתה אמור להיות מסוגל להניע אותו ישירות מהסיכה של Arduino כאשר הצד השני של הבאזר מחובר לקרקע.

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

שלב 2: תוכנה

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

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

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

שלב 3: צילומי מסך

צילומי מסך
צילומי מסך
צילומי מסך
צילומי מסך
צילומי מסך
צילומי מסך
צילומי מסך
צילומי מסך

להלן כמה צילומי מסך מהמשחק. זהו הפוסט הזה. בדוק את ההוראות האחרות שלי ואת האתר שלי בכתובת: www.boomerrules.wordpress.com

מוּמלָץ: