FSM

עמוד

התגובות שלי בפורום

מוצגות 5 תגובות – 1 עד 5 (מתוך 5 סה״כ)
  • מאת
    תגובות
  • בתגובה ל: FSM – על זומבים ומפלצות ספגטי מעופפות #77991
    FSM
    משתתף

    This is the initialization part. After this part the survivor will jump to the main loop, which is pointed by sp.

    The main loop contains of 2 bytes: F3 A5
    which is:

    rep
    movsw

    At the end of this code the values of the registers are:
    sp – pointer to the loop
    di – the destination of the "movsw", which is a bit more than (sp – 400h)
    si – the source of the "movsw", which is in the beginning of the survivor's private memory
    cx – the length of the loop: 1feh iterations

    During the loop, the code from @loop…@end is copied upon the running code, and will run right when the loop ends.
    In that code, the survivor changes location, and therefore changes the registers: sp, di, si, cx. The offsets of these registers are saved in dx, bx, bp respectively.

    The last register is ax, which holds a clock. When the countdown gets to zero, the slaves are being slaughtered.

    I hope it was helpfull.

    בתגובה ל: חוקים חדשים (?) לקודגורו אקסטרים-6 #78055
    FSM
    משתתף

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

    בתגובה ל: חוקים חדשים (?) לקודגורו אקסטרים-6 #78057
    FSM
    משתתף

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

    בכל מקרה, יש להודעה הזאת כבר 27 תגובות.
    אני רוצה לשאול את המארגנים: האם היו פה הצעות שאתם שוקלים בחיוב?
    אנא הביעו את דעתכם. כולנו סקרנים.

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

    בתגובה ל: חוקים חדשים (?) לקודגורו אקסטרים-6 #78064
    FSM
    משתתף

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

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

    דרך אגב, אין פקודה כזאת:
    mov [sp], ax
    רק האוגרים האלה יכולים להצביע לזכרון:
    si,di,bx,bp

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

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

    בתגובה ל: חוקים חדשים (?) לקודגורו אקסטרים-6 #78074
    FSM
    משתתף

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

מוצגות 5 תגובות – 1 עד 5 (מתוך 5 סה״כ)