ברוכים הבאים לאתר תחרויות קודגורו! › פורומים › אקסטרים › כיוונים אלגוריתמיים לשורד
- This topic has 5 תגובות, 3 משתתפים, and was last updated לפני 9 שנים, 9 חודשים by eyalido.
-
מאתתגובות
-
10 בפברואר 2015 בשעה 20:13 #83105eyalidoמשתתף
אז החלטתי להוועץ כאן בפורום לגבי רעיונות שונים לשורד.
בהתחלה לא רציתי להוועץ כאן בפורום, מפני שכמובן כל אחד צריך לכתוב שורד משל עצמו לתחרות, אחרת מה הכיף בלהשתתף. אז עבדתי ביחד עם הקבוצה שלי על השורדים שלנו, אבל נוכחתי לגלות שכל הרעיונות שלנו היו פשוטים למדי, שאולי זה לווא דווקא דבר רע, אלא שהם גם לא היו טובים מספיק נגד שורדים משנים שעברו.
אחרי זה הלכתי להסתכל על הקוד של שורדים משנים שעברו, וגיליתי מאגר של קודים שאני אפילו לא מסוגל להתחיל להבין. לכן החלטתי להעלות כאן את השאלה.
עכשיו, כמובן שאני עדיין לא מצפה שיעשו לי את העבודה. אני נהנה מלעבוד על הקוד בעצמי, זה בעצם כל הכיף. הדבר היחיד שרציתי להתייעץ לגביו הוא כיוון או כיוונים שונים שאולי אפשר להתחיל לבנות אלגוריתם לשורד מהם. עד עכשיו הדבר היחיד ששיחקתי איתו בשורדים הוא העתקה של השורד, שימוש במחסנית כדי לתקוף את הזיכרון בזירה, וכמובן שימוש בcall far אם כי הצורה שבה השתמשתי בזה היתה פחות יעילה מהפצצות רגילות.
בכל מקרה, אני כמובן ממשיך לעבוד על הקוד עם הקבוצה שלי ואני מקווה שנצליח ליצור משהו נחמד לפני התחרות, רק רציתי לבדוק אם מישהו שתומך בקצת תחרות ידידותית רוצה לתרום כיוונים מעניינים שאולי נצליח לפתח בזמן שנותר 🙂
תודה,
עידו10 בפברואר 2015 בשעה 21:19 #83106123משתתףיש דרך לראות קודים של שורדים משנים קודמות? :O ממה שכתבת הבנתי שהסתכלת בקודים קודמים, לא הצלחנו להגיע לקודים (רק להריץ את השורדים) אז אם תוכל לכתוב איך אפשר להגיע אליהם (ברוח התחרות הידידותית 🙂 ) נשמח מאד! 🙂
10 בפברואר 2015 בשעה 21:55 #83107Yoavמשתתףהקודים של השורדים משנים קודמות מפורסמים רק בצורה המקומפלת, ולכן *רשמית* אין גישה אליהם. יחד עם זאת, רוב קבוצות העבר שהגיעו למקומות גבוהים פרסמו פה בפורום את קוד המקור, בתוספת הערות והסברים.
אני חושב שהדרך הטובה ביותר לחשוב על רעיון היא לקרוא שורדים משנים עברו, ובמיוחד כאלה שהגיעו לגמר. לרוב קריאה בלבד של הקוד תהיה מסובכת וקשה, ולכן הרצה של השורד בדיבאגר יכולה להפוך את המלאכה לידידותית הרבה יותר, וכך גם תוכלו לראות את "הפואנטה" של הקוד, בלי כל האתחול.
אם יש לכם עוד שאלות אשמח לעזור 🙂
יואב,
קבוצת KenGeruX, Paranoia, SilentError10 בפברואר 2015 בשעה 22:51 #83108eyalidoמשתתףלגבי הסתכלות על הקוד – זה דרך הדיסאסמבלר של nasm. למרות שכמו שיואב רושם זה מאוד מסובך להסתכל רק על הקוד כי קשה להבין.
כמובן יואב שאני גם מריץ אותם בדיבאגר, אבל נתקלתי גם בקודים של שורדים כמו bam שהפכו את השורד לבלתי ניתן לקריאה גם בדיסאסמבלר וגם בדיבאגר (דרך קפיצה לאמצע פקודה בהתחלה, כך שמריצים קוד שונה ממה שמוצג בדיסאסמבלר, ושינוי cs כך שהמיקום שלהם בזירה בדיבאגר מעצבן למצוא אותו (כי הip שלהם תמיד על אותו מיקום והדיבאגר מראה את המיקום על הזירה רק לפי ip ולא מתייחס לcs כמו שצריך ככה שצריך לעשות את החישובים לבד וזה מאוד מציק..)).
וכן, כמובן שידועה לי שזו הדרך הכי טובה, הבעיה היחידה בשבילי היא שאין לי מספיק זמן לעשות זאת. גיליתי על התחרות הזו קרוב מאוד לתאריך ההרשמה ולכן לא היה לי הרבה זמן להתכונן. בכל מקרה תודה 🙂אגב שאלה, האם התחרות הזו מוגבלת לגיל ביה"ס (עד כיתה י"ב)? כי גיליתי עליה כמו שרשמתי רק השנה, ואני בכיתה יב', ומאוד אשמח להשקיע יותר זמן בהתכוננות לתחרות הבאה אם עדיין אוכל להשתתף בה 🙂 ככה אולי יהיה לי סיכוי לניצחון (משהו שאני לא מצפה לו בתחרות הקרובה מפאת זה שלא הקדשתי מספיק זמן לעניין).
עידו (קבוצת Sir Vivor שהתפרקה, הצטרפתי לקבוצת carrot).
10 בפברואר 2015 בשעה 23:06 #83109Yoavמשתתףהתחרות לא מוגבלת בגיל, שנה שעברה הזוכה היה אדם בוגר שחבר לתלמיד תיכון.
לגבי הבעיות בדיבאגינג: גם המנוע של התחרות וגם הדיבאגרים השונים הם בקוד פתוח, ומנסיון לכל אחד יש את השיפורים והפיצ'רים שהוא היה רוצה/צריך. חלק מכובד בתחרות הוא להכין לעצמך את הכלים שאתה צריך 😉
יואב11 בפברואר 2015 בשעה 00:42 #83110eyalidoמשתתףתודה על התשובות.
בכל מקרה כנראה שהשנה לא נגיע לגמר, אבל אני אופטימי לגבי שנה הבאה 🙂
עידו -
מאתתגובות
- יש להתחבר למערכת על מנת להגיב.