یک بازی کامل دوز (Tic-Tac-Toe یا XO) با استفاده از Node.js و WebSocket که دارای دو حالت بازی است:
- بازی آنلاین دو نفره
- بازی آفلاین با ربات (هوش مصنوعی با الگوریتم Minimax)
- ✅ Node.js (سرور اصلی)
- ✅ WebSocket (برای اتصال زنده دو بازیکن)
- ✅ HTML + CSS + JavaScript (رابط کاربری واکنشگرا)
- ✅ الگوریتم Minimax (هوش مصنوعی برای بازی تکنفره)
| ویژگی | توضیح |
|---|---|
| 🎮 بازی آنلاین | بازیکنان از طریق کد بازی به هم متصل میشوند |
| 🤖 بازی با ربات | بازیکن با یک هوش مصنوعی رقابت میکند |
| 📡 WebSocket Real-Time | بازیهای آنلاین بدون نیاز به رفرش انجام میشود |
| 💡 ربات با Minimax | ربات همیشه بهترین حرکت ممکن را انجام میدهد |
| 🧼 ریست بازی | در هر دو حالت، بازی قابل ریست شدن است |
project-root/
├── public/
│ ├── style.css # استایلها
│ └── script.js # منطق بازی کلاینت + حالت تکنفره + Minimax
├── client.html # رابط کاربری HTML
├── server.js # سرور WebSocket و HTTP
└── README.md # مستندات پروژه
npm install
npm run start <or npm run dev>سپس در مرورگر وارد شوید:
- بازیکن اول روی "ایجاد بازی جدید" کلیک میکند.
- یک کد بازی دریافت میکند.
- بازیکن دوم کد را وارد کرده و به بازی میپیوندد.
- بازی به صورت زنده از طریق WebSocket اجرا میشود.
- بازیکن روی "بازی با ربات" کلیک میکند.
- بدون نیاز به اتصال اینترنت یا سرور، بازی آغاز میشود.
- ربات با استفاده از الگوریتم Minimax بازی میکند.
Minimax یک الگوریتم هوش مصنوعی برای بازیهای نوبتی مانند دوز است. ویژگیهای آن:
- بررسی همه حالات ممکن آینده
- جلوگیری از باخت، حفظ مساوی یا گرفتن برد
- در بازی دوز، ربات با Minimax هیچوقت نمیبازد
در هر دو حالت (تکنفره یا آنلاین)، دکمه "بازی جدید" باعث ریست کامل بازی میشود.
این پروژه تحت مجوز MIT منتشر شده و آزادانه قابل استفاده و گسترش است.
- انتخاب سطح سختی ربات (آسان، متوسط، سخت)
- امکان بازی چندنفره روی یک شبکه محلی
- افزودن جدول امتیاز یا تایمر
با افتخار ساخته شده برای یادگیری و سرگرمی 💻🎉