استاد درس برنامه سازی پیشرفته مون برای پروژه یکی مونده به آخر تعیین کرد که بازی معروف ویندوز XP یعنی MineSweeper رو بسازیم. راستش من خودم که اون زمان مین روب بازی میکردم اصلا نمیدونستم چی به چیه. فقط سر چند تا بلوک کلیک میکردم و بعدش یا میترکیدم یا در بهترین حالت چند تا عدد رو صفحه بازی نمایش داده میشدن. خلاصه اینکه تازه سر این پروژه فهمیدم داستان چیه.

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

ویژگی هایی که پوشش دادم:

  • قابلیت دریافت تنظیمات بازی (مثل طول، عرض و تعداد مین) در صفحه اصلی بازی
  • طراحی رابط کاربری نسبتا مناسب
  • قابلیت ذخیره بازی پس از خروج در نیمه بازی و امکان بارگذاری مجدد بازی (یادداشت فنی: با استفاده از ObjectSerialization)
  • پخش صدا و رابط با آیکون های فلت
  • برنامه نویسی شی گرا
  • قابلیت ذخیره رکورد زمان بازی ها و نمایش آنها به صورت جدولی
  • امکان پرچم گذاری روی خانه ها
  • قابلیت خروج از بازی (: حالا شاید فکر کنید خیلی ساده بود این قسمتش ولی نبود ((:

 برای اجرای این بازی نیاز به نرم افزار Java Runtime Enviorment هست. در صورتی که این پیش نیاز رو ندارید میتونید از لینک درج شده دانلودش کنید.
Project Informations
Name: Minesweeper (Persian)
Type: Project + Single Runnable Jar File
Language: Java +Swing Technology
Developer: Aryan Ebr
License: Open Source, Aryan Software Productions
Project Type: Eclipse Project

دانلود پروژه بازی (محیط توسعه اکلیپس) 

دانلود بازی بدون پروژه (فایل قابل اجرا JAR)


MineSweeper