התגובות שלי בפורום
-
מאתתגובות
-
CodeGuruמנהל בפורום
הדרך לענות על שאלות כאלה היא לקרוא את קוד המקור של המנוע.
אם לא הבנת מהתיעוד – הוא כנראה לא מוצלח. אתה מוזמן להבין מקוד המקור (הוא תמיד חד ערכי) ולהציע ניסוח יותר מוצלח.
פצצה חכמה מחפשת מכתובת אפס ופרט לכיוון (קדימה או אחורה) אי אפשר להשפיע עליה
CodeGuruמנהל בפורוםכל מה שהוא לא הזירה,מאותחל ל0x00 בכל הבתים שבו.
CodeGuruמנהל בפורום- כל פקודה שנגשת לזכרון יכולה לגשת גם למקטע המשותף. כל שצריך הוא לכוון את אוגרי המקטע אליו
- LODSW
שקול ל
mov ax,ds:[si]
add si,2 או sub si.2 - STOSW
שקול ל
mov es:[di],ax
add si,2 או sub si.2 - הזירה מאותחלת ל
CCלא מצאתי בקוד איתחול למקטע המשותף – אבל זה לא נורא – קוראים ערך מקרי (אולי אפסים?) צריך לבדוק. בכל מקרה קריאת ערך לא מאותחל לא תגרום שום נזק. - אפשר לסנכרן, וזה חשוב אם אתה רוצה לוודא שאתה קורא משהו רק אחרי שהצד השני סיים לכתוב.
- קוראים אותו ורואים מה הוא עושה
CodeGuruמנהל בפורוםהמנוע עובד, בדיוק כמו המעבד, ב
Little Endian
כך שאם אתה כותב מילה של 16 ביט אל כתובת זיכרון 1000, 8 הביטים הנמוכים יכתבו ב-1000 ו8 הגבוהים ב-1001
CodeGuruמנהל בפורוםהמנוע לא יודע איזו פקודת "שייכת" לאיזה שורד. הוא רק זוכר את כתובת ההרצאה האחרונה של כל אחד מהשורדים. כך שכדי להשפיע על פעולתו של שורד צריך לשנות את הפקודה שהוא מריץ כרגע. דרך טובה לעשות זאת היא לשנות את כל הבתים שלו. אחרי ששורד מת לא מתרחש שום שינוי באף בית בזירה – אלא שפשוט לולאת הריצה תכיל שורד אחד פחות.
CodeGuruמנהל בפורוםתוכל לקרוא, למשל, בויקיפדיה על קבצי
COM
https://he.wikipedia.org/wiki/%D7%A7%D7%95%D7%91%D7%A5_COM
מנוע קודגורו אקסטרים מתשמש בקבצים הללו כי הם מכילים רק את קוד הביצוע. כל פורמט אחר יוסיף עוד חלקי כותרת מיותרים שיגרמו בדרך כלל לשורד למות. מומלץ להוריד את הסיומת כדי שהתצוגה בתחרות תהיה של השם בלבד וכדי שהמנוע יזהה את זוג השורדים כשייכים לאותה הקבוצה.
CodeGuruמנהל בפורוםבמקום לפתוח את הקובץ, שמור אותו ופתח אותו על ידי
7zCodeGuruמנהל בפורוםהתוצאות פורסמו
http://codeguru.co.il/winner.asp
תודה לכל מי שהשתתףCodeGuruמנהל בפורוםתוך כמה ימים
CodeGuruמנהל בפורוםכל הכבוד, אבי, על הפתרון. למי שלא היה היום בתחרות, פרסמנו את השאלה בזמנו בפורום החידות
http://codeguru.co.il/CS/forums/2482/ShowPost.aspxCodeGuruמנהל בפורוםתשובות לשלב א' יתקבלו בקרוב; ושלב ב' יערך ביום רביעי 9.4.2014
CodeGuruמנהל בפורוםאיזה יופי, אני שמח על כל התיקונים.
בקשר ל 5,7,8 אפשר להשאירם בנתיים.
תיקון 5 (קול) דורש ידע מוזיקלי מסוים
תיקון 7 (אנרגיה 2 במקום 4) דווקא פשוט למימוש אבל דני צריך לאשר שזה לא מעוות יותר מדי את המשחק
ותיקון 8 (החלפת פקודות) הוא ממש חדשני, אז אולי נחכה איתו קצת.CodeGuruמנהל בפורוםפתחנו טופס הרשמה באתר
http://codeguru.co.il/Xtreme/index.htmCodeGuruמנהל בפורוםCodeGuruמנהל בפורוםתודה על ההתנדבות.
הנה הסברים על
5. בכל פעם ששורד כותב על ביית בזכרון – הפיקסל נצבע. חשבנו להוסיף גם אפקט קולי כלשהו. למשל – צליל שתלוי במקום התא, בערך הנכתב, ובשורד הכותב. כך אפשר יהיה לשמוע את המשחק ולא רק לראותו.6. יש מספר שסופר עד 200,000 ואז המשחק מסתיים. קשה לקרוא את המספר הזה בצבעים הנוכחים.
8. היו כל מני רעיונות לשנות את חוקי המשחק; ראה
http://codeguru.co.il/CS/forums/2420/ShowPost.aspx
http://codeguru.co.il/CS/forums/2684/ShowPost.aspx
אבל אני מדבר על רעיון שתוכל לתכנת את הפקודה
NOP
לבצע משהו אחר (כל רצף של ארבעה בתים כרצונך). זה יכול לגרום לשורדים מעניינים.סעיפים 1 עד 6 הם שיפורים שנראה לי שכולם יסכימו להם. על סעיף 7 אפשר להווכח, וסעיף 8 צריך לבחון ברצינות לפני כל שינוי כי הוא יכול לשנות לחלוטין את פני המשחק.
-
מאתתגובות