שיעור 14 - בונוס

שיפורים נוספים

הגעתם לשיעור האחרון של הסדנה! כל הכבוד על ההתמדה!

בסדנה נחשפתם לעולמות מרתקים, למדתם עקרונות חשובים בתכנות (לולאות, תנאים, משתנים), הפעלתם חיישנים ורכיבים אלקטרוניים נוספים.
מעל הכל הצלחתם לבנות ולתכנת משהו שקיים עכשיו בעולם האמיתי ואפשר לשחק בו ולהשתמש בו.
ממש כמו מהנדסי מוצר שמתכננים ומתכנתים מכשירים אלקטרוניים מתוחכמים או רובוטים חכמים.

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

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

בגלל שאנחנו מבינים שלא לכולם יש זמן להקדיש לשיפור וליטוש הקוד, בשיעור הזה נשתף איתכם את הקוד המשופר שלנו על מנת שתוכלו להנות מחווית משחק משודרגת!

מה השיפורים שהוספנו?

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

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

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

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

אם תגדירו את המשתנה האם לאפשר שלט כ-1 תהיה תמיכה בזינוק אלחוטי.
אם תגדירו את המשתנה האם לאפשר לשט כ-2 לא תהיה תמיכה בזינוק אלחוטי.

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

סיימנו! 

כל הכבוד! סיימתם את הסדנה!

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

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

תודה ולהתראות!