איקס עיגול, אכזבה

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

שנית- לגבי ההנחייה “ממשו את הפונקציה check_board(board) כך שתשתמש בכמה שיותר פונקציות עזר”
האם הכוונה היא חלוקה לפונקציות קטנות יותר (ואם כן, למה? לא עדיף לצמצם?), או שימוש בפעולות מגוונות?

היי אשלי למה את מתכוונת שאת אומרת פעולת אינדקס ?

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

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

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

מקווה שהסברתי את עצמי לא תמיד זה מצליח לי

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

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

אני חוזרת בי
פירקתי לפונקציות וזה נראה הרבה יותר קריא :sweat_smile:

לייק 1

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