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

שלב ז – יצירת מחלקה פשוטה

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

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

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

משתנה בשם
sub שיכיל הצבעה לצוללת הנמצאת בתא זה (מחלקת הצוללת תמומש בהמשך).

הוסיפו למחלקה זו את המתודה ToString כמו שמומשה בשלב ב , ואת המתודות הבאות:
מתודה בשם
SetSub המקבלת כארגומנט צוללת, ומעדכנת את מצב התא ואת המצביע לצוללת בהתאם.
מתודה בשם
Hit שבודקת מהי תוצאה של "יריה" על התא, מעדכנת את מצבו בהתאם ומחזירה 0 או 1 בהתאם להאם היתה פגיעה.
מתודה או מתודות לעדכון כפוי של מצב התא בהתאם לקלט, ולהחזרת המצב הנוכחי של התא.

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

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

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

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

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