ברוכים הבאים לאתר תחרויות קודגורו! › פורומים › אקסטרים › איך תנצחו בקודגורו אקסטרים
- This topic has 9 תגובות, 4 משתתפים, and was last updated לפני 11 שנים, חודש 1 by
noyalo.
-
מאתתגובות
-
9 במרץ 2014 בשעה 22:50 #77836
noyalo
משתתףתודה רבה!
אקח הרבה ממה שאמרת עכשיו, תודה!רק שאלה:
אתה יכול להסביר קצת לגבי איך באמת סקריפטים יכולים לעזור?
אני לא כל כך מבין איך ואיפה ולמה זה יכול לעזור על כך….
אשמח אם תוכל להסביר קצת יותר..תודה
10 במרץ 2014 בשעה 15:57 #77834Son
משתתףסקריפט זה להחליף עבודה ידנית בעבודה של מחשב.
בהרבה מקרים זה עושה אותך שמח יותר כי אתה לא צריך לעשות דברים משעממים.
בגלל שמחשב עובד הרבה יותר מהר מבן אדם, ובגלל שמחשב לא אוכל וישן ומשתעמם, לפעמים זה מאפשר לך לעשות דברים שאחרת פשוט לא היית עושה. או כי לא היה לך זמן עד התחרות, או כי לא היית עומד בללחוץ על אותם שלושה כפתורים במשך 80 שעות.
דוגמה ממש פשוטה:
יש לך שורד, והרגע שיפרת אותו. זאת אומרת, שינית אותו, צריך לבדוק כדי לראות אם זה שיפור.
לבדוק זה אומר לקמפל, להעתיק לתיקייה של המשחק, לפתוח את המשחק, לכתוב "10" בשדה של "כמה משחקים", ללחוץ על הכפתור, לחכות קצת, ולהסתכל בגרף, ואז להזכר איך היה נראה הגרף קודם ולהחליט אם הגרף הפעם יותר טוב.
כמה זמן זה היה חוסך אם היית יכול ללחוץ על קיצור מקשים שהיה עושה את כל זה, נכון? בינתיים במקום להתעסק בזה היית יכול להמשיך לחשוב על רעיונות לשורדים.
ורגע… בעצם, אתה יכול אפילו שזה לא ידרוש קיצור מקשים! מתכנתים היום עובדים עם "רמזור" כזה שמריץ ברקע כל פעם שהם שומרים את הקובץ את כל התהליך הזה, ובסוף מצייר אדום אם יש שגיאת קמפול, צהוב אם זה פחות טוב מאשר לפני ה"שיפור" כביכול וירוק אם זה באמת היה שיפור. זה פשוט נמצא שם בתחתית המסך ואתה יכול להעיף מבט ולוודא שאתה עדיין מתקדם בכיוון הנכון. כמה זמן זה חוסך, וכמה מאמץ…
ואפשר אפילו יותר טוב! אם כבר מי שעושה את הבדיקה זה מחשב ולא אתה, וזה לא מציק לך, אז למה להסתפק בבדיקה אחת? תריץ את זה בלחיצת כפתו נגד *השורדים של כל תחרות קודגורו*! ככה תוכל לראות אם אתה מקבל ציון טוב כי אתה טוב, או אם אתה מקבל ציון טוב פשוט כי בין השורדים שבחרת לבדוק את עצמך נגדם יש כמה שחלשים נגדך, ואתה יכול לראות מהר תכונות של השורד שלך – מה החוזקות שלו, מה החולשות שלו, ועוד.
זה נותן לך המון מידע שעוזר לך לבנות שורדים טובים יותר, בלי לעלות לך זמן! אולי צריך לחכות קצת, אבל לא נורא – תריץ את זה ברקע בזמן שאתה עובד על שורד אחר, ואחרי רבע שעה תחזור לחלון של זה ותראה מה הייתה התוצאה.
ואפשר להמשיך ולהמשיך. הרעיון הוא כל הזמן לעבוד, וכל פעם שאתה שם לב שאתה עושה משהו משעמם, או נמנע מלעשות משהו רק כי הוא משעמם, להוסיף לסקריפטים שלך פיצ'ר שעושה אותו, ואחרי שאתה עושה את זה במשך זמן מה יש לך סקריפטים שעושים אותך מכונת עבודה משוגעת.
היה מובן?
10 במרץ 2014 בשעה 16:06 #77833noyalo
משתתףכן… עכשיו השאלה היא, *איך* בדיוק עושים את מה שאנחנו רוצים בכדי שיהיה יותר מהר ויעיל ויתר…
למרות שדי התרגלתי לעניין שעבודה שחורה נטו, היא פרמטר חשוב בתחרות….
10 במרץ 2014 בשעה 16:22 #77832Son
משתתףאתה מתכנת. עבודה שחורה נטו זה דבר שאתה צריך לא לעשות. תתרגל מחדש
התשובה לשאלה עצמה מאד מגוונת. כמו שכבר אמרתי בכמה פתילים אחרים לאחרונה, רוב התשובה הוא "מפשילים את השרוולים, נכנסים לזה, ולא יוצאים עד שמנצחים איכשהו".
בפרט במקרה הזה זה כנראה יכלול קצת תכנות בג'אווה (לא באמת צריך לדעת איך, פשוט עושים ניסוי וטעייה) וכמות בינונית של תכנות ברובי או פייתון או משהו בסגנון.
קשה לי להסביר איך עושים אוטומציה בפוסט אחד. אני מעביר על זה קורסים של שבועיים. עודד הציע לתת קורס כזה בתור פרס בתחרות הקרובה, אני לא יודע אם זה רעיון טוב כי אני כבר לא נער ולא יודע מה נערים רוצים היום (אני רציתי עבודה) ואף אחד לא עונה לפתיל שבו שאלתי (רמז רמז
).
10 במרץ 2014 בשעה 16:24 #77831Son
משתתףהאמת שזו שאלה שכדאי לשאול את צוות ריידן לו ריד.
תגידו, לפני שהתחלתם לכתוב סקריפטים עבור התחרות של השנה, מה ידעתם על ג'אווה? פייתון?
כמה הייתם צריכים כל אחד מהם?
איך התמודדתם עם דברים שלא ידעתם?
ובכלל, אם אתם כבר כאן, מה דעתכם על הטיפים שלי? השתתפתם יותר פעמים ממני
12 במרץ 2014 בשעה 08:27 #77824Dave
משתתףהאמת היא שעל ג'אווה לא ידענו כלום. אבל יש לנו רקע של סי שארפ אז מנוע המשחק היה קריא לגמרי. אנחנו פשוט שיחקנו עם כל מיני משתנים בשביל שזה יתחיל אוטומטית וממספר הסיבובים שאנחנו רוצים.
בנוגע לפייתון, יש לנו ידע די בסיסי או בינוני. בגדול הסקריפט שכתבנו לא מסובך מדי. הסקריפט נועד לעזור לנו לבחור את רווח הקפיצה האופטימלי. שמנו לב שאם אנחנו משנים את רווח הקפיצה שלנו אז אנחנו מקבלים תוצאות בטווחים שונים לגמרי. לדוגמה עם רווח מסוים ניצחנו 20 פעמים ועם רווח אחר ניצחנו 60 פעמים. זה הבדל לא קטן אז כתבנו סקריפט שישנה את הרווח ויבחר לנו את הרווח האופטימלי.מה שזה דורש מבחינת ידע תכנותי זה איך לפתוח קובץ טקסט, או אסמבלי במקרה הזה, לערוך אותו, ואז להריץ תוכנה שתקמפל אותו ותריץ אותו במנוע המשחק , תשמור את התוצאות ותדווח לנו על התוצאות הטובות ביותר ומה השינוי שגרם אותן.
בימים אלו ממש אנחנו מנסים לשכתב אותו כך שיתאים לכולם ושיהיה ניתן להוריד אותו
לגבי דברים שלא ידענו, כמו שאאור לימד אותנו
גוגל הוא חברו הטוב ביותר של האדם12 במרץ 2014 בשעה 09:02 #77823Matan
משתתףאני מסכים עם דביר, הפער בין הידע שמתחילים איתו לפני התחרות לעומת הידע שמסיימים איתו את התחרות הוא עצום. פשוט צריך להתחיל ולחקור, והאינטרנט יעזור לך בדרך.
לגבי סקריפטים ואוטומציה – יש כל כך הרבה רעיונות לסקריפטים שיכולים לשפר את חווית הכתיבה בקודגורו אקסטרים, ואאור באמת העלה רעיונות מעולים.
לגבי מה שאנחנו עשינו, כמו שדביר אמר – הרעיון הוא תוכנה שמחליפה את המרווחים ושומרת את התוצאה הטובה ביותר. מה שכתבנו הוא מאוד ראשוני ויש לו עוד הרבה לאן להתפתח, ואנחנו עובדים בימים אלה על שיפור הקוד ובקרוב תוכל לראות אותו כפרויקט בגיטהאב
עוד טיפ כללי לגבי התחרות: עבודה מסודרת.
כשניגשנו לתחרות בפעם הראשונה עבדנו בצורה מבולגנת מאוד, ובגלל שהיינו שלושה בצוות קרו לנו הרבה מקרים של חוסר סנכרון בין גרסאות ובעיות בניהול גרסאות.לכן, אחד הטיפים שיישמנו השנה הוא עבודה מסודרת: כל שורד שכתבנו, הוא עובד והוא תחרותי במשחק (כלומר, לא גרוע) – תיעדנו בתיקייה משלו, עם קובץ טקסט שמסביר בדיוק מה הרציונל שלו ובמה הוא שונה מהשורדים האחרים שכתבנו. אין לך מושג כמה זה עוזר בעבודה השוטפת, במיוחד כשיש לך כמה רעיונות לשורדים ואתה מפתח כמה במקביל.
12 במרץ 2014 בשעה 14:33 #77822Son
משתתףקשה לי לשמוע את המילים "עבודה מסודרת" במשפט שלא מכיל את המילים "source control".
אז הנה.
בפרט, הפתרון הנכון הוא שכל שורד יהיה בתיקייה בgit עם הערה בהתחלה שמסבירה את הרציונל וכו'.
13 במרץ 2014 בשעה 07:27 #77821Matan
משתתףsource control זה בלי ספק מילות המפתח כאן, לא יכולתי להסכים יותר
-
מאתתגובות
- יש להתחבר למערכת על מנת להגיב.