میخواهیم یک بازی کیکپزی بسازیم که در آن یک کیک ساده با اندازۀ مشخص به بازیکن داده میشود و او باید با انجام دستورالعمل برنامهریزی شده، کیک نهایی را تحویل دهد.
کیک اولیه را که مستطیلی با ارتفاع height
و طول width
از هاست، با توجه به دستورالعمل میپزد و آن را چاپ میکند.
با اجرای دستور زیر:
کیک اولیه، به این شکل خواهد شد:
در ابتدای برنامه دستورالعمل خالی است. در نتیجه با اجرای فرمان پختن کیک، همان کیک اولیه خروجی داده میشود. با اجرای فرمانهای زیر میتوانیم به دستورالعمل، عملیات اضافه کنیم. حال اگر فرمان پخت کیک صادر شد، عملیاتهای افزوده شده به ترتیب روی کیک اولیه اجرا میشوند.
به بالا و طرفین آخرین طبقه کیک خامه (C
) اضافه و عبارت Done
را در خروجی چاپ میکند.
اگر کیک به این شکل باشد:
پس از انجام عملیات، به این شکل خواهد شد:
قسمتهایِ موردِ نظرِ آخرینِ طبقۀ کیک را به طعم مشخصشده آغشته و عبارت Done
را در خروجی چاپ میکند.
flavor
میتواند شکلات (K
)، توت فرنگی (S
) یا موز (B
) باشد.
where
میتواند بالا (TOP
) یا طرفین (SIDES
) باشد.
اگر کیک به این شکل باشد:
با اجرای دستور زیر:
به این شکل خواهد شد:
یک طبقه را با ابعاد کیک اولیه، بر روی کیک فعلی قرار میدهد و عبارت Done
را در خروجی چاپ میکند.
اگر کیک اولیه ارتفاع ۲ و طول ۴ داشته و کیک فعلی به شکل زیر باشد:
به این شکل خواهد شد:
با اجرای این دستور، برنامه پایان مییابد.
اگر کیک اولیه ارتفاع ۲ و طول ۳ داشته و کیک فعلی به شکل زیر باشد:
با اجرای ادامه دستوالعمل به شکل زیر ممکن است بشود:
در هر خط ورودی، یکی از دستوراتی که در بالا توضیح داده شد، میآید. برنامه با دستور END
خاتمه مییابد.
با توجه به توضیحات بالا، به ازای هر دستور، خروجی مورد نظر را چاپ کنید.