פרויקט סיכום > שלבי הפרויקט > שלב ה

שלב ה – השמה מרובה, העברת פונקציות

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

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

ממשו פונקצית בדיקה בשם is_server_client שמקבלת משתנה ובודקת האם הוא המחרוזת “s” (עבור server) או המחרוזת “c” (עבור client). כל ערך אחר צריך לגרום לזריקת שגיאה.

לחץ לקבלת רמז:

לחץ לקבלת רמז נוסף:

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

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

לחץ לקבלת רמז:

לחץ לקבלת רמז נוסף:

לחץ לקבלת רמז שלישי:

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