دسته بندی | برنامه نویسی |
بازدید ها | 26 |
فرمت فایل | doc |
حجم فایل | 144 کیلو بایت |
تعداد صفحات فایل | 18 |
آموزش پیاده سازی گرافیکی هشت وزیر با C#
مقدمه
محمد امین شریفی تحصیلات مقدماتی خود را در دبیرستان همیشه ماندگار البرز گذراند و هم اینک دانشجوی سال اول کارشناسی تکنولوژی نرم افزار در دانشگاه آزاد واحد دماوند می باشد.علاقه مند به گسترش برنامه های دات نت و حل کردن مسائل برنامه نویسی با C++ است.
این مقاله در راستای نوشتار کتابچه ای به نام 'پیاده سازی بازی های تخته ای' نوشته شده است و در صورت آشنایی با این برنامه،شما می توانید با انواع بازی های تخته ای مانند reverse, chess, dooz, tic-tac-toe, checkers آشنا شوید،هم اینک بازی reverse و dooz کامل شده است و باقی بازی ها هم در آینده نزدیک نوشته خواهد شد و بطور رایگان در اختیار دانش جویان نرم افزار قرار خواهد گرفت.
این مقاله برای آن دسته از افرادی می باشد که پیشین با C# کار کرده اند و یا قصد آشنایی و برنامه نویسی با این قالب برنامه نویسی را دارند.در این مقاله کوشش شده است که هر بخش مستقل از بخش های دیگر باشد و دوستانی که با C# و یا پیاده سازی گرافیکی تخته بازی آشنایی دارند می توانند با سرعت از این بخش ها عبور کنند و به سراغ الگوریتم بازی بروند.ولی توصیه میکنم که سلسله مراتب بخش ها را هر چند گذرا مرور کنید.
هدف از نوشتن این مقاله آشنا کردن خواننده با الگوریتم هشت وزیر به صورت گرافیکی می باشد. در این بازی ما باید هشت وزیر را بگونه ای در صحه شطرنج بچینیم که هیچ یک از وزیرها، 7 وزیر دیگر را تحدید نکند.در این مقاله، هر 2 نوع پیاده سازی بازگشتی و غیر بازگشتی نوشته شده است.
پس از خواندن این مقاله از دانشجویان انتظار می رود که بتوانند الگوریتم هشت وزیر را تحلیل کرده و مطابق با نیاز خود در محیط های مختلف طراحی و پیاده سازی کنند.
فصل اول : طراحی
گام نخست : پیاده سازی مهره و کاشی بازی
|
|
مهره نشان دهنده وزیر |
|
را ایجاد کنید.eight_queen ای به نام Windows Application برنامه Visual C# را اجرا کنید و از قسمت Visual Studio
SquareControl.cs به نام User Control یک Add new item بر روی پروژه یتان کلیک راست کنید و از قسمت
کاشی صفحه شطرنج ما را می سازدUser control را ایجاد کنید.در واقع این
این کنترل را به 32, 32 تغییر می دهیم.حالا کاشی تخته یمان آماده شد!size
تخته یمان که به شکل دایره است می رسد(Discs)نوبت به طراحی مهره های
این مهره ها را می توان به 2 صورت پیاده سازی کرد:
با قرار دادن عکس وزیر درون کاشی های شطرنج .1
با کشیدن دایره درون کاشی های شطرنج. .2
که در این مقاله راه دوم را برگزیدیم.یعنی با کد زیر دایره ای با رنگ سفید یا سیاه درون کاشی هایمان رسم می کنیم.
e.Graphics.DrawEllipse(SquareControl.pen, left, top, width, height);
را حذف کردیم و آنرا به گام های بعدی محول کرده ایم.shadow و animationدر این گام ما قسمت
|
|
نام دامنه |
پارامتر |
اضافه می کنیم:User controlدر ابتدای کار نام دامنه زیر را
using System.Drawing.Drawing2D;
سپس رنگ کاشی خود را تعیین می کنیم:
public static Color NormalBackColor= Color.Green;
باید متغیری برای ذخیره کردن ردیف و ستون مهره ها ایجاد کنیم.به این دلیل که کدمان حرفه ای تر بشود ، آنها را تعریف کرده ایم:propertyمستقیمان به صورت
// These reflect the position of the square on the board.
Public int col{get;set;}
public int row{get;set;}
در انتها هم رنگ و قلم موی خود را انتخاب می کنیم:
// Drawing tools.
Private static Pen pen = new Pen(Color.Black);
private static SolidBrush solidBrush = new SolidBrush(Color.Black);
گام سوم : تابع تنظیم ردیف و ستون
فهرست
مقدمه. 3
معرفی نویسنده اثر. 3
درباره این مقاله. 3
مخاطبان این مقاله. 3
هدف از نوشتن این مقاله. 3
فصل اول : طراحی. 4
گام نخست : پیاده سازی مهره و کاشی بازی.. 4
گام دوم : تعریف پارامترها و نام دامنه برای User Control ها 5
گام سوم : تابع تنظیم ردیف و ستون. 6
گام چهارم : ایجاد و نابود سازی User Control ها 7
گام پنجم : چیدن مهره ها در صفحه شطرنج. 8
گام ششم : کشیدن حاشیه بین کاشی ها 10
گام هفتم : نگاه کلی بر کلاس SquareControl 11
فصل دوم : پیاده سازی محیط بازی.. 12
گام هشتم : تعریف متغییر های تخته بازی.. 12
گام نهم : پیاده سازی تابع سازنده تخته بازی.. 13
گام دهم : ذخیره 92 حالت مختلف.. 14
فصل سوم : الگوریتم هشت وزیر به روش غیر بازگشتی. 15
گام یازدهم : معرفی الگوریتم 15
گام دوازدهم : روش بررسی صحّت قرار گیری مهره 16
فصل چهارم : الگوریتم هشت وزیر به روش بازگشتی. 17
گام سیزدهم : معرفی الگوریتم 17
گام چهاردهم : روش بررسی صحّت قرارگیری مهره 17
دسته بندی | کامپیوتر و IT |
بازدید ها | 24 |
فرمت فایل | doc |
حجم فایل | 5780 کیلو بایت |
تعداد صفحات فایل | 75 |
در این پروژه ابتدا با معرفی و توضیح حوزه روبات های پرنده با ساختار عمود پرواز چهار ملخه آشنا می شویم . سپس با استفاده از مدل دینامیکی و روابط حاکم ، کنترلر بهینه ایی بر مبنای PID برای آن طراحی می کنیم . پس از شبیه سازی ، آن را پیاده سازی کرده و نتایج را بررسی خواهیم کرد .
کلید واژه:روبات ، پرنده ، Quad rotor ، Quad copter ، PID .
فهرست مطالب
فهرست شکلهاج
فصل 1 - مقدمه. 3
1-1 پیشگفتار3
1-2معرفی و مقایسه روبات های پرنده بدون سرنشین.. 4
1-3- معرفی Quadrotor. 6
1-4 مدل ریاضی.. 8
فصل 2-سخت افزار12
2-1 اجزای اصلی.. 12
2-1-1- میکرو کنترلر اصلی.. 13
2-1-2- نگاهی دقیق تر به میکرو کنترلر و توانمندی های آن.. 15
2-1-3- معرفی ESC.. 22
2-1-4- معرفی موتورهای BLDC.. 23
2-1-5- معرفی سنسور IMU.. 25
2-1-6- معرفی سنسور آلتراسونیک.... 29
2-1-7- برد اتصالIOIO... 30
2-1-8- مبدل USB به TTL. 32
فصل 3-شبیه سازی.. 34
3-1-معرفی موتور Unity3d. 34
3-2-معرفی کنترلر PID.. 35
3-2-1- بررسی تاثیر پارامترها بر سیستم.. 36
3-2-2- طراحی کنترلر و تنظیم آن ( روش زایگلر – نیکلز )38
3-2-3- مقایسه PID استاندارد و دیجیتالی ( گسسته )40
3-3 مقایسه انواع فیلترها42
3-3-1- فیلتر کالمن.. 42
3-3-2- فیلتر DCM.... 43
3-4نتایج شبیه سازی –PID استاندارد. 47
فصل 4-بخش عملی.. 49
4-1 ساخت بدنه. 49
فصل 5-نرم افزار55
ضمیمه ها 65
نتیجه گیری 67
منابع و مراجع 68
فهرست شکلها
عنوان صفحه
شکل 1 : انواع روبات پرنده5
شکل 2 : مقایسه روبات های پرنده5
شکل 3 : نحوه چرخش ملخ ها6
شکل 4 : نحوه حرکت روبات... 7
شکل 5 : مدل دینامیکی روبات... 8
شکل 6 : دیاگرام داخلی روبات... 12
شکل 7 : نمای داخلی میکرو xmega128. 15
شکل 8 : دیاگرام ارتباط داخلی میکروکنترلر. 18
شکل 9 : نحوه تولید سیگنال esc. 22
شکل 10 : نمای داخلی موتور BLDC. 24
شکل 11 : نمای داخلی سنسور شتاب سنج.. 27
شکل 12 : شماتیک داخلی مدار سنسور imu. 28
شکل 13 : سنسور ultrasonic. 29
شکل 14 : ماژول واسط گوشی تلفن همراه و مدار اصلی.. 30
شکل 15 : شماتیک داخلی مدار واسط... 31
شکل 16 : مبدل usb به TTL. 32
شکل 17 : شماتیک داخلی مبدل usb بهTTL. 32
شکل 18 : مدل شبیه سازی شده روبات... 34
شکل 19 : کنترل فرآیند با فیدبک حلقه بسته. 35
شکل 20 : تاثیر افزایش بهره p. 36
شکل 21 : تاثیر افزایش بهره I36
شکل 22 : تاثیر افزایش بهره D.. 37
شکل 23 : دیاگرام سیستم حلقه بسته با اغتشاش.... 38
شکل 24 : پاسخ پله سیستم حلقه بسته. 38
شکل 25 : جدول زایگلر - نیکلز. 39
شکل 26 : نحوه از بین رفتن اثر نویز با فیلتر کالمن.. 43
شکل 27 : نتایج بدست آمده از شبیه سازی.. 47
شکل 28 : مراحل ابتدایی ساخت بدنه. 49
شکل 29 : بدنه ساخته شده در مرحله اول.. 50
شکل 30 : قفس تست ساخته شده51
شکل 31 : روبات آماده شده با اتصال چهار ملخ.. 52
شکل 32 : روبات ساخته شده در مرحله نهایی.. 53
شکل 33 : شماتیک داخلی سخت افزار روبات... 66
دسته بندی | کامپیوتر و IT |
بازدید ها | 50 |
فرمت فایل | doc |
حجم فایل | 1992 کیلو بایت |
تعداد صفحات فایل | 91 |
این پایان نامه شامل یک سیستم مکانیزه شده کتابخانه می باشد که درمحیط c# درست شده است
این سیستم قادرمی باشد کلیه اطلاعات ثبت شد ه درسیستم را درهرزمانی نمایش دهد واگر اطلاعات موجود نیازبه ویرایش و اصلاح داشته باشد کابران به راحتی قادربه انجام آن خو اهند بود.
ازویژگی های دیگر این سیستم این است که تمام اطلاعات راروی کلیدها وفرم ها به فارسی نوشته شده واستفاده ازسیستم کارچندان مشکلی نیست .
این سیستم دارای امکانات زیراست :
امانت کتاب – ثبت کتاب – ثبت عضو جدید – تمدید کتاب – جستجو ( مو ضوعی – نویسند ه – عنو ان ) و راهنما برای کاربران می باشد.
فهرست مطالب
چکیده :1
مقدمه :2
فصل اول. 6
طراحی و تحلیل. 6
موجودیت امانت گیرنده9
موجودیت امانت امانت گیرنده10
غرض دادن کتاب.. 19
رزو کردن. 21
Add A Book. 25
فصل چهارم. 70
طراحی بانک اطلاعاتی. 70
ایجاد یک پایگاه داده71
نمودار 3-3Relationship. 74
راهنمای کاربری سیستم. 80
فرم ورود80
نتیجه گیری :88
منابع