כיוונים אלגוריתמיים לשורד

עמוד

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

מוצגות 6 תגובות – 1 עד 6 (מתוך 6 סה״כ)
  • מאת
    תגובות
  • #83105
    eyalido
    משתתף

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

    #83106
    123
    משתתף

    יש דרך לראות קודים של שורדים משנים קודמות? :O ממה שכתבת הבנתי שהסתכלת בקודים קודמים, לא הצלחנו להגיע לקודים (רק להריץ את השורדים) אז אם תוכל לכתוב איך אפשר להגיע אליהם (ברוח התחרות הידידותית 🙂 ) נשמח מאד! 🙂

    #83107
    Yoav
    משתתף

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

    #83108
    eyalido
    משתתף

    לגבי הסתכלות על הקוד – זה דרך הדיסאסמבלר של nasm. למרות שכמו שיואב רושם זה מאוד מסובך להסתכל רק על הקוד כי קשה להבין.
    כמובן יואב שאני גם מריץ אותם בדיבאגר, אבל נתקלתי גם בקודים של שורדים כמו bam שהפכו את השורד לבלתי ניתן לקריאה גם בדיסאסמבלר וגם בדיבאגר (דרך קפיצה לאמצע פקודה בהתחלה, כך שמריצים קוד שונה ממה שמוצג בדיסאסמבלר, ושינוי cs כך שהמיקום שלהם בזירה בדיבאגר מעצבן למצוא אותו (כי הip שלהם תמיד על אותו מיקום והדיבאגר מראה את המיקום על הזירה רק לפי ip ולא מתייחס לcs כמו שצריך ככה שצריך לעשות את החישובים לבד וזה מאוד מציק..)).
    וכן, כמובן שידועה לי שזו הדרך הכי טובה, הבעיה היחידה בשבילי היא שאין לי מספיק זמן לעשות זאת. גיליתי על התחרות הזו קרוב מאוד לתאריך ההרשמה ולכן לא היה לי הרבה זמן להתכונן. בכל מקרה תודה 🙂

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

    עידו (קבוצת Sir Vivor שהתפרקה, הצטרפתי לקבוצת carrot).

    #83109
    Yoav
    משתתף

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

    #83110
    eyalido
    משתתף

    תודה על התשובות.
    בכל מקרה כנראה שהשנה לא נגיע לגמר, אבל אני אופטימי לגבי שנה הבאה 🙂
    עידו

מוצגות 6 תגובות – 1 עד 6 (מתוך 6 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.