در این بخش میخواهیم بازی را برای چهار بازیکن پیادهسازی کنیم.
مهرههای بازیکن «قرمز» R1
، R2
، R3
و R4
هستند که در ابتدا به ترتیب در خانههای ، ، و قرار دارند. خانهی شروع برای «قرمز» است. هدف بازیکن قرمز این است که این ۴ مهره را (به هر ترتیبی) بهخانههای ، ، و ببرد.
مهرههای بازیکن «آبی» B1
، B2
، B3
و B4
هستند که در ابتدا به ترتیب در خانههای ، ، و قرار دارند. خانهی شروع برای «آبی» است. هدف بازیکن قرمز این است که این ۴ مهره را (به هر ترتیبی) بهخانههای ، ، و ببرد.
مهرههای بازیکن «سبز» G1
، G2
، G3
و G4
هستند که در ابتدا به ترتیب در خانههای ، ، و قرار دارند. خانهی شروع برای «سبز» است. هدف بازیکن قرمز این است که این ۴ مهره را (به هر ترتیبی) بهخانههای ، ، و ببرد.
مهرههای بازیکن «زرد» Y1
، Y2
، Y3
و Y4
هستند که در ابتدا به ترتیب در خانههای ، ، و قرار دارند. خانهی شروع برای «قرمز» است. هدف بازیکن قرمز این است که این ۴ مهره را (به هر ترتیبی) بهخانههای ، ، و ببرد.
نکاتی که باید در این حالت در نظر بگیریم.
نوبتها به ترتیب برای رنگهای «قرمز»، «آبی»، «سبز» و «زرد» است و بعد از یک دور گردش نوبتها، مجدداً به همین ترتیب نوبت آنها میشود. این روند تا آخر ادامه دارد.
هر بازیکن در نوبت خودش، باید یکبار تاس را با موفقیت بریزد. (توجه کنید اگر ۶ ظاهر شود بهصورت خودکار باید روند تاس ریختن ادامه یابد.)
سپس باید با سه درخواست «ورود مهره»، «حرکت مهره» و «رها کردن» همهی حرکات تاسی که انداخته را تمام کند.
توجه کنید زمانی که کار با ارسال پیام تمام شود، یعنی عملیات با موفقیت انجام نشده، پس نوبتها نیز تغییری نمیکنند.
اگر نوبت یک رنگ باشد هر درخواستی که بخواهد باعث تغییر در وضعیت مهرههای دیگر ایجاد کند باید با پیام it is not your turn
را چاپ کنید.
اکنون که چند مهره وجود دارد، ممکن است حرکت یک مهره به خانهای باشد که مهرهای از رنگ دیگر وجود دارد. در این صورت شما باید مهرهای که در آن خانه قرار دارد را از آن نقطه بردارید و به اولین (کم شماره ترین) خانهی گوشهای مربوط به آن رنگ ببرید.
در خواستها همان حالتهای بخش قبلی را دارند ولی حالتهای مهره () میتواند هر کدام از ۱۶ رشتهی بالا باشد.
در سطر اول ورودی، بهترتیب سه عدد اول ، و داده میشود.
در سطر دوم ورودی، عدد صحیح و مثبت داده میشود.
در سطر بعدی، در هر سطر، یکی از چهار درخواست که توضیح آن در متن سوال آمده میآید.
خروجی متناسب با هر درخواست را در یک سطر جداگانه چاپ کنید.