View on GitHub

Robo-cup-soccer-simulation-windows-csharp

شبیه سازی رایانه ای فوتبال دو بعدی، با موتور تحت ویندوز و زبان سی شارپ

Download this project as a .zip file Download this project as a tar.gz file

مسابقات شبیه سازی رایانه ای فوتبال با موتور تحت ویندوز

آنچه که انجام دادیم تنها برای نشان دادن اندکی از زیبایی های دنیای برنامه نویسی بوده و اینکه میشه کارهای جالبی انجام داد.

شروع پروژه

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

هدف پروژه

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

درباره کتابخانه

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

مسابقات

توسط این موتور مسابقات مختلفی برگزار شده. اولین و دومین دوره این مسابقات با نسخه های 1.0 و 1.1 موتور، در سطح دانشگاه، و تنها جهت تست کارایی سیستم و در زبان سی پلاس پلاس انجام شد. پس از آن اولین مسابقه بزرگ با موتور نسخه ی 2.3 سی شارپی در سطح قطب شمال کشور و در دانشگاه علوم و فنون مازندران انجام گرفت و حضور 21 تیم از 17 دانشگاه مختلف در این مسابقات انگیزه ها رو برای بهبود موتور چند برابر کرد. دبیران علمی و اجرایی این مسابقات اعضای گروه نرم افزاری رویال پلاس بودند. اولین دوره مسابقات کشوری با موتور 2.3 سی شارپی توسط دانشگاه زنجان انجام شد. اجازه استفاده از موتور توسط تیم توسعه دهنده برای این عزیزان ارائه شد تا بتونن مسابقه ی خودشونو برگزار کنن. دومین مسابقه بزرگ کشوری با موتور 4.7 سی شارپی در دانشگاه علوم و فنون انجام شد و این مسابقه یکی از چهار رشته ی مسابقات رباتیک این دانشگاه بود.

انجام مسابقات دیگر

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

فیلمها و تصاویر مسابقات

فیلم مسابقه سوم http://www.aparat.com/v/65isz پوستر مسابقه ی سوم http://www.xum.ir/images/2014/10/24/robocupsoccersimulation.jpg

ارتباط با ما : ایمیل : Ehsan1268[at]gmail[dot]com وبسایت : royalplus.ir