ساخت بازی با C# - دوره پیشرفته، جلسه سوم

ساخت وبلاگ
آموزش برنامه نویسی c# - دوره پیشرفته، جلسه سوم


هدف کلی:
آشنایی با پیچیدگی های نوشتن یک بازی


سرفصل های تئوری:
1- الگوریتم تعقیب پکمن توسط دشمنان


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


حرکت دشمنان:
اگر به بازی اصلی توجه کرده باشید، حرکت دشمنان معمولاً به سمت خود پکمن است، در نتیجه هر دشمن برای اینکه تصمیم بگیرد به چه سمتی حرکت کند، لازم است موقعیت خود را نسبت به پکمن بسنجد و سپس حرکت کند، برای اینکه دشمنان بتوانند نزدیک ترین مسیر تا پکمن را بیابند ما برای هر دشمن یک ماتریس به ابعاد زمین بازی در نظر می گیریم و روی هر خانه ی این ماتریس مشخص می کنیم که فاصله تا دشمن چقدر است مانند زیر:

آموزش برنامه نویسی c# - دوره پیشرفته، جلسه سوم

با این کار هر دشمن می تواند بهترین (کوتاه ترین) مسیر خود برای رسیدن به پکمن را محاسبه و پیدا کند، برای پر کردن این ماتریس تابعی مانند زیر در نظر گرفته ایم: 

آموزش برنامه نویسی c# - دوره پیشرفته، جلسه سوم

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

آموزش برنامه نویسی c# - دوره پیشرفته، جلسه سوم

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

آموزش برنامه نویسی c# - دوره پیشرفته، جلسه سوم

از طرفی حرکت دشمنان وابسته به فشرده شدن کلید توسط کاربر نیست در نتیجه می توان تابع حرکت آنها را در رخداد تایمر صدا زد:

آموزش برنامه نویسی c# - دوره پیشرفته، جلسه سوم

بخش پژوهش های دانش آموزی تبیان، تهیه: محسن نصرتی

تنظیم: نسرین صادقی

جایگاه موسیقی محلی و سنتی در میان نوجوانان

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

دمای نوشیدنی ها چه اثری بر حس چشایی دارد

حس چشایی، یک حس شیمیایی محسوب می شود که جزء اولین دستگاه های حسی انسان به شمار می آید

امکان سنجی ساخت قهوه هسته خرما

خرما به عنوان یک میوه مقوی و ویژه همیشه مورد توجه بوده است، همچنین هسته خرما دارای ترکیباتی است که از نظر شیمیایی از اسید های چرب اشباع و غیر اشباع، روی، کلسیم و پتاسیم تشکیل شده است.

تبیان...
ما را در سایت تبیان دنبال می کنید

برچسب : نویسنده : فرومی tebyan بازدید : 278 تاريخ : دوشنبه 7 تير 1395 ساعت: 5:26