کتاب یادگیری برنامه‌نویسی اندروید با آموزش ساخت 4 بازی

کتاب یادگیری برنامه‌نویسی اندروید با آموزش ساخت 4 بازی


در کتاب یادگیری برنامه‌نویسی اندروید با آموزش ساخت 4 بازی نوشتۀ سو اسمیت و جان هورتون، به طور کاملاً تصویری و قدم به قدم، روش ساخت 4 بازی اندرویدی در محیط اندروید استودیو آموزش داده شده است.

در فصل اول، یک نمونه ساده از بازی قدیمی Breakout یا Brick breaker به معنای"شکستن آجر" را برای اندروید ایجاد می‌کنیم. این بازی توسط Atari (آتاری) در ابتدای دهه 1970 میلادی توسعه داده شد. بازی به این صورت انجام می‌شود که بازیکن باید با یک راکت مستطیلی که در پایین صفحه قرار دارد، به توپ که یک مربع سفید رنگ است، ضربه بزند تا آجرهای نارنجی رنگ بالای صفحه را از بین ببرد. با از بین بردن هر آجر، 10 امتیاز به مجموع امتیازهای بازیکن اضافه می‌شود. بازیکن باید راکت که فقط به سمت چپ و راست حرکت می‌کند، را کنترل کند. در صورتی که توپ به جای برخورد با راکت به پایین صفحه برخورد کند، یک واحد از تعداد جان (فرصت)‌های بازیکن کم می‌شود. در ابتدای بازی 3 فرصت به بازیکن داده می‌شود. با هر بار برخورد توپ به دیواره‌های بالا، پایین، راست و چپ و همچنین برخورد با راکت و هرکدام از آجرها صدایی پخش می‌شود.

در فصل دوم، روش ساخت بازی Hangman یا بازی حدس کلمات آموزش داده شده است. این بازی خیلی پرطرفدار بوده و احتمالاً با آن یا بازی مشابه با آن آشنایی داشته باشید. در این بازی، چند کلمه را در نظر گرفته و در هر بار اجرای بازی یکی از آن کلمه‌ها در نظر گرفته می‌شود تا بازیکن آن را حدس بزند، به این صورت که به تعداد حروف کلمه انتخاب شده، خط تیره در پایین یک تصویر از دار نمایش داده شده و بازیکن با کلیک کردن روی حروف الفبای پایین Layout باید وجود داشتن یا نداشتن آن‌ها در کلمه مورد نظر را بررسی کند. در صورت وجود داشتن حرف انتخاب شده در کلمه مورد نظر، آن حرف در بالای خط تیره نمایش داده می‌شود. ممکن است تعداد بیشتر از یک حرف در کلمه وجود داشته باشد، برای مثال حرف e در کلمه internet دو دفعه تکرار شده است. در صورت وجود نداشتن آن حرف در کلمه مورد نظر نیز، یکی از اعضای بدن آدمک (سر، خط عمودی نشان دهنده بدن، دو دست و دو پا) به ترتیب و با هر حدس نادرست نمایش داده می‌شود. پس از اینکه تعداد حدس‌های نادرست بازیکن زیاد شده و تصویر آدمک به طور کامل نشان داده شد، بازیکن بازی را باخته است. با حدس صحیح تمام حروف کلمه نیز بازیکن برنده بازی می‌شود.

در فصل سوم، بازی مشهور مار را ایجاد خواهیم کرد. این بازی از اواسط دهه 1970 ساخته شده و با نام‌هایی مانند کرم نیز شناخته می‌شود. همچنین در تمام نسل‌های گوشی‌های تلفن همراه نوکیا نیز ارائه شده است. در این بازی، مربع سفید رنگ نشان دهنده مار و مربع قرمز رنگ نشان دهنده شخصیت Bob است که منتظر خورده شدن توسط مار می‌باشد. پس از خورده شدن Bob توسط مار، Bob در جای دیگری از صفحه به طور تصادفی قرار می‌گیرد. همان طور که بازی ادامه می‌یابد و چند Bob خورده می‌شود، طول مار بیشتر می‌شود و در نتیجه احتمال خورده شدن مار توسط خودش و به تله افتادن بازیکن بیشتر می‌شود.

در فصل چهارم نیز روش ساخت بازی Space Invaders توضیح داده شده است. این بازی به بازیکن امکان می‌دهد سفینه خود را با لمس کردن ناحیه پایین صفحه به چپ و راست حرکت دهد. در صورتی که بازیکن ناحیه‌ای کمی بالاتر از ناحیه یک هشتم پایین صفحه را لمس کند، می‌تواند با گلوله به مهاجمین حمله کند. مهاجمین با حالتی انیمیشنی (با حرکت دادن بازوهای خود) از یک طرف صفحه به طرف دیگر حرکت کرده و در همان حال گلوله‌هایی را شلیک می‌کنند. اگر گلوله مهاجمین به سفینه بازیکن برخورد کند، بازیکن یک جان را از دست می‌دهد و در صورتی که گلوله به پناهگاه برخورد کند، بلوک ضربه خورده از پناهگاه از بین رفته و به تدریج با از بین رفتن پناهگاه‌ها بازیکن دیگر جایی برای پنهان شدن ندارد. سرعت حرکت مهاجمین با هر بار حرکت به سمت پایین صفحه بیشتر می‌شود. همزمان، صدایی دو تُنه نیز که نشان دهنده حرکت مهاجمین است، پخش می‌شود. بازیکن برای نجات خود باید مهاجمین را سریع از بین ببرد. با از بین رفتن هرکدام از مهاجمین، 10 واحد به مجموع امتیازهای بازیکن اضافه می‌شود. با از بین رفتن تمام مهاجمین، بازیکن برنده می‌شود. در صورتی که تعداد جان‌های بازیکن صفر شده یا مهاجمین به پایین صفحه برسند، بازیکن بازنده بازی می‌شود.

بازی‌هایی که برای این کتاب توسط سو اسمیت (Sue Smith) و جان هورتون (John Horton) انتخاب شده‌اند، را به طور مستقل از یکدیگر می‌توانید کدنویسی کرده و بسازید. سه بازی از چهار بازی دارای Layout پویا بوده و یکی از آن‌ها (بازی Hangman) دارای Layout ایستا است.

فهرست مطالب
مقدمه
فصل اول: بازی Breakout
توضیح بازی
ایجاد پروژه
تنظیم کردن بازی به صورت تمام صفحه و به حالت landscape
به دست آوردن رزولوشن صفحه دستگاه
ایجاد کلاس Paddle (راکت بازیکن)
استفاده از کلاس Paddle
تشخیص ورودی و حرکت دادن راکت
ایجاد توپ
استفاده از یک شیء از کلاس Ball
ایجاد کلاس Brick
ترسیم کردن آجرها
پخش صدا و اضافه کردن امتیاز به بازی
تشخیص برخورد
فصل دوم: بازی Hangman
توضیح بازی
ایجاد پروژه
طراحی رابط کاربری بازی
موقعیت دهی بخش های بدن آدمک
ذخیره کردن کلمات موردنظر
انتخاب تصادفی یک کلمه و در نظر گرفته شدن آن برای بازی
ایجاد دکمه هایی از حروف الفبا
ایجاد کلاس آداپتر
آماده سازی رابط کاربری
پاسخگویی به کلیک کردن های بازیکن
بررسی برنده یا بازنده شدن بازیکن
فصل سوم: بازی Snake
توضیح بازی
ایجاد بازی
تنظیم کردن بازی به صورت تمام صفحه و به حالت landscape
اضافه کردن صداهای بازی به پروژه
کدنویسی SnakeEngine
اداره کردن لمس های صفحه (ورودی بازیکن)
فصل چهارم: بازی SpaceInvaders
توضیح بازی
ایجاد پروژه
تنظیم کردن بازی به صورت تمام صفحه و به حالت landscape
گرافیک های بازی
صداهای بازی
کلاس های پروژه
کدنویسی کلاس MainActivity
کلاس SpaceInvadersView
متدهای ()pause() ،resume و ()onTouchEvent
کلاس PlayerShip
متدهای getter و setter کلاس PlayerShip
کلاس Bullet
متدهای getter و setter کلاس Bullet
کنترل سفینه توسط بازیکن
کلاس Invader
متدهای getter و setter کلاس Invader
ایجاد، "به هنگام" سازی و ترسیم مهاجمین
ترسیم مهاجمین
زمان بندی انیمیشن مهاجمین و صدای مربوطه
کلاس DefenceBrick
متدهای getter و setter مربوط به کلاس DefenceBrick
ترسیم پناهگاه ها
تشخیص برخورد

مطالب مرتبط

تگ‌ها

مطالب پربیننده

پربیننده
آخرین مطالب

عضویت در خبرنامه