Idan Dor

עמוד

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

מוצגות 15 תגובות – 46 עד 60 (מתוך 60 סה״כ)
  • מאת
    תגובות
  • בתגובה ל: פתחתי WIKI שירכז את כל החומר #77846
    Idan Dor
    משתתף

    מישהו מצא דרך להירשם?

    בתגובה ל: segment prefixes #77860
    Idan Dor
    משתתף

    I researched this, and as I understand it lets you use a differnet segment then the defualt segment in a command. For example
    mov [bx], ax ;this puts ax in ds:bx
    but say u wanted to put ax in es:bx instead you would have been able to use segment prefixes and the command would have looked something like this:
    mov es:[bx], ax

    BUT this isn't supported by the game engine so you can't use it in a survivor…

    בתגובה ל: Phobia קוד מקור #77861
    Idan Dor
    משתתף

    קודם כל הקבוצה cgx זה המנהל של התחרות ולא באמת "קבוצה"
    cgx = codeguru extreme
    הבעיות הם שמי שמתחיל ראשון בסדר האלף בית מקבל תמיד לעשות תור לפני כל האחרים בגלל שהוא תמיד יהיה ראשון.
    בעיה נוספת היא שאפשר לנחש את האזור המשותף של הזומבים כמו שקבוצת פוביה עשתה מה שנותן להשתמש בזה ולגרום לזומבים לעשות דברים מאוד מתוחכמים אם משתמשים בהם כמו שצריך (לדוגמא מה שפוביה עשו)
    בעיה נוספת היא שכאשר יש כזה 20 קבוצות ומריצים 100 סיבובים כך שכל שילוב של ארבע שורדים יהיה 100 פעמים אז התוצאות הם לפני הסוף לא מייצגים את המציאות מכיוון שאלו ששמם מתחיל בהתחלה של האלף בית מקבלים בהתחלה הרבה הרצות ומקבלים כאילו הרבה נקודות אבל אחר כך מקבלים פחות הרצות כך שזה לא משפיע אלה רק מפריע להבין את מצב הניקוד לפני סיום כל ההרצות.

    Idan Dor
    משתתף

    every zombie has two addresses for himself the first is 0xc0dd and the second one is 0xc0de I don't remeber which is the one that you write to and which is the one that you read your answer from, anyway those address change from:
    0xc0dd and 0xc0de in zombieA
    to
    0xc1dd and 0xc1de in zombieB
    ….
    to
    0xc5dd and 0xc5de in zombieF

    So that many survivors can talk to each zombie individualy and at the same time.
    And this location doesnt change it is hardcoded per zombie.

    בתגובה ל: segment prefixes #77868
    Idan Dor
    משתתף

    אני לא לגמרי בטוח למה את מתכוון, אתה יכול לומר באיזה הקשר השאלה או להסביר איפה ראית את זה?
    אם אתה מתכוון לקידוד הבינארי של הסגמנטים אז זה:
    000 : ES
    001 : CS
    010 : SS
    011 : DS

    חישפתי בגוגל את השאלה שלך והגעתי לדבר הבא:
    "Segment override prefix causes memory access to use specified segment instead of default segment designated for instruction operand.

    2Eh = CS
    36h = SS
    3Eh = DS
    26h = ES
    64h = FS
    65h = GS"
    עכשיו אני לא בטוח אם זה עונה לך על השאלה או האם זה אפילו קשור אז אשמח אם תוכל להסביר באיזה הקשר ראית את המושג.

    בתגובה ל: On kengerus and moving with call far – KenGeruX Code #77869
    Idan Dor
    משתתף

    הזומבי מבזבז את ה 87 שלו יותר מהר מאשר שאפשר להשתלט עליו ולכל שורד 87 בודד אז הזומבי שאתה משתלט עליהם הם בלי 87.
    אפשר בערך תוך כזה 15-30 אופקודים להשתלט עליהם בערך לא באמת ספרתי.
    במקרה שלי זה כן משנה על איזה מהם אני משתלט כי אני רוצה שהם יהיו מיד לפני הזומבים הבאים שהם משתלטים עליהם כדי שיהיה יותר סיכוי שאני יקבל את הזומבים ולא מישהו אחר.
    כולם יכולים לנסות להשתלט על איזה זומבים שהם רוצים ואם כולם מנסים בבת אחת אז או שאחד מהם מקבל אותו או שאף אחד מהם מקבל את הזומבים בגלל שהם עלולים להפריע אחד לשני.
    אם אתה רוצה קוד שמשתלט עליהם פשוט תריץ את הקוד של פוביה ההתחלה שלו עושה בדיוק את מה שאתה מבקש והוא עושה אותה שש פעמים פעם לכל זומבי.

    בתגובה ל: Phobia קוד מקור #77870
    Idan Dor
    משתתף

    האם סדר ההרצה המקרי יהיה מקרי לחלוטין או שבאותה קבוצה תמיד שורד מספר 1 יהיה לפני 2 כי אם זה לא ישמר המון שורדים מהעבר ישברו ויהיה יותר מסובך לתקשר בין השורדים באותה קבוצה…
    בכל מקרה צריך להחליט תושבה לשאלה זו

    בתגובה ל: On kengerus and moving with call far – KenGeruX Code #77894
    Idan Dor
    משתתף

    הסיבה היחידה שלא השתלטתי על כולם באותו הזמן זה כי יותר קל ופשוט להשתלט על אחד כל פעם (עם שתי שורדים – שתי כל פעם) אפשר להשתלט על כולם ביחד אבל זה קצת יותר מסובך ויש סיכון שמישהו יפריע להשתלטות (תלוי במה הזומבי עושה)
    לגבי קוד זומבי לדוגמא, הנה הקוד של הזומבים של השנה
    push cs
    pop es
    int 0x87
    and ax,0x7fff @LoopStart:
    push ax
    mov bl,[0xc0de]
    test bl,bl
    jns @AlmostEndLoop
    div bl
    mov [0xc0dd],ah @AlmostEndLoop:
    pop ax
    jmp @LoopStart

    ההבדל היחדי בין ששת הזומבים הוא ש
    0xc0dd and 0xc0de
    changed to
    0xc1dd and 0xc1de
    and to 0xc2dd and 0xc2de

    and to 0xc5dd and 0xc5de

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

    בתגובה ל: שאלה על הדוגמה של החיוך מהמדריך #77900
    Idan Dor
    משתתף

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

    בתגובה ל: הסוגים של השורדים בתחרות #77901
    Idan Dor
    משתתף

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

    בתגובה ל: הסוגים של השורדים בתחרות #77903
    Idan Dor
    משתתף
    Quote:
    אילו סוגי שורדים יש בתחרות?

    ראיתי שהזכירו שיש שורד שמתאבד, שורד שעתיקים את הקוד של הזומבי אליו, שורד עם הפצצה רנדומלית, שורד עם call far, שורד ששני החלקים שלו רצים מאותה הכתובת

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

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

    בתגובה ל: On kengerus and moving with call far – KenGeruX Code #77904
    Idan Dor
    משתתף

    אוקיי זה הרבה שאלות אני מקווה שאני יפספס כלום.
    הגנה הכי יעילה מ 87 זה להעתיק את הקוד שלך שלוש פעמים ולקפוץ בתחילת הקוד לתוך הקוד האמצעי ככה ה 87 יפגע בחיקויי קוד שלך.
    לגבי תקיפה בעזרת 87 יש לי בקוד תקיפה משוג זה כך שאני תוקף שתי זומבים ואומר להם לקפוץ אל הקוד שלי.
    אני לא יודע איפה בקוד של המנוע זה רשום אבל ככה זה עובד במעבד האמיתי וזה גם נכון במנוע.
    מספר ה
    movsw
    שיש ברצף מתאים לאורך הפקודה/פקודות שאני מריץ אני ממליץ לך לקרוא על מה הפקודה movsw עושה.
    נכון שזה שהם רצים מאותו מקום מהזירה אומר שאם הם מתים הם מתים ביחד אבל בגלל שהם רצים מאותו מקום אז יש להם רק 50% סיכוי להיפגע מהפצצה ולכן בסופו של דבר זה לא משנה.
    כשרשמתי "מתפורר" התכוונתי שהקוד התחיל למות באופן באופן עיקבי כשיניתי קבועים נגד כלום, זה בגלל המשחק הכל כך גדול שיש בו עם סגמנטים, יותר מדי קל לנסות לגשת למקום בזיכרון שאין לי גישה אליו ולמות.
    אתה אף פעם לא רוצה מפציץ שמתאבד זה לא תכונה זה בעיות בקוד ובקונכפס של השורד הזה, כנראה אפשר לכתוב גרסא יותר יציבה של השורד הזה אבל אני לא בטוח.
    הזומבים הם תמיד חידה מתמטית או במדעי המחשב במקרה הזה החידה הייתה קשורה בשאריות אז אני ממליץ לך לקרוא את הקוד של הזומבים של השנה ולהבין את האלגוריתם שלי או של פוביה לפתור את חידתם.
    מפציץ רנדומלי הוא מפציץ שבמקום להפציץ שורות שורות הוא מפציץ יותר לאט אבל במקומות "רנדומלי" שהם לא באמת רנדומלים, דוגמא הכי טובה לזה היא השורד שניצח את התחרות השנה תריץ את השורד שלו ותסתכל על מה הוא עושה.
    לקוד יש גודל ממוצע- זה הגודל שאם יפגיעו בו אתה תמות, עכשיו בגלל איך שהשורד פוביה בנוי הוא מרבית הזמן עושה המון בדיקות שהם מאוד גדולות בזיכרון והוא לא כותב את עצמו מחדש יותר מידי, ולכן פגיעה רנדומלית בקוד הארוך והפגיעה שלו תהרוג אותו. לגבי איץ מזהים את זה או הבנת הקוד שלו או הרצה והתבוננות בעזרת דיבאגר.
    דוגמא פשוטה אני די בטוח שיש אחד כזה איפשהו אבל אני לא לגמרי בטוח.
    שנינו השתמשנו בשיטה זהה אני פשוט בחרתי מספרים לשארית שהם קצת מעפנים ולא הבנתי בדיוק את הבעיה בהם אז להם זה עובד ב 500/501 פעמים כזה, אני ממליץ לך לקרוא את הקוד שלהם.
    לגבי שאלה זה אני ממליץ לך לקרוא את הקוד של הזומבים.
    את צריך לשתמש במשפט זה רק במקרים של שאריות מה שאומר שכנראה לא בזמן הקרוב כי הזומבים משתנים.
    זה קצת מסובך לגבי מתי זה עובד ומתי לא אבל זה עובד כאשר
    ax = address
    al + ah < 0xff
    זה קשור במספרים שאני משתמש בהם במשפט השאריות הסיני לפוביה גם יש את הבעיה הזאת אבל אצלם היא הרבה פחות רצינית.
    את הקוד של הזומבי יש לכולם והוא משתנה כל שנה.
    החלק של הקוד שלי שרשום עליו the zombie code
    זה לא באמת הקוד שהזומבי אלה זה הקוד שאני גורם לזומבי שהשתלטתי עליו בעזרת 87 להריץ, בקוד הזה אני גורם לזומבים שלי להפציץ את המפה למות אחרי קצת זמן.
    זה רווחי לשים את הקוד האמיתי של הזומבי בתוך הקוד שלך כדי לחסום לפעמים 87 על הזומבי שאנשים אחרים (לדוגמא אני) עושים כדי להשתלט.
    הקוד הזה כרגע עובד הוא פשוט ימות קצת אם אשחק עם המשתנים.
    extra segment
    זה המקום בזיכרון שהוא פרטי לשתי השורדים שלך נהוג לשמור בו קוד ואז להעתיק אותו לזירה.
    אני חושב שלא פיספסתי משהו.

    בתגובה ל: Phobia קוד מקור #77910
    Idan Dor
    משתתף
    Quote:
    שים לב שבמידה ואתה רוצה להריץ את הקוד חיבים להריץ עם עוד 3 קבוצות של שורדים, כך שהסגמנט שהמשותף של הזומבים יהיה 2500

    אוקיי זה מסביר למה זה היה נראה לי שאתם סתם הורגים אותם.
    תודה רבה

    בתגובה ל: On kengerus and moving with call far – KenGeruX Code #77912
    Idan Dor
    משתתף

    אשמח לענות על כל שאלות שיש לכם

    בתגובה ל: Phobia קוד מקור #77913
    Idan Dor
    משתתף

    שלום קיריל, רציתי לשאול מה אתם עושים עם הזומבים לאחר
    שהישתלטם עליהם.

    בנסוף לגבי ה "~" שיש לכם בתחילת השם, הבנתי שהוא נותן
    לכם להיות מיד אחרי הזומבים אבל לא יותר יעיל להיות

    0000phobia

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

    עידן דור

    קבוצת קנגורו

מוצגות 15 תגובות – 46 עד 60 (מתוך 60 סה״כ)