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

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


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


سرفصل های تئوری:
1- ساخت و خواندن نقشه ی بازی از روی فایل
2- کشیدن شخصیت های بازی
3- حرکت پکمن


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


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

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

ما این مختصات را در یک ماتریس عددی ذخیره می کنیم و هنگام حرکت شخصیت ها آن را تغییر  می دهیم تا بتوانیم برخوردها را تشخیص بدهیم. برای راحتی مقداردهی این ماتریس آن را در یک فایل ذخیره می کنیم و در ابتدای بازی از روی فایل می خوانیم:

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

 مساله ی دیگر نحوه ی حرکت پکمن توسط کاربر است، ما برای این کار دکمه هایی به صورت زیر روی صفحه ی بازی قرار دادیم:

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

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

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

و در ابتدای برنامه و هنگام شروع بازی آن را فراخوانی می کنیم:

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

سپس باید متغیرهایی برای نگهداری مکان شخصیت ها و امتیاز پکمن داشته باشیم و مکان اولیه آنها را مشخص و مقدار دهی کنیم: 

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

سپس کد داخل رخداد مربوط به حرکت پکمن را می نویسم:

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

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


رسم شخصیت ها:
مساله ی بعدی کشیده شدن شخصیت ها و دانه ها روی زمین بازی است، برای این کار لازم است در بازه های زمانی مشخصی صفحه به روز رسانی شود، برای این کار از timer ها کمک می گیریم و یک تابع به روز رسانی به صورت زیر می نویسیم و آن را در انتهای تابع Readmap فراخوانی و مقدار interval آن را برابر 1000 مقداردهی می کنیم (با این کار هر ثانیه یک مرتبه صفحه به روز رسانی خواهد شد):

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


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

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

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

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

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

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

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

طرز تهیه چسب از محصولات ارگانیک

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

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

برچسب : نویسنده : فرومی tebyan بازدید : 243 تاريخ : يکشنبه 6 تير 1395 ساعت: 12:58