بازی نقطه خط زبان برنامه نویسی

بازی نقطه خط زبان برنامه نویسی

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

بازی نقطه خط یا به اصطلاح نقطه بازی، یک بازی قدیمی دو نفره است که از تعدادی نقطه و خط تشکیل میشود.

بازی نقطه خط زبان برنامه نویسی C++ در محیط کنسول (بدون هوش مصنوعی) و همچنین توسط C# در محیط گرافیکی (همراه با هوش مصنوعی) پیاده سازی کرده ایم که میتوانید آن را دانلود کنید

قوانین بازی نقطه خط:

۱۶ نقطه بر روی صفحه داریم (۴×۴) هر بازیکن به نوبت یک خط متصل کننده به دو نقطه را انتخاب میکند. و آن خط رسم میشود.

هدف بازی نقطه خط:

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

پیاده سازی بازی نقطه خط زبان برنامه نویسی:

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

توابع موجود:

  • تابع ChangeTurn صرفاً جهت عوض کردن نوبت از یک بازیکن به بازیکن دیگر استفاده میشود.
  • تابع CheckForBox وظیفه دارد بعد از رسم هر خط چک کند که آیا با رسم خط فوق ، یکی از ۹ خانه پر شده است یا خیر و در صورتیکه یک خانه پر شده است حرف مورد نظر آن بازیکن (A یا B) را در آن خانه قرار دهد. (با بروزرسانی آرایه Boxes)
  • تابع CheckifGameFinished همانطور که از اسمش مشخص است با هر بار رسم یک خط جدید بررسی میکند که آیا بازی به اتمام رسیده است یا خیر. این کار را با چک کردن خانه های آرایه Boxes انجام میدهد و اگر تمام ۹ خانه پر بود متوجه میشود که بازی تمام شده و باید از حلقه تکرار خارج شد. همچنین این تابع تمام خانه ها را میشمارد و برنده را مشخص میکند.
  • متغیر turn نیز مشخص میکند که در حال حاضر نوبت کدام بازیکن است. این متغیر توسط تابع ChangeTurn تغییر میکند.

آرایه های مورد استفاده:

  • آرایه HorizintalLine که محل خطوط افقی را مشخص میکند.
  • آرایه VerticalLine که محل خطوط عمودی را مشخص میکند.
  • آرایه Boxes که نمایانگر هر خانه از این جدول ۳×۳ است که هر خانه میتواند خالی، A یا B باشد.

هوش مصنوعی:

در نسخه C# این برنامه هوش مصنوعی نیز وجود دارد که از الگوریتم A* یا به طور مشخص از الگوریتم min–max استفاده میکند. در الگوریتم های min-max میبایست یک درخت تشکیل دهیم و حالتی که بازی در حال حاضر آن قرار دارد را به عنوان ریشه در نظر بگیریم. سپس آن را بسط دهیم تا تمام حالت های ممکن بدست که هر حالت را به عنوان یک گره از این درخت در نظر میگیریم. سپس به کمک تابع ارزیابی یا همان (f(n میبایست هر گره را ارزیابی کنیم و برای آنها یک ارزش در نظر بگیریم. در نهایت آن گره ای که (f(n کمتری دارد به عنوان گره هدف انتخاب میشود و هوش مصنوعی حرکت خود را بر مبنای آن گره انجام میدهد.

لینک های دانلود بازی نقطه خط زبان برنامه نویسی:

لینک دانلود فایل بازی نقطه خط به زبان C++

لینک دانلود فایل بازی نقطه خط به همراه هوش مصنوعی به زبان C#

جهت دریافت سورس کدهای این پروژه تماس بگیرید

ویدیوهای بازی نقطه خط زبان برنامه نویسی:



سفارش پروژه های برنامه نویسی دانشجویی:
۰۹۳۶۱۰۸۹۸۹۲
mryazdi89@gmail.com

لینک های مرتبط:
نقطه بازی – ویکیپدیا
Dots and Boxes – wikipedia

دیگر مطالب:
کاهش پینگ چیست؟
الگوریتم A* هوش مصنوعی
پروژه بازی منچ به زبان C# به همراه هوش مصنوعی

بازی نقطه خط زبان برنامه نویسی C++ و C# + هوش مصنوعی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پانزده − سیزده =