# مباحث متفرقه برنامه نویسی > پروژه‌های Open Source >  بازی دوز TicTacToe با هوش مصنوعی قابل قبول

## RED-C0DE

سلام به همه..
اگه بازی دوز می خواین این یکی واقعا بازی کاملیه (تقریبا)، از دستش ندید.

تاپیک اصلی :
https://barnamenevis.org/showpo...32&postcount=6

برنامه (بازی) TicTacToe نسخه 1.0.3 :
- امکان بازی بصورت 2دو نفره (بازیکن با بازیکن)
- امکان بازی بصورت 1یکنفره (بازیکن با کامپیوتر)، هوش مصنوعی مناسب 
- امکان بازی 0 صفر نفره (کامپیوتر با کامپیوتر) صرفا جهت آشنایی با نحوه بازی
- هوش مصنوعی کامپیوتر در حد یک جوون 17 یا 18 ساله (البته در بعضی موارد دخترونه)
- ضریب دقت بالا در تصمیم گیری برای انتخاب حرکات مناسب چه هنگام دفاع در برابر حرکت حریف، و چه هنگام حمله کامپیوتر
- پیش فرض بازی (برای برنده شدن) بصورت یک ردیف 5-تایی می باشد. که البته برای دونفره بازی کردن این پیش فرض قابل تغییر است
- اینترفیس (رابط گرافیکی) ساده و مناسب
- ...
و .... بقیش هم دیگه خودتون بازی کنید ببینید...
اگه جالب بود و یا سوالی، پیشنهادی، انتقادی ... داشتین همینجا مطرح کنید.. خوشحال می شم با هم بیشتر در موردش صحبت کنیم.

این برنامه در Microsoft Visual C#‎‎‎‎ 2005 Express Edition نوشته شده. برای اجرا باید روی سیستمتون dotNet FrameWork 2 رو نصب داشته باشید.در این برنامه از کامپوننت Windows Media Player برای پخش موزیک در پس زمینه استفاده شده است. (کتابخانه ویندوز مدیا پلیر WMPLib)

یک پیش نمایش از صفحه بازی :




حجم سورس با Resources حدود 900 KB

----------


## sahar_amini

ایا این برنامه بر اساس الگوریتم های هوش مصنوعی نوشته شده؟

----------


## RED-C0DE

> ایا این برنامه بر اساس الگوریتم های هوش مصنوعی نوشته شده؟


خیر...
من از یک روشی که خودم روش فکر کردم، استفاده کردم و چیز زیادی از الگوریتمهای هوشمند و ... نمی دونم...(3 ترم دیگه باید واحدش رو پاس کنم)در واقع طوری برنامه ریزی شده که مثل یک آدم نه چندان حرفه ای در بیشتر مواقع انتخاب کنه و نه مثل یک ماشین. همین کاری که یک نفر برای انتخاب بهترین خانه انجام می ده رو سعی کردم پیاده کنم... برای مثال : وقتی که من روی جدول بازی به جایی رسیدم که می تونم الان یک ردیف 5 تایی داشته باشم و بازی رو ببرم، دیگه نیازی به دفاع کردن در برابر حریف نیست. الگوریتم کلی در این برنامه به این صورت است که ابتدا کل مسیرهای ممکن (مسیرهای 5 تایی) در روی تخته بازی رو در یک ساختمان داده (مثلا آرایه) نگهداری می کنیم، (و البته هر مسیر دارای اولویت و جزئیات دیگری است) همچنین خانه های موجود روی تخته بازی هم (بصورت اولویت بندی) بطور جداگانه نگهداری می شوند، پس از انتخاب یک خانه با اولویت بالا در بهترین مسیر ممکن توسط CPU ، اولویت خانه های اطراف خانه انتخاب شده و همچنین مسیرهایی که خانه انتخاب شده در آنها وجود دارد، افزایش ++ یافته... و البته این روند برای انتخاب خانه توسط کاربر، بصورت کاهشی اجرا می شود تا در انتخاب بعدی توسط CPU بهترین خانه از بهترین مسیر ممکن (خانه با بیشترین اولویت از مسیر با بیشترین اولویت ) انتخاب شود و الی آخر...

----------


## bghad1

سلام.نمي دونم چرا ارور مي ده وقتي مي خوام با وي‍وال استوديو 2008 باز كنم سورستون رو!!
چي كار بايد بكنمش؟

----------


## hasti_62

منم بازش میکنم error می ده چرا؟

----------


## RED-C0DE

بذارین Visual Studio اونو Convert کنه موقع باز کردن...

اگر هم error ِ دیگه ای می ده عکسشو اینجا بذارین...

----------


## asal_2010

سلام 
امکان داره این برنامه را به زبان C++‎‎ یا cهم بذارین؟
ممنون

----------

