در این بخش از پروژه، فرض کنید یک بازیکن داریم که تنهایی منچ بازی میکند. بهطور دقیقتر، این بازیکن رنگ «قرمز» را انتخاب میکند؛ ۴ مهره قرمز، در ۴ خانهی گوشه بالا سمت راست، قرار میدهد. این چهار مهره را با رشتههای R1
، R2
، R3
و R4
نشان میدهیم.
این بازیکن درخواست دارد. هر درخواست در یک سطر ورودی داده میشود.
این درخواست یعنی بازیکن قرمز میخواهد تاس بیاندازد.
این درخواست یعنی بازیکن قرمز، میخواهد تاس بیاندازد.
اگر عدد ظاهر شده از پرتابهای قبلی وجود دارد که هنوز حرکت متناسبی برای آن انجام نشده، پیام invalid dice rolling
را در یک سطر چاپ کنید.
در غیر این صورت با استفاده از تابع get_dice
که در بخش قبلی پیادهسازی شده، یک عدد دریافت کنید. اگر عدد ۶ ظاهر شد، این عدد را جزو اعداد ظاهر شده در نظر بگیرید و مجدداً تاس بیاندازید. این کار را آنقدر تکرار میکنیم که دیگر ۶ ظاهر نشود.
تضمین میشود که فرآیند پرتاب تاس، پایان پذیر باشد. از شما میخواهیم تمام اعداد ظاهر شده را در یک سطر، با یک فاصله از هم، چاپ کنید.
برای بهتر متوجه شدن این درخواست، مثالهای نمونه را بررسی کنید.
این درخواست یعنی بازیکن قرمز، میخواهد مهرهی را وارد بازی کند.
تضمین میشود m
یکی از مقدارهای R1
، R2
، R3
یا R4
باشد.
that is in
را در یک سطر چاپ کنید.you need six
را در یک سطر چاپ کنید.busy starting cell
را در یک سطر چاپ کنید.اگر چند مورد از شرایط بالا برقرار بود، موردی که زودتر بیان شد را در نظر بگیرید و پیام آن را چاپ کنید.
در صورتی که هیچکدام از حالتهای بالا اتفاق نیافتد، یکی از ۶های ظاهر شده در پرتاب تاس را حذف کنید و مهرهی را وارد خانه اولیه قرمز (خانه ۱) کنید و شمارهی خانهای که مهره وارد آن شده را در یک سطر چاپ کنید.
برای بهتر متوجه شدن این درخواست، مثالهای نمونه را بررسی کنید.
این درخواست یعنی بازیکن قرمز میخواهد مهرههای خود را واحد حرکت دهد.
تضمین میشود m
یکی از مقدارهای R1
، R2
، R3
یا R4
باشد. همجنین تضمین میشود s
یکی از اعداد تا باشد.
invalid move
را در یک سطر چاپ کنید.it is not in
را در یک سطر چاپ کنید.you can not move
را در یک سطر چاپ کنید.destination is busy
را در یک سطر چاپ کنید.اگر چند مورد از شرایط بالا برقرار بود، موردی که زودتر بیان شد را در نظر بگیرید و پیام آن را چاپ کنید.
در صورتی که هیچکدام از حالتهای بالا اتفاق نیافتد، یکی از های ظاهر شده در پرتاب تاس را حذف کنید و مهرهی را واحد به جلو ببرید و شمارهی خانهای که مهره وارد آن شده را چاپ کنید.
برای بهتر متوجه شدن این درخواست، مثالهای نمونه را بررسی کنید.
این درخواست یعنی بازیکن میخواهد از همهی اعداد ظاهر شده توسط تاس صرف نظر کند و هیچ حرکتی بهازای این اعداد انجام ندهد.
این درخواست باید باعث لغو شدن همهی پرتابهای تاسی شود که تا کنون انجام شده است.
برای بهتر متوجه شدن این درخواست، مثالهای نمونه را بررسی کنید.
در سطر اول ورودی، بهترتیب سه عدد اول ، و داده میشود.
در سطر دوم ورودی، عدد صحیح و مثبت داده میشود.
در سطر بعدی، در هر سطر، یکی از چهار درخواست که توضیح آن در متن سوال آمده میآید.
خروجی متناسب با هر درخواست را در یک سطر جداگانه چاپ کنید.