سلام به همه..
اگه بازی دوز می خواین این یکی واقعا بازی کاملیه (تقریبا)، از دستش ندید.
برنامه (بازی) TicTacToe نسخه 1.0.3 :
- امکان بازی بصورت 2دو نفره (بازیکن با بازیکن)
- امکان بازی بصورت 1یکنفره (بازیکن با کامپیوتر)، هوش مصنوعی مناسب
- امکان بازی 0 صفر نفره (کامپیوتر با کامپیوتر) صرفا جهت آشنایی با نحوه بازی
- هوش مصنوعی کامپیوتر در حد یک جوون 17 یا 18 ساله (البته در بعضی موارد دخترونه)
- ضریب دقت بالا در تصمیم گیری برای انتخاب حرکات مناسب چه هنگام دفاع در برابر حرکت حریف، و چه هنگام حمله کامپیوتر
- پیش فرض بازی (برای برنده شدن) بصورت یک ردیف 5-تایی می باشد. که البته برای دونفره بازی کردن این پیش فرض قابل تغییر است
- اینترفیس (رابط گرافیکی) ساده و مناسب
- ...
و .... بقیش هم دیگه خودتون بازی کنید ببینید...
اگه جالب بود و یا سوالی، پیشنهادی، انتقادی ... داشتین همینجا مطرح کنید.. خوشحال می شم با هم بیشتر در موردش صحبت کنیم.
این برنامه در Microsoft Visual C# 2005 Express Eddition نوشته شده. برای اجرا باید روی سیستمتون dotNet FrameWork 2 رو نصب داشته باشید.در این برنامه از کامپوننت Windows Media Player برای پخش موزیک در پس زمینه استفاده شده است. (کتابخانه ویندوز مدیا پلیر WMPLib)
یک پیش نمایش از صفحه بازی :
حجم سورس با Resources حدود 900 KB
********* در ضمن این فایل اولی که گذاشتم یه قسمتی رو باید داخلش حذف می کردم که فراموش کردم (در کلاس cpuClass)، که در فایل دومی که اینجا گذاشتم درستش کردم (TicTacToe.zip) البته چیز زیاد مهمی نیست ، فقط در بعضی شرایط ، CPU حرکت مناسب تری رو انجام می ده.
امیدوارم پیروز باشید.
با تشکر ... RED-C0DE
از توجه شما ممنونم، اما اگه به عنوان تاپیک و مطالب دیگه نگاه کنید متوجه می شید که نام TicTacToe2 رو هم ذکر کردم، اما برای اوندسته از دوستانی که شاید بیشتر این سبک بازی رو با نام دوز می شناسن از دوز استفاده کردم.
واسه هوشمندیشم بگم که : من از یک روشی که خودم روش فکر کردم، استفاده کردم و چیز زیادی از الگوریتمهای هوشمند و ... نمی دونم..در واقع طوری برنامه ریزی شده که مثل یک انسان در بیشتر مواقع انتخاب کنه و نه مثل یک ماشین. همین کاری که یک نفر برای انتخاب بهترین خانه انجام می ده رو سعی کردم پیاده کنم... برای مثال : وقتی که من روی جدول بازی به جایی رسیدم که می تونم الان یک ردیف 5 تایی داشته باشم و بازی رو ببرم، دیگه نیازی به دفاع کردن در برابر حریف نیست.
الگوریتم کلی در این برنامه به این صورت است که ابتدا کل مسیرهای ممکن (مسیرهای 5 تایی) در روی تخته بازی رو در یک ساختمان داده (مثلا آرایه) نگهداری می کنیم، (و البته هر مسیر دارای اولویت و جزئیات دیگری است) همچنین خانه های موجود روی تخته بازی هم (بصورت اولویت بندی) بطور جداگانه نگهداری می شوند، پس از انتخاب یک خانه با اولویت بالا در بهترین مسیر ممکن توسط کامپیوتر ، اولویت خانه های اطراف خانه انتخاب شده و همچنین مسیرهایی که خانه انتخاب شده در آنها وجود دارد، افزایش ++ یافته...
همچنین این روند برای انتخاب خانه توسط کاربر بصورت کاهشی اجرا می شود. تا در انتخاب بعدی توسط کامپیوتر بهترین خانه از بهترین مسیر ممکن (خانه با بیشترین اولویت از مسیر با بیشترین اولویت ) انتخاب شود و الی آخر...
با تشکر...