מישהו מכיר את המשחק KALAH או שמשעמם לו :P - כללי - HWzone פורומים
עבור לתוכן
  • צור חשבון

מישהו מכיר את המשחק KALAH או שמשעמם לו :P


שוקו

Recommended Posts

טוב אני צריך למצוא אלגוריתם למשחק הזה (אין צורך שהוא יהיה יעיל\חכם במיוחד)

כחלק מש"ב אני צריך לבנות את המשחק בC. עם זה אין בעיה

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

שימו לב לחוקי המשחק! (יש כמה גרסאות, אז צריך ללכת לפי החוקי הנל בלבד):

רקע.

המשחק הינו משחק לשני שחקנים. המשחק מורכב מלוח בעל שתי

שורות של 6 תאים כל אחת, תאים אלו נקראים בתים. בנוסף קיים תא

נוסף בכל אחד מצידי הלוח, שנקרא מאגר (סה"כ 14 תאים.) לכל שחקן

משוייכת שורת בתים אחת, ומאגר אחת. בתחילת המשחק המאגר הינו

.(S) ריק, ובכל אחד מהבתים יש מספר זהה של אבנים

מספר האבנים נקבע בין 3 ל6 ע"י המשתמש

מהלך המשחק

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

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

אחרי הבית שנבחר, ושמים בכל תא (כולל המאגרים, אם מגיעים אליהם) אבן

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

מיוחדים:

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

מקבל מיידית עוד תור. (אין הגבלה על מספר התורות הרצופים האפשריים)

2. אם מתקיימים כל התנאים הבאים בסוף תור:

האבן האחרונה התווספה לתא שהוא בית בשורה של השחקן .i

ששיחק עכשיו.

בית זה היה ריק לפני שהונחה בו אבן זו. .ii

בית היריב שנמצא מול הבית הזה אינו ריק בסוף המהלך. .iii

אז,אותה אבן וכל האבנים שנמצאות בסוף המהלך בבית היריב שנמצא

ממול מועברות למאגר השחקן ששיחק.

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

סיום המשחק

אם שורת הבתים של השחקן ששיחק ריקה בסוף המהלך שלו, כל האבנים

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

השחקן שלו יש את מירב האבנים במאגר בסוף המשחק הוא המנצח. אם יש

אותה כמות אבנים בשתי המאגרים, אז המשחק הסתיים בתיקו.

לויזואליזציה יש את ויקיפיה, ויש שם לינקים לגרסאות פלאש של המשחק

http://en.wikipedia.org/wiki/Kalaha

נ.ב. אני יודע שזאת די יריה באוויר, אבל אולי מישו מכיר את זה בפוקס אז זה יעזור לי מאוד

קישור לתוכן
שתף באתרים אחרים

טוב מזיכרון+חשיבה מהירה עכשיו

1.המחשב תמיד צריך לשאוף להוציא מבית שיביא לו תור נוסף

אם אין כזה הוא יחפש את התא שיתן לו להכניס את המספר הרב ביותר למאגר

אם אין אפשרות להכניס למאגר הוא יחפש בית שאחרי שהוא יוציא ממנו תהיה אפשרות לעשות תור נוסף בתור הבא

אם אין כזה הוא יבחר בית שיתן לו להכניס את המספר הרב ביותר למאגר בתור הבא

אם אין כזה הוא יעביר תא רנודמלי (העדפה לכזה שיעביר את המספר הרב ביותר לשדות של היריב)

זו דעתי לפחות

קישור לתוכן
שתף באתרים אחרים

טוב אני צריך למצוא אלגוריתם למשחק הזה (אין צורך שהוא יהיה יעיל\חכם במיוחד)

כחלק מש"ב אני צריך לבנות את המשחק בC. עם זה אין בעיה

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

סתם שאלה - למה לא בפורום תכנות? :nixweiss:

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...