PDA

View Full Version : خبر: شطرنج با #C



wowrainyman
پنج شنبه 17 مرداد 1387, 22:47 عصر
به نظر شما سرعت و دقتش چه جوره؟
دوست داشتم نظرتونو بدونم.
هنوز خیلی کار داره ...:متفکر:
برای دانلود برنامه با آخرین به روز رسانی می توانید به صفحه مورد نظر مراجعه کنید.
آخرین بروز رسانی ها:
1-تصحیح حرکت سرباز در صفحه1
2-رفع خطای پیدا نکردن فایل C:\Chess\BeforeChange.txt در صفحه2
3-تعویض سرباز زمان رسیدن به آخر در صفحه3.
4-بر طرف شدن مشکل عوض کردن شاه و قلعه!!!!دیگه برنامه تبدیل شده به یک شطرنج کامل در صفحه 4
دوستان می توانند برای دانلود جدید ترین ورژن برنامه به صفحات نوشته شده در بالا مراجعه کنند!!!!!

mehrzad007
پنج شنبه 17 مرداد 1387, 23:10 عصر
حجم فايلي كه داره از اينترنت دانلود مي كنه چقده ؟ و چرا لينك مستقيمو اونو نذاشتين ؟

NotAtMyDesk
پنج شنبه 17 مرداد 1387, 23:23 عصر
این نصب می شه ولی کار نمی کنه! می گه که C:\Chess\BeforeChange.txt رو نمی تونه پیدا کنه!

Access
جمعه 18 مرداد 1387, 00:25 صبح
باید بگم که کارم میکنه کارش هم درسته فقط کافیه در درایو c یک پوشه بازی کنی با اسم Chess و داخل اون یک فیل BeforeChange.txt ایجاد کنی بعد باهاش بازی کنی و تشکر یادت بره

Amir Oveisi
جمعه 18 مرداد 1387, 01:37 صبح
برنامه هوش مصنوعی نداره؟ فقط دو نفری داره یا من نتونستم پیدا کنم یه نفریشو؟

h.jaza
جمعه 18 مرداد 1387, 01:59 صبح
اولا همون نکته ای که Access (http://barnamenevis.org/forum/member.php?u=67581) به اون اشاره کرده، کاملا درست هست و باید که در هنگام لود برنامت اونم قرار بدی نه زمانی که شروع به بازی کرد.
ثانیا چرا مهره های سرباز سیاه تا وسط (2 خونه) بیشتر جلو نمی یان؟:متفکر:
فکر می کنم این یه مشکلیش باشه.
ثالثا تا اونجایی که من چک کردم، مهره های سربازه سیاهت نمی تونن به سمت چپ خودشون حرکت کنن و مثلا یکی رو که تو اونخونه هست بزنن.
رابعا اگر به MessageBox از StutusBar برای نشان دادن پیغام هات به کاربر اسفتاده کنی البته به طوری که کاملا توجه رو به خودش جلب کنه، فکر می کنم برنامت User Friendly تر می شه.
ولی از این نکات بگذریم، در کل خوبه:تشویق:

Access
جمعه 18 مرداد 1387, 02:25 صبح
یه ایراد دیگه این که وقتی یک سرباز تا آخر میره همون جا میمونه و عوض نمیشه!

wowrainyman
شنبه 19 مرداد 1387, 14:34 عصر
برنامه فقط یک نفرست!!!!!!
در ضمن گفتم که هنوز ناقصه گذاشتم تا از نظرای شما بهره ببرم که همینطورم شد.
ممنون.

wowrainyman
شنبه 19 مرداد 1387, 14:37 عصر
اولا همون نکته ای که Access (http://barnamenevis.org/forum/member.php?u=67581) به اون اشاره کرده، کاملا درست هست و باید که در هنگام لود برنامت اونم قرار بدی نه زمانی که شروع به بازی کرد.
ثانیا چرا مهره های سرباز سیاه تا وسط (2 خونه) بیشتر جلو نمی یان؟:متفکر:
فکر می کنم این یه مشکلیش باشه.
ثالثا تا اونجایی که من چک کردم، مهره های سربازه سیاهت نمی تونن به سمت چپ خودشون حرکت کنن و مثلا یکی رو که تو اونخونه هست بزنن.
رابعا اگر به MessageBox از StutusBar برای نشان دادن پیغام هات به کاربر اسفتاده کنی البته به طوری که کاملا توجه رو به خودش جلب کنه، فکر می کنم برنامت User Friendly تر می شه.
ولی از این نکات بگذریم، در کل خوبه:تشویق:
مرسی که روش وقت گذاشتید.

wowrainyman
شنبه 19 مرداد 1387, 14:57 عصر
اولا همون نکته ای که Access (http://barnamenevis.org/forum/member.php?u=67581) به اون اشاره کرده، کاملا درست هست و باید که در هنگام لود برنامت اونم قرار بدی نه زمانی که شروع به بازی کرد.
ثانیا چرا مهره های سرباز سیاه تا وسط (2 خونه) بیشتر جلو نمی یان؟:متفکر:
فکر می کنم این یه مشکلیش باشه.
ثالثا تا اونجایی که من چک کردم، مهره های سربازه سیاهت نمی تونن به سمت چپ خودشون حرکت کنن و مثلا یکی رو که تو اونخونه هست بزنن.
رابعا اگر به MessageBox از StutusBar برای نشان دادن پیغام هات به کاربر اسفتاده کنی البته به طوری که کاملا توجه رو به خودش جلب کنه، فکر می کنم برنامت User Friendly تر می شه.
ولی از این نکات بگذریم، در کل خوبه:تشویق:
مشکل سرباز حل شد.

wowrainyman
شنبه 19 مرداد 1387, 14:59 عصر
یه ایراد دیگه این که وقتی یک سرباز تا آخر میره همون جا میمونه و عوض نمیشه!
به نظر شما وقتی سرباز به آخر رسید بشه وزیر یا اینکه انتخاب به عهده کاربر باشه؟

اَرژنگ
شنبه 19 مرداد 1387, 15:16 عصر
به نظر شما وقتی سرباز به آخر رسید بشه وزیر یا اینکه انتخاب به عهده کاربر باشه؟
البته که به عهده کاربره، مگر قوانین شطرنج قرار نیست رعایت بشند؟

wowrainyman
شنبه 19 مرداد 1387, 15:17 عصر
این نصب می شه ولی کار نمی کنه! می گه که C:\Chess\BeforeChange.txt رو نمی تونه پیدا کنه!
دوست عزیز مشکل شما هم با این آپدیت جدید حل شد.:متفکر:
رفع خطای پیدا کردن فایل C:\Chess\BeforeChange.txt

wowrainyman
شنبه 19 مرداد 1387, 15:20 عصر
البته که به عهده کاربره، مگر قوانین شطرنج قرار نیست رعایت بشند؟
چرا دوست عزیز رعایت میشن.
در حال آماده سازیش هستم امروز یا فردا درستش میکنم ممنون.

اَرژنگ
شنبه 19 مرداد 1387, 15:29 عصر
چرا دوست عزیز رعایت میشن.
در حال آماده سازیش هستم امروز یا فردا درستش میکنم ممنون.
نه، مثل اینکه من دوباره منظورم را اشتباه رساندم، منظورم این بود که بر طبق قوانین شطرنج به هر چی که کاربر بخواد تبدیل میشه (از همان رنگی که کاربر بازی میکند، به جز شاه یا پیاده).
من یادم نمیاد، جایی در قوانین شطرنج میگفت که رنگ چیزی که پیاده بهش تبدیل میشه باید همان رنگ پیاده باشد یا نه؟ چونکه یک زمانی فقط‌ میگفت که باید به یک مهره دیگر تبدیل بشه ولی نمیگفت که باید از همان رنگ پیاده باشد.

Amir Oveisi
شنبه 19 مرداد 1387, 15:34 عصر
برنامه فقط یک نفرست!!!!!!
اگه یک نفره باشه باید حریفت کامپیوتر باشه،‌ ولی اینجا حریفتم خودت بازی میکنی، پس بازیش دو نفره ست.
کار خوبیه امیدوارم کامل ترش بکنید
موفق باشید
jooje

wowrainyman
شنبه 19 مرداد 1387, 16:07 عصر
اگه یک نفره باشه باید حریفت کامپیوتر باشه،‌ ولی اینجا حریفتم خودت بازی میکنی، پس بازیش دو نفره ست.
کار خوبیه امیدوارم کامل ترش بکنید
موفق باشید
joojeببخشید اشتباه لپی بود:خجالت:

wowrainyman
شنبه 19 مرداد 1387, 16:31 عصر
نه، مثل اینکه من دوباره منظورم را اشتباه رساندم، منظورم این بود که بر طبق قوانین شطرنج به هر چی که کاربر بخواد تبدیل میشه (از همان رنگی که کاربر بازی میکند، به جز شاه یا پیاده).
من یادم نمیاد، جایی در قوانین شطرنج میگفت که رنگ چیزی که پیاده بهش تبدیل میشه باید همان رنگ پیاده باشد یا نه؟ چونکه یک زمانی فقط‌ میگفت که باید به یک مهره دیگر تبدیل بشه ولی نمیگفت که باید از همان رنگ پیاده باشد.
دوست عزیز می خواستم بپرسم وقتی سرباز به آخر رسید همون وقت عوض میشه یا بعد از یک حرکت حریف؟
مثلا اگه سرباز رسید به آخر همون وقت میشه وزیر بشه و آیا همون موقع می تونه شاه رو کیش کنه یا نه؟

Access
شنبه 19 مرداد 1387, 17:12 عصر
هر وقت رسید به آخر سوال می کنه که کدوم مهره رو می خواهید جایگزین کنید و کاربر می تونه :
فیل ،اسب ،وزیر و رخ را بیاره تو فقط یه نکته مهم که به ازای هر سربازی که به آخر میرسه میتونه که وزیر یا رخ و ... بیاره تو
مثلا اگه 3 سرباز به اخر رسید کاربر می تونه 3 وزیر بیاره داخل.
موفق باشید

Access
شنبه 19 مرداد 1387, 17:21 عصر
من می خوام برای بهتر شدن بازی یه ایراد دیگه بگیرم اونم اینکه ما نمی تونم جای شاه ورخ را باهم عوض کنیم

اَرژنگ
شنبه 19 مرداد 1387, 17:29 عصر
دوست عزیز می خواستم بپرسم وقتی سرباز به آخر رسید همون وقت عوض میشه یا بعد از یک حرکت حریف؟
مثلا اگه سرباز رسید به آخر همون وقت میشه وزیر بشه و آیا همون موقع می تونه شاه رو کیش کنه یا نه؟
همون موقع باید عوض بشه.

wowrainyman
شنبه 19 مرداد 1387, 21:32 عصر
من می خوام برای بهتر شدن بازی یه ایراد دیگه بگیرم اونم اینکه ما نمی تونم جای شاه ورخ را باهم عوض کنیم
آره اونم باید درست بشه.
بازم ممنون.:قلب:

wowrainyman
شنبه 19 مرداد 1387, 23:14 عصر
البته که به عهده کاربره، مگر قوانین شطرنج قرار نیست رعایت بشند؟


نه، مثل اینکه من دوباره منظورم را اشتباه رساندم، منظورم این بود که بر طبق قوانین شطرنج به هر چی که کاربر بخواد تبدیل میشه (از همان رنگی که کاربر بازی میکند، به جز شاه یا پیاده).
من یادم نمیاد، جایی در قوانین شطرنج میگفت که رنگ چیزی که پیاده بهش تبدیل میشه باید همان رنگ پیاده باشد یا نه؟ چونکه یک زمانی فقط‌ میگفت که باید به یک مهره دیگر تبدیل بشه ولی نمیگفت که باید از همان رنگ پیاده باشد.


هر وقت رسید به آخر سوال می کنه که کدوم مهره رو می خواهید جایگزین کنید و کاربر می تونه :
فیل ،اسب ،وزیر و رخ را بیاره تو فقط یه نکته مهم که به ازای هر سربازی که به آخر میرسه میتونه که وزیر یا رخ و ... بیاره تو
مثلا اگه 3 سرباز به اخر رسید کاربر می تونه 3 وزیر بیاره داخل.
موفق باشید


یه ایراد دیگه این که وقتی یک سرباز تا آخر میره همون جا میمونه و عوض نمیشه!


همون موقع باید عوض بشه.
مشکل عوض کردن سرباز نیز رفع شد.
تعویض سرباز زمان رسیدن به آخر.

h.jaza
شنبه 19 مرداد 1387, 23:47 عصر
راستی هر چی که از زمان بازی می گذره، سرعتش کندتر می شه، فکر می کنم که به خاطر نهوه ی ذخیره سازیت باشه.

البته همون طوری هم که bermooda (http://barnamenevis.org/forum/member.php?u=17736) گفت برنامت هوشه مصنوعی نداره و این هم جزء یکی از

ضعفاش هست. یه چیز دیگه هم اینکه زمانی که شما بازی ذخیره می کنی، می بندی و دوباره باز می کنی و لود می کنی، اشتباه لود می کنه و حالت قبلی تو رو نشون نمی ده.

فعلا همین

در کل :تشویق:

wowrainyman
شنبه 19 مرداد 1387, 23:52 عصر
راستی اون مشکلی که Access گفته بود راجع به تغییر نکردن یه سرباز زمانی که به آخر می رسه

همچنان باقی مونده. بغیر از این، هر چی که از زمان بازی می گذره، سرعتش کندتر می شه و این

رو فکر می کنم که به خاطر نهوه ی ذخیره سازیت باشه. اینم یه نکته ی دیگشه.

البته همون طوری هم که bermooda (http://barnamenevis.org/forum/member.php?u=17736) گفت برنامت هوشه مصنوعی نداره و این هم جزء یکی از

ضعفاش هست. فعلا همین

در کل :تشویق:
اگه شما آخرین بروز رسانی را دانلود کنید مشکل سرباز حل شده!!!!!!!!!!!!!

Amir Oveisi
یک شنبه 20 مرداد 1387, 00:53 صبح
من پیشنهاد می کنم شروع کنیم یه کار سخت رو!!!
کی پایه ی با هوش کردن این شطرنجه؟

wowrainyman
یک شنبه 20 مرداد 1387, 00:59 صبح
من پیشنهاد می کنم شروع کنیم یه کار سخت رو!!!
کی پایه ی با هوش کردن این شطرنجه؟
من تا حالا کاری که از هوش مصنوعی استفاده کنه نکردم!!!!!!!!!!!
ولی اگه بخوای کد این برنامرو بهت می دم:قلب:
اگر هم دوست داشتی و تا حالا هوش مصنوعی کار کردی می تونی راهنماییم کنی منم راه میفتم تو این کارا عقلم بدک نیستش:خجالت:

Amir Oveisi
یک شنبه 20 مرداد 1387, 01:23 صبح
خوب من تا حالا کار کردم و میتونم کمک کنم
ولی شطرنج قضیه اش پیچیده تر از ایناس
پیشنهاد میکنم دوستانی که مایل به کار هستند اعلام آمادگی بکنند تا ببینیمم چیکار میشه کرد (لطفا بگین که چقدر در این زمینه یا زمینه های مشابه کار کردین یا میتونین کار کنین)
به نظر من اگر بتونیم یه چیزی بسازیم که قوانین رو بلد باشه در حدی که بشه گفت شطرنج بلده کار بزرگی کردیم.

Amir Oveisi
یک شنبه 20 مرداد 1387, 01:44 صبح
امیدوارم کسی با انگلیسی مشکل نداشته باشه!

لینک های زیر مفید هستند:

http://www.aihorizon.com/essays/chessai/intro.htm
http://www.aihorizon.com/essays/basiccs/trees/minimax.htm
http://www.aihorizon.com/essays/chessai/boardrep.htm

wowrainyman
یک شنبه 20 مرداد 1387, 01:56 صبح
امیدوارم کسی با انگلیسی مشکل نداشته باشه!

لینک های زیر مفید هستند:

http://www.aihorizon.com/essays/chessai/intro.htm
http://www.aihorizon.com/essays/basiccs/trees/minimax.htm
http://www.aihorizon.com/essays/chessai/boardrep.htm
خوب اینا یه سری مسائل کلی هستش که یه ایده کلی میده و باقیش با خودمونه:متفکر:
من کسیو می شناسم که این کارو کرده باید برم پیداش کنم ببینم چه کمکی می تونه بهمون بکنه البته خوبیش به اینه که با C نوشته اگه بتونم کداشو بگیرم کارمون راحت تر میشه.
شما که اینقدر تو سایت فعالی میتونی از اعضا دعوت کنی بیان نظرشونو بگن :تشویق:

wowrainyman
یک شنبه 20 مرداد 1387, 01:59 صبح
خوب من تا حالا کار کردم و میتونم کمک کنم
ولی شطرنج قضیه اش پیچیده تر از ایناس
پیشنهاد میکنم دوستانی که مایل به کار هستند اعلام آمادگی بکنند تا ببینیمم چیکار میشه کرد (لطفا بگین که چقدر در این زمینه یا زمینه های مشابه کار کردین یا میتونین کار کنین)
به نظر من اگر بتونیم یه چیزی بسازیم که قوانین رو بلد باشه در حدی که بشه گفت شطرنج بلده کار بزرگی کردیم.
می تونی یکی از کارات که با هوش مصنوعی هستش بزاری ببینم:متفکر:؟
اگه با SOURCE باشه که دیگه بهتر:لبخندساده:

Amir Oveisi
یک شنبه 20 مرداد 1387, 02:05 صبح
خوب اینا یه سری مسائل کلی هستش که یه ایده کلی میده و باقیش با خودمونه

خوب یه سری مسایل کلی رو باید بلد بود تا به جزئیات رسید...!

در ضمن ما میخوایم خودمون پیاده سازی بکنیم نه از اینور اونور کد گیر بیاریم وگرنه کد پیدا کردن تو اینترنت بی در و پیکر کار 2 سوته ولی فایده نداره!

امیدوارم تونسته باشم منظورمو بیان کنم
موفق باشید
jooje

wowrainyman
یک شنبه 20 مرداد 1387, 02:12 صبح
خوب یه سری مسایل کلی رو باید بلد بود تا به جزئیات رسید...!

در ضمن ما میخوایم خودمون پیاده سازی بکنیم نه از اینور اونور کد گیر بیاریم وگرنه کد پیدا کردن تو اینترنت بی در و پیکر کار 2 سوته ولی فایده نداره!

امیدوارم تونسته باشم منظورمو بیان کنم
موفق باشید
jooje
در کل من منتظر هستم یکی از کاراتونو بزارید من یکم روشن تر بشم که چه می شه کرد؟

Amir Oveisi
یک شنبه 20 مرداد 1387, 02:30 صبح
SOKOBAN
تو یک انبار جعبه رو به محل G هل میده

فایل zip‌رو Extract کن
یکی از فایلهای txt‌رو تو برنامه load کن

بعد از هر بار که تا هدف رفت واسه برگردوندن به حالت اولیه Reload بزن یا اینکه یه انبار دیگه load کن

wowrainyman
یک شنبه 20 مرداد 1387, 03:20 صبح
SOKOBAN
تو یک انبار جعبه رو به محل G هل میده

فایل zip‌رو Extract کن
یکی از فایلهای txt‌رو تو برنامه load کن

بعد از هر بار که تا هدف رفت واسه برگردوندن به حالت اولیه Reload بزن یا اینکه یه انبار دیگه load کن
بهت تبریک می گم برنامه عالیه :تشویق:البته کامل چک نکردم:چشمک:
برنامه به این کوچیکی این همه کد شطرنج چی میشه؟

wowrainyman
یک شنبه 20 مرداد 1387, 15:16 عصر
من می خوام برای بهتر شدن بازی یه ایراد دیگه بگیرم اونم اینکه ما نمی تونم جای شاه ورخ را باهم عوض کنیم
دوستان عزیز این مشکل هم بر طرف شد فکر کنم دیگه یک شطرنج کامل داشته باشیم!!!
بر طرف شدن مشکل عوض کردن شاه و قلعه!!!!دیگه برنامه تبدیل شده به یک شطرنج کامل.

Access
یک شنبه 20 مرداد 1387, 18:21 عصر
سلام دوستان
من یه پیشنهاد دارم بهتر دیگه از حالت سوال جواب درش بیاریم و به بخش اعلان انتقال بدیم تا این موضوع بخاطر سوال های جدید به صفحات دیگه منتقل نشه و هم راحتر بتونم بکسانی که مایل به همکاری هستند دسترسی داشته باشیم .
موفق باشید..

Access
یک شنبه 20 مرداد 1387, 18:38 عصر
من یه پیشنهاد و یه ایراد دیگه دارم
بهتره یه گزینه تو منو با عنوان جدید بزارین تا کسی بخواد بازی جدید رو شروع کنه لازم نباشه برنامه رو باز و بسته کنه .
و اما مشکل چرا فقط یکی از رخ ها با شاه تعویض می شه !
موفق باشید..

wowrainyman
یک شنبه 20 مرداد 1387, 19:05 عصر
من یه پیشنهاد و یه ایراد دیگه دارم
بهتره یه گزینه تو منو با عنوان جدید بزارین تا کسی بخواد بازی جدید رو شروع کنه لازم نباشه برنامه رو باز و بسته کنه .
و اما مشکل چرا فقط یکی از رخ ها با شاه تعویض می شه !
موفق باشید..
در مورد گزینه NEW ایده بسیار خوبیه و حتما روش کار می کنم:تشویق:
من فکر می کردم فقط با یک قلعه که به شاه نزدیکتره میشه شاه قلعه کرد اگه اشتباه کردم بگید تا رفعش کنم:چشمک:

Access
یک شنبه 20 مرداد 1387, 21:12 عصر
نه میشه با هر دو رخ این کارو انجام داد.
موفق باشید..

wowrainyman
یک شنبه 20 مرداد 1387, 23:31 عصر
نه میشه با هر دو رخ این کارو انجام داد.
موفق باشید..
چشم حتما این کارو انجام میدم.

wowrainyman
دوشنبه 21 مرداد 1387, 14:04 عصر
خوب مثل اینکه یواش یواش داره تاریخ انقضا این تاپیک فرا می رسه!!!!
کسی نیس کار سخت هوشمند کردنه این شطرنج رو شروع کنه؟

Amir Oveisi
دوشنبه 21 مرداد 1387, 15:17 عصر
کسی نیس کار سخت هوشمند کردنه این شطرنج رو شروع کنه؟

من مایل به شروع تین کار هستم ولی به دلیل کمبود وقت نمیتونم به تنهایی کارشو انجام بدم به همین خاطر هر کدوم از دوستان مایل بودن اعلام آمادگی کنند تا با هم شروع کنیم.

Access
دوشنبه 21 مرداد 1387, 19:30 عصر
فکر نکنم کسی اعلام آمادگی کنه چون دلیلشو گفتم

wowrainyman
سه شنبه 22 مرداد 1387, 12:56 عصر
من مایل به شروع تین کار هستم ولی به دلیل کمبود وقت نمیتونم به تنهایی کارشو انجام بدم به همین خاطر هر کدوم از دوستان مایل بودن اعلام آمادگی کنند تا با هم شروع کنیم.


فکر نکنم کسی اعلام آمادگی کنه چون دلیلشو گفتم
من هر چی فکرشو میکنم میبینم واقعا سخته!!!!!!!!!!!!!

h.jaza
سه شنبه 22 مرداد 1387, 14:17 عصر
آقا اجازه
من هستم:لبخند:

Amir Oveisi
سه شنبه 22 مرداد 1387, 14:24 عصر
من هر چی فکرشو میکنم میبینم واقعا سخته!!!!!!!!!!!!!
اونجوریم سخت نیست! ولی وقت می خواد

آقا اجازه
من هستم
اجازه مام دسته شماست! خوبه فکر کنم 4 نفر کافی باشن
نظرتون چیه؟

Access
سه شنبه 22 مرداد 1387, 14:44 عصر
خوب اولین قدم...
باید بتونه کیش و مات رو تشخیص بده
باید کاری بکنیم که خودش تشخیص بده که چه موقع شاه کیش و مات میشه و دیگه کاربر نتونه مهره شاه رو تکون بده و اعلام کنه که شما برنده شدید..
برای شروع کار فکر کنم خوب باشه لطفا نظر خودتون رو بگین
موفق باشید..

Amir Oveisi
سه شنبه 22 مرداد 1387, 16:08 عصر
کار ساده ایه،
هر موقع کیش میشه برنامه میاد چند تا چیز رو چک میکنه:
1- همه خونه های که شاه میتونه بهشون بره رو پیدا میکنه و چک میکنه که تو اون خونه ها باز هم کیش هست یا خیر. اگه خیر بود که مات نیست. اگر بله بود میره به 2

2- همه مهرهای همرنگ شاه رو چک میکنه و همه خونه هایی که میتونن برن رو بدست میاره، حالا چک میکنه ببینه اگر یکی از این مهره ها با جابجا شدن بتونن مسیر کیش شدن رو بگیرین ، مات نمیشه (به شزطی که مهره دشمن که کیش داده اسب نباشه) اگر هیچ مهره ای نتونه جلو کیش رو بگیره یا اینکه مهره دشمن اسب باشه میره به 3
3-همه مهرهای همرنگ شاه رو چک میکنه و همه خونه هایی که میتونن برن رو بدست میاره، حالا چک میکنه ببینه اگر یکی از این مهره ها با جابجا شدن بتونن مهره دشمن که کیش داده رو بگیرن، مات نمیشه و در غیر اینصورت مات خواهد شد.

این ساده ترین چیزیه که به ذهنم رسید الان.

h.jaza
سه شنبه 22 مرداد 1387, 20:12 عصر
فکر می کنم خوب گفتی ولی الگوریتمت خیلی خیلی سطح بالاس و خیلی ریز کاری ها رو توش لحاض نکری. حالا تازه اگر از این جمله که
همه مهرهای همرنگ شاه رو چک میکنه و همه خونه هایی که میتونن برن رو بدست میاره... بگذریم، این مثلا زمانی یکی از مهره های شما می تونه حرکت کنه ولی اگر حرکت کنه از یه طرف دیگه آیا شاه کیش میشه یا نه و ... را باید درنظر گرفت.:متعجب:
فکر کنم اگر بشینیم و یه آنالیز درست حسابی از تمام حالاتی که فقط تو همین حالت کیش و ماتی در می یاد بکنیم، بهتر باشه.:متفکر:

Amir Oveisi
سه شنبه 22 مرداد 1387, 21:59 عصر
حوب اولین الگوریتم همیشه سطح بالا و بدون بیان جزئیات باید باشه تا یه شمای کلی از مسئله بیاد دستت.
همه این کارا که من گفتم به راحتی قابل انجامه به شرطی که برنامه نوشته شده موجود طوری پیاده سازی شده باشه که بشه به راحتی روش مانور داد ، در اینصورت هیچ مشکل خاصی وجود نخواهد داشت.
ولی مسئله اصلی اینه که ما میتونیم خیلی بهینه تر از اینا هم پیاده سازی کنیم این شطرنج رو. اون لینک هایی که گذاشته بودم رو اگه دیده باشید متوجه میشید منظورمو.

موفق باشید
jooje

wowrainyman
چهارشنبه 23 مرداد 1387, 14:21 عصر
کار ساده ایه،
هر موقع کیش میشه برنامه میاد چند تا چیز رو چک میکنه:
1- همه خونه های که شاه میتونه بهشون بره رو پیدا میکنه و چک میکنه که تو اون خونه ها باز هم کیش هست یا خیر. اگه خیر بود که مات نیست. اگر بله بود میره به 2

2- همه مهرهای همرنگ شاه رو چک میکنه و همه خونه هایی که میتونن برن رو بدست میاره، حالا چک میکنه ببینه اگر یکی از این مهره ها با جابجا شدن بتونن مسیر کیش شدن رو بگیرین ، مات نمیشه (به شزطی که مهره دشمن که کیش داده اسب نباشه) اگر هیچ مهره ای نتونه جلو کیش رو بگیره یا اینکه مهره دشمن اسب باشه میره به 3
3-همه مهرهای همرنگ شاه رو چک میکنه و همه خونه هایی که میتونن برن رو بدست میاره، حالا چک میکنه ببینه اگر یکی از این مهره ها با جابجا شدن بتونن مهره دشمن که کیش داده رو بگیرن، مات نمیشه و در غیر اینصورت مات خواهد شد.

این ساده ترین چیزیه که به ذهنم رسید الان.
خوب من اینارو لحاظ می کنم و نتیجرو میزارم واستون سعی میکنم ظرف امروز یا فردا موضوع رو حل کنم ولی بازم این موضوع به هوشمند بودن بازی ربطی نداره و فقط یکی از قانونای بازی اجرا میشه!!!!!!!!!!!!

wowrainyman
چهارشنبه 23 مرداد 1387, 14:26 عصر
حوب اولین الگوریتم همیشه سطح بالا و بدون بیان جزئیات باید باشه تا یه شمای کلی از مسئله بیاد دستت.
همه این کارا که من گفتم به راحتی قابل انجامه به شرطی که برنامه نوشته شده موجود طوری پیاده سازی شده باشه که بشه به راحتی روش مانور داد ، در اینصورت هیچ مشکل خاصی وجود نخواهد داشت.
ولی مسئله اصلی اینه که ما میتونیم خیلی بهینه تر از اینا هم پیاده سازی کنیم این شطرنج رو. اون لینک هایی که گذاشته بودم رو اگه دیده باشید متوجه میشید منظورمو.

موفق باشید
jooje
ببینید این برنامه از لحاظ الگوریتم خوبه شما اینجور بدونید که همیشه چیزهایی که هر مهره میزنه و جاهایی که میتونه بره در یک آرایه در اختیار ما هست که واسه اون مطلب کیش مات به راحتی می شه روش کار کرد!!!!!!!!!!

Access
پنج شنبه 24 مرداد 1387, 19:16 عصر
سلام ....
دوستان بهتره که ما برای کار هوش مصنوعی بیاییم بگیم که هر وقت مهره سفید حرکت کرد ،
1- سرباز مهره سیاه بنابه قانون سرباز بتونه حرکت بکنه
2- هر وقت سرباز مهره سیاه در موقعیتی قرار پیدا کرد که می تونه مهره سفید رو بزنه بتونه مهره سفید رو بزنه
موفق باشید ...

Access
پنج شنبه 24 مرداد 1387, 19:19 عصر
فکر کنم این ساده کردن باعث بشه که پیاده سازی یک شطرنج ایده ال به راحتی انجام پذیر باشه .
موفق باشید ...

Access
شنبه 26 مرداد 1387, 17:12 عصر
سلام ..
فکر کنم من منظورم رو درست بیان نکردم شما ببخشید..
منظور من همون یک نفره کردن بازی هستش برای این که بازی یک نفره باشه باید مهره سیاه خودش حرکت کنه ، درسته یا من اشتباه فکر می کنم ...

wowrainyman
یک شنبه 27 مرداد 1387, 01:35 صبح
سلام ..
فکر کنم من منظورم رو درست بیان نکردم شما ببخشید..
منظور من همون یک نفره کردن بازی هستش برای این که بازی یک نفره باشه باید مهره سیاه خودش حرکت کنه ، درسته یا من اشتباه فکر می کنم ...
شما ببخشید که من درست متن رو نخوندم:چشمک:
دوست عزیز حرف شما کاملا درسته ولی من یکم تحقیق کردم دیدم در بازییای شطرنج معمولا کاربر انتخاب می کنه که بازی چه نوع باشه؟
مثلا میتونه انتخاب کنه که بازی بر پایه زد و خورد باشه که در این صورت ملاک هوش مصنوعی بیشتر زدن مهره حریفه اگه حتا بعد از اون یک مهره هم سطح اون که زده هم بخوره(دقت کنید که همسطح بودن خیلی مهمه)!!!
یا اینکه در یک روش دیگه در هیچ صورتی حاضر نیست مهره هاشو از دست بده.
شما اینی که گفتید هیچ دقتی به حرکت بعد نداره.
البته باید بگم که کار از همین چیزای ساده شروع می شه و نظر شما کاملا درسته:تشویق:
ولی خوب اگه کارو اینجوری پیش برد یک موقع به جایی میرسیم که بدلیل اشتباه بودن الگوریتم به بنبست میرسیم و ...

Amir Oveisi
جمعه 01 شهریور 1387, 18:35 عصر
در مورد Bit Board مطالعه کنید. با استفاده از این تکنیک به راحتی میشه همه حرکت ها رو کنترل کرد و هر تغییر مکان رو هم با چند عمل بیتی ساده (مثل AND و OR) انجام داد.