صفحه بازی و مهرهها
وضعیت صفحه در یک آرایه دوبعدی نگهداری میشود و هر قطعه نیز در یک ماتریس کوچک ۴ در ۴ نمایش داده میشود. این روش برای فهمیدن برخوردها، حرکت قطعات و رسم خانههای پرشده ساده و قابل دنبال کردن است.
این پروژه یک نسخه ویندوزی از بازی Tetris است که با Delphi و VCL نوشته شده و چند بخش اصلی یک بازی دوبعدی ساده را کنار هم میآورد: صفحه بازی، تولید قطعه، حرکت و چرخش مهرهها، برخورد با دیواره و قطعات قبلی، حذف خط، امتیازدهی، افزایش سطح بازی و ثبت رکوردها.
پروژه از نظر ظاهری ساده است، اما برای یادگیری ساخت بازیهای کوچک در محیط ویندوز نمونهی خوبی محسوب میشود؛ چون بسیاری از منطقهای اصلی بازی بهصورت مستقیم در کد پیادهسازی شدهاند و پشت موتور بازی یا فریمورک آماده پنهان نشدهاند.
بسته دانلودی شامل سورس Delphi، فایل اجرایی آماده تست، resourceهای صوتی و فایلهای لازم برای build است.
بازی با قطعات آشنای تتریس کار میکند؛ قطعهها از بالای صفحه وارد میشوند، با کلیدهای جهتنما حرکت میکنند و با پر شدن یک ردیف کامل، آن ردیف حذف میشود.
وضعیت صفحه در یک آرایه دوبعدی نگهداری میشود و هر قطعه نیز در یک ماتریس کوچک ۴ در ۴ نمایش داده میشود. این روش برای فهمیدن برخوردها، حرکت قطعات و رسم خانههای پرشده ساده و قابل دنبال کردن است.
حرکت به چپ، راست و پایین با بررسی دیوارهها و خانههای اشغالشده انجام میشود. چرخش قطعه هم قبل از اعمال شدن اعتبارسنجی میشود تا قطعه از صفحه بیرون نزند یا روی قطعات دیگر نیفتد.
برنامه تعداد خطهای حذفشده، امتیاز و سطح بازی را نمایش میدهد. رکوردها نیز در بخش High Scores نگهداری میشوند تا بازی فقط یک اجرای موقت نباشد و نتیجههای بهتر قابل ثبت باشند.
این پروژه برای کسی که با Delphi و برنامهنویسی رویدادمحور ویندوز آشنا میشود، چند نکته عملی دارد:
TTimer برای پایین آمدن تدریجی قطعاتTImageListارزش این پروژه در این است که منطق بازی در کد قابل مشاهده است. بهجای اینکه فقط خروجی نهایی دیده شود، میشود مسیر تصمیمگیری برنامه را دنبال کرد: قطعه چطور ساخته میشود، چرا یک حرکت مجاز یا غیرمجاز است، چه زمانی قطعه روی صفحه ثابت میشود و بعد از حذف خط، امتیاز و سطح بازی چطور تغییر میکنند.
به همین دلیل این نمونه میتواند برای تمرین Delphi، کار با آرایهها، رویدادهای صفحهکلید، رسم گرافیکی ساده و ساخت بازیهای کوچک ویندوزی مفید باشد.
بسته نهایی پروژه آماده است و شامل سورس Delphi، فرمها، فایل اجرایی تستشده، تصویرها، resourceهای صوتی و فایلهای پروژه برای Delphi 7 و نسخههای جدیدتر است.