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