Галявина визначається як прямокутне поле з одним символом, оточене двома шарами видимого пробілу. Це означає, що два рядки вгорі та дві лінії внизу, і ліворуч прокладки зліва (справа має видимий пробіл, тому не потрібно включати його).
|||||
|||||
|||||
Косина галявина має подібну будову, за винятком того, що головний герой - це скорочена версія першого персонажа.
.....
.....
.....
Косарка - це два різних символи, що відрізняються від двох символів газону. Ось приклад =
як із задньої частини косарки, o
так і спереду:
=o
Косарка буде рухатися навколо газону вертикально, а також може обертатися на передній частині. Наведена вище косарка може виглядати як будь-яка з наведених нижче під час певної анімації:
=o
o=
o
=
=
o
Газонокосарка може заводитися на будь-якому наборі нижче розташованих на газоні нижче. Косарки з o
би їхали навколо газону за годинниковою стрілкою. Косарки з 0
би їхали навколо газону проти годинникової стрілки.
= =
0 o
=o|||||0=
|||||
=0|||||o=
o 0
= =
Анімація починається з другої 0. Кожну секунду косарка рухається вперед на один простір, і стриже траву на передній частині. Коли косарка очищує пляму, вона видається порізаною. Коли передня косарка досягає останнього необрізаного елемента на лінії (а трава все ще залишається), назад косарка повертається один раз, щоб продовжувати поточну косилку (залишаючись за годинниковою / проти годинникової стрілки за вихідним положенням) Коли косарка закінчена, вона продовжується прямо (косить вже обрізану траву) до повного виходу з газону.
Коли косарка починається зліва вгорі, це показує основний прогрес для газону 5х3:
Second 0 Second 1 Second 2 Second 3 Second 4 Second 5 Second 6 Second 7 Second 8 Second 9 Second 10 Second 11 Second 12 Second 13 Second 14 Second 15 Second 16 Second 17 Second 18 Second 19 Second 20 Second 21 Second 22
=
=o||||| =o|||| =o||| .=o|| ..=o| ...=o ....o ....= ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .....
||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||o ||||= ||||. ||||. ||||. ||||. ||||. ||||. o|||. =o|||. =o||. .=o|. ..=o. ...=o ....=o .....=o
||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||o ||||o= |||o= ||o=. |o=.. o=... o.... =.... ..... ..... ..... ..... ..... ..... .....
=
Вхідні дані
Вашим входом будуть розміри газону (два цілих числа).
Вихідні дані
Роздрукуйте газон та косарку у вибраному вами місці. Ви можете обрати чотири символи для трави, скошеної трави, передньої косарки та задньої косарки. Вам потрібно лише достатньо пробілів, щоб показати вміст поточної секунди у специфікаціях, але додатковий пробіл повністю дозволений, якщо він виглядає однаково.
Оскільки це анімація , ви можете або очистити висновок щосекунди, або надрукувати достатньо нових рядків, щоб з'явитись для анімації в кадрі перегляду (ви можете припустити, що рамка перегляду - це розмір, необхідний для анімації).
Допускається послідовний інтервал часу, який не є однією секундою (тобто 999 мільйонів, щоб зберегти байт, або дві секунди з якихось причин), але він повинен бути таким, щоб газонокосарка все-таки рухалася природним шляхом.
Якщо можливо, надайте наочне зображення (TIO, Snippet, GIF тощо)
Це код-гольф , тому найкоротша відповідь у байтах виграє.