سلام داشتم تو یوتیوب گشت میزدم که یه آموزش عالی درباره ی پایتون دیدم و اونم ساختن بازی snake یا مار با زبان پایتون که هم شیوه ی تدریسشون عالی بود و هم نتیجه اش خیلی خوب بود خاستم یه مقاله براش بنویسم و هم اینکه لینکشو بزارم هرکس دوس داشت بره تماشا کنه
بازی مار نوکیا را همه میشناسیم دیگه یه بازی قدیمی که تو اون یه مار را هدایت میکنیم تا غذای موجود در صفحه رو بخوره و هر بار که مار غذا میخوره بزرگتر میشه و بازی سخت تر میشه
شاید تو نگاه اول کدنویسی این بازی پیچیده و سخت به نظر برسه ولی من با دیدن این کلیپ فهمیدم که با زبان پایتون چقدر راحت میشه این بازی را درست کرد و در انتهای مقاله کدهاشم میزارم استفاده کنید
برای ساختن بازی مار snake با پایتون از ماژول curses استفاده شده که برای ترسیم یک ویندوز در ترمینال استفاده میشه و شما میتونید یک صفحه ی دلخواه بسازید بصورت مکعبی و مار درون اون محیط شروع به بازی بکنه
اگر به دنبال یادگیری استفاده از لیست ها ، tuple ها و بقیه الگوریتم های پایه ای زبان پایتون هستید این ویدیو را از دست ندید و حتما این اموزش عالی را تماشا کنید
این بازی توی هفتاد خط کدنویسی شده که بسیاری از نکات زبان برنامه نویسی پایتون را به شما آموزش میده .
الگوریتم این بازی به این شکله که در ابتدا یک کادر با همراه لبه ها ( مرز ها ) ساخته میشه تا موقع برخورد مار به دیواره ها متوجه بشیم و بازیی را قطع کنیم
مار از سه تا کاراکتر پشت سرهم تشکیل شده که موقعیت مکانی اونا رو با یه لیست که سه عضو داره و هر عضو یک توپل هست مشخص کردیم و هر توپل دو عضو داره که مختصات x و y هر کدوم از کاراکتر های مار هست
مشخصه که در صورت حرکت افقی باید x اینا برابر باشه و y اینا هر سری یه واحد افزایش پیدا بکنه و وقتی که بصورت عمودی حرکت میکنه y اینا ثابت باشه و x اینا هر سری یه واحد کم یا زیاد بشه که اینا رو داخل یک حلقه ی while قرار میدیم تا هی تکرار بشه و ساخته بشه
پنج تا دکمه تعریف میشه چپ راست بالا پایین و دکمه خروج که Esc کیبورد هست
دکمه های چپ راست بالا پایین رو میبریم داخل while و تعریف میکنیم هر وقت کلید دیگه از این چهارتا زده شد جهت حرکت را عوض کن
توی همین while دو تا شرط نیاز داره یکی برای زمانی که مار به لبه های بازی برخورد میکنه و یکی برای زمانی که مار به مختصات دیگر قسمت های خودش برخورد میکنه
زمانی که این اتفاقات میوفته break میشه و از while میوفتیم بیرون
و بقیه الگوریتم که البته در این مقاله جا نمیشه و بهتره برید ویدیو رو کامل تماشا کنین
بازی مار یا اسنک در این الگوریتم ساده است ولی دارای امکانات زیر هست :
۱ امکان تشخیص محیط بازی و اتمام بازی موقع برخورد به لبه ها
۲ امکان تشخیص برخورد به خود مار و قطع بازی
۳ محاسبه امتیازات
۴ نمایش رندم غذای مار
۵ سرعت مار با قابلیت کاهش خودکار موقع بزرگ شدن مار
۶ بزرگ شدن مار هنگام خوردن طعمه
و ....
لینک ویدیو آموزش ساخت بازی مار با پایتون در یوتیوب
کدهای این بازی با زبان پایتون در گیتهاب :
https://github.com/nikzad-avasam/snake-by-python
لطفا از این ویدیو حمایت کنید چون عالی بود و مدرسش اقای نیکزاد واقعا به دنیای برنامه نویسی خدمت میکنه و چیز خوب باید معرفی بشه