تمرین ساده پایتون 2431

برای این درخواست 2   پیشنهاد توسط فریلنسرهای سایت ارسال شده است.
اگر شما هم نیازمند چنین پروژه ای هستید کافی است عضو شوید و درخواست دهید.


در پارسکدرز کارفرمایان سفارش پروژه می دهند تا توسط متخصصین عضو با قیمتی رقابتی انجام شود.


قیمت توافق شده: 140,000 تومان

شرح پروژه:

سلام

جزئیات🔗

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

در ابتدای بازی مهره شاه سفید در خانه (-10 , -10)(−10,−10) و شاه سیاه در خانه (10 , 10)(10,10) قرار دارد. و سربازی درون بازی وجود ندارد.

نحوه‌ی پیروزی در این بازی به وسیله‌ی مات کردن حریف انجام می‌شود. مات کردن به این معنی‌ست که حداقل یکی از مهره‌های ما(به جز مهره‌ی شاه) در یکی از خانه‌های همسایه‌‌ی راسی(هشت خانه‌ی دور خانه‌ی مورد نظر) خانه‌ی شاه حریف باشد.

برای پیاده‌سازی باید از دو کلاس Piece و Board استفاده کنید که جزئیات آن را مشاهده می‌کنید:

کلاس Piece

هر عضو این کلاس دارای سه ویژگی (Attribute) است که در تابع ــinitــ مقداردهی اولیه می‌شود و به ازای هر شی مقدار آن فرق دارد:

۱. sort: که نشان دهنده‌ی نوع مهره‌ی مورد نظر می‌باشد. این مقدار یا "K" به معنای شاه و یا "P" به معنای سرباز است.

۲. color: که نشان دهنده‌ی رنگ مهره‌ی مورد نظر می‌باشد. این مقدار یا "black" به معنای رنگ سیاه و یا "white" به معنای رنگ سفید است.

۳. position: که نشان دهنده‌ی جایگاه مهره‌ی مورد نظر در صفحه می‌باشد به طور مثال این ویژگی برای مهره‌ی شاه سفید رنگ (-10 , -10)(−10,−10) می‌باشد. نوع این متغیر tuple است.

کلاس ‌Board

هر عضو این کلاس دارای یک ویژگی (Attribute) است که در تابع ــinitــ مقداردهی اولیه می‌شود و به ازای هر شی مقدار آن فرق دارد:

position: که به صورت یک دیکشنری می‌باشد که قسمت Key در این دیکشنری به تمامی position های اشغال شده در صفحه تعلق دارد و قسمت Value برای هر position یک عنصر از کلاس Piece می‌باشد که در آن position جای گرفته است. توجه کنید که شما باید در تابع _init_ این کلاس شاه سفید و سیاه را با شرایطی که در بالا گفته شد به دیکشنری اضافه کنید.

این کلاس دارای چهار متد زیر می‌باشد:

۱. add: این متد به عنوان ورودی یک عنصر از کلاس Piece را می‌گیرد و آن را به صفحه اضافه می‌کند. توجه کنید که تنها باید یک شاه از هر رنگ در صفحه وجود داشته باشد و در ‌Position مهره‌ای که به صفحه اضافه می‌کنیم نباید مهره‌ای وجود داشته باشد. اگر ورودی این متد در تناقض با این توضیحات بود متد باید عبارت "invalid query" را چاپ کند.

۲. remove: این متد به عنوان ورودی یک position دریافت می‌کند و اگر در آن position مهره‌ای وجود داشت آن مهره را از صفحه پاک می‌کند. توجه کنید که حتما از هر رنگ دقیقا یک شاه باید درون صفحه‌ی بازی قرار داشته باشد. اگر ورودی این متد در تناقض با این توضیحات بود و یا در position ورودی مهره‌ای وجود نداشت متد باید عبارت "invalid query" را چاپ کند.

۳. move: این متد به عنوان ورودی یک شی از نوع Piece و یک Position که نشان‌دهنده جایگاه جدیدی است که این مهره در آن باید قرار بگیرد، دریافت می‌کند. در صورتی که در جایگاه فعلی این مهره در صفحه، همین مهره وجود داشته باشد و جایگاه جدید نیز خالی از مهره باشد، این مهره را به آن جایگاه منتقل می‌کنیم. اگر در جایگاه فعلی این مهره در صفحه همین مهره وجود داشته باشد و جایگاه جدید یکی از مهره‌های سرباز حریف باشد، این مهره به آن جایگاه انتقال می‌یابد و مهره‌ی حریف از صفحه حذف می‌شود(چون حتما باید در هر لحظه از هر رنگ دقیقا یک مهره شاه وجود داشته باشد پس نمی‌تواند شاه حریف را مورد حمله قرار دهد). در غیر این صورت و یا اگر ورودی این متد در تناقض با این توضیحات بود متد باید عبارت "invalid query" را چاپ کند.

۴. is_mate: این متد به عنوان ورودی یک رنگ ( "white" و یا "black") را دریافت می‌کند و بررسی می‌کند که آیا مهره‌های رنگ مورد نظر در وضعیت مات قرار دارد یا خیر. اگر قرار دارد مقدار True و اگر خیر مقدار False را برگرداند


لیست پیشنهادهای فریلنسرها

Hassan_TSF

فریلنسر نقره‌ای

فریلنسر نقره‌ای

140,000 تومان

امتیاز 9.93 (ممتاز)ممتاز از 57 رای
پروژه موفق : 87
رتبه: 182
هجده روز پیش

کاربر136265

فریلنسر برنزی

فریلنسر برنزی

200,000 تومان

امتیاز 5.67 (بالای متوسط)بالای متوسط از 3 رای
پروژه موفق : 1
رتبه: 1487
بیست و نه روز پیش
+8500
+89385

پارسکدرز چی هست و چه کارهایی در اون انجام میشه؟

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

فعالیت به عنوان مجری یا فریلنسر

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

پارسکدرز با استفاده از سیستم مالی گروگذاری وجه امنیت مالی طرفین را تضمین می کند. این به این معنی است که شما پس از اطمینان از انجام صحیح پروژه حتما هزینه انجام کار را دریافت می کنید.

فعالیت به عنوان کارفرما یا خریدار

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

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