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