پروژه بازی سنگ ،کاغذ، قیچی با رزبری پای + کد پایتون

بازی سنگ، کاغذ، قیچی با رزبری پای

در این پروژه بازی معروف سنگ، کاغذ، قیچی را با رزبری پای و استفاده از زبان پایتون خواهیم ساخت. که میتوانید با کامپیوتر خود آنرا بازی کنید. همانطوریکه اغلب شما میدانید این بازی قوانین خاص خودش را دارد. هم شما و هم نفر مقابل (کامپیوتر!) میتوانید یکی از گزینه های سنگ، کاغذ یا قیچی را انتخاب کنید و برنده طبق قوانین زیر تعیین میشود:

سنگ قیچی را میشکند

قیچی کاغذ را می برد

و کاغذ سنگ را می پوشاند

 

برنامه ریزی نوبت کاربر

ابتدا باید کاری کنیم که کاربر بتواند سنگ، قیچی یا کاغذ را انتخاب کند. از آدرس   jumpto.cc/rps-go  برنامه­ آماده را باز کنید. برنامه از قبل حاوی کد وارد کردن تابعی است که میخواهیم در این پروژه استفاده کنیم.

تابع randit را در ادامه برای تولید اعداد تصادفی استفاده خواهیم کرد.حالا باید کدی بنویسیم که کاربر بتواند انتخاب خود را وارد کند. مثلا حرف r برای انتخاب سنگ، حرف s برای انتخاب قیچی و حرف p برای انتخاب کاغذ در نظر گرفته میشود.

 

در ادامه با وارد کردن دستور زیر میتوانید انتخاب کاربر را روی صفحه نمایش نشان دهید:

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

 

برنامه ریزی نوبت کامپیوتر

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

چندین بار پیاپی کد خود را اجرا کنید (هر بار کافیست r، p، یا s وارد کنید.) میبینیم که هر بار مقدار متغیر chosen به طور تصادفی یکی از عددهای ۱، ۲، و یا ۳ خواهد بود. فرض کنیم عدد ۱ به معنای سنگ (r) ، عدد ۲ به معنای کاغذ (p)، و عدد ۳ به معنای قیچی (s) باشد. با استفاده از دستور شرطی if میتوانیم بررسی کنیم که مقدار وارد شده توسط کاربر با عدد ۱ برابر است یا نه؟

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

بعد از ایجاد تو رفتگی مقدار متغیر computer را مساوی ‘r’ قرار دهید.

برای بررسی شرایط دیگر میتوانید از دستور elif (مختصر شده دستور else if) استفاده کنید:

شرط دوم زمانی بررسی خواهد شد که شرط اول برقرار نباشد (یعنی کامپیوتر عدد ۱ را انتخاب نکرده باشد.) به همین ترتیب شرط بعدی هم باید بررسی شود، یعنی اگر کامپیوتر عدد ۱ یا ۲ را انتخاب نکرده باشد حتما عدد انتخابی عدد ۳ بوده است. از آنجا که این حالت آخرین شرط است، از دستور else استفاده میکنیم.

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

برای حذف دستور print(chosen) هم میتوانید آنرا پاک کنید و هم میتوانید ابتدای آن علامت # بگذارید در اینصورت پایتون این خط را به عنوان کد در نظر نمیگیرد و آنرا اجرا نمیکند. برنامه را اجرا کرده و انتخاب خود را وارد کنید. خواهید دید که انتخاب کامپیوتر در خط جدیدی نمایش داده میشود. اگر بعد از vs عبارت end=‘  ‘ را بنویسید این مشکل حل خواهد شد.  این عبارت به پایتون میگوید که به جای خط جدید یک فاصله خروجی بعدی را روی صفحه نمایش چاپ کند.

نوبت آن رسیده است که برنده مشخص شود. برای این قسمت نیز باید کد پایتون بنویسیم.

 

بررسی نتایج

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

چندین بار کد را اجرا کنید تا به این حالت برخورد کنید و نتیجه را ببینید.

حالا بیایید شرایطی را بررسی کنیم که کاربر r را وارد کرده ولی کامپیوتر چیزی غیر از آن را انتخاب کرده است. حالتهای زیر را خواهیم داشت:

اگر انتخاب کامپیوتر s (قیچی) باشد، کاربر برنده میشود.

اگر انتخاب کامپیوتر p (کاغذ) باشد، کامپیوتر برنده میشود.

با استفاده از عملگر and میتوانیم انتخاب کاربر و کامپیوتر را مقایسه کنیم.

حال بیایید زمانی را بررسی کنیم که کاربر p را وارد کرده است:

پروژه بازی با رزبری پای پایتون

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

حالا کد را اجرا کنید و از بازی سنگ، کاغذ،‌ قیچی لذت ببرید!

 

هر سه شنبه با مقالات رزبری پای همراه توسکانیک باشید

منبع: https://projects.raspberrypi.org

 

کتاب راهنمای رسمی شروع کار با رزبری پای

 

آخرین مقالات

مقالات مرتبط