Rumput didefinisikan sebagai bidang persegi panjang dengan satu karakter yang dikelilingi oleh dua lapisan spasi putih yang terlihat . Ini berarti dua baris di atas dan dua baris di bawah, dan dua spasi di sebelah kiri (kanan memiliki spasi putih yang terlihat, jadi Anda tidak perlu memasukkannya).
|||||
|||||
|||||
Rumput yang dipangkas adalah struktur yang serupa, kecuali bahwa karakter utama adalah versi singkat dari karakter pertama.
.....
.....
.....
Mesin pemotong rumput adalah dua karakter yang berbeda, berbeda dari dua karakter halaman. Berikut ini sebuah contoh, dengan =
sebagai bagian belakang mesin pemotong rumput dan o
sebagai bagian depan:
=o
Mesin pemotong rumput akan bergerak di sekitar halaman secara vertikal, dan juga dapat memutar di bagian depannya. Mesin pemotong di atas mungkin terlihat seperti di bawah ini selama beberapa saat dalam animasi:
=o
o=
o
=
=
o
Mesin pemotong rumput dapat mulai pada setiap set posisi di bawah ini di halaman di bawah ini. Mesin pemotong rumput dengan o
akan berkeliling di sekitar halaman searah jarum jam. Mesin pemotong rumput dengan 0
akan berkeliling halaman berlawanan arah jarum jam.
= =
0 o
=o|||||0=
|||||
=0|||||o=
o 0
= =
Animasi dimulai pada detik ke 0. Setiap detik, mesin pemotong bergerak maju satu ruang, dan memotong rumput di bagian depannya. Ketika mesin pemotong mengosongkan suatu tempat, tampaknya dipotong. Ketika bagian depan mesin pemotong mencapai item yang belum dipotong pada suatu garis (dan masih ada potongan rumput), bagian mesin pemotong kembali berputar satu kali untuk melanjutkan memotong saat ini (tetap dalam arah jarum jam / berlawanan arah jarum jam berdasarkan posisi asli) Ketika mesin pemotong selesai, terus lurus (memotong rumput sudah memotong) sampai benar-benar keluar dari halaman.
Dengan mesin pemotong dimulai di kiri atas, ini menunjukkan perkembangan dasar untuk halaman 5x3:
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.... =.... ..... ..... ..... ..... ..... ..... .....
=
Memasukkan
Input Anda akan menjadi dimensi halaman (dua bilangan bulat).
Keluaran
Cetak halaman dan mesin pemotong rumput di posisi yang Anda pilih. Anda dapat memilih empat karakter untuk rumput, memotong rumput, depan mesin pemotong rumput, dan mesin pemotong rumput kembali. Anda hanya perlu ruang kosong yang cukup untuk menampilkan konten detik yang sekarang untuk spesifikasi, tetapi ruang putih tambahan sepenuhnya diizinkan, asalkan terlihat sama.
Karena ini adalah animasi , Anda dapat mengosongkan output setiap detik, atau mencetak cukup baris baru agar tampak beranimasi dalam bingkai tampilan (Anda dapat mengasumsikan bingkai tampilan adalah ukuran yang diperlukan untuk tampak beranimasi).
Interval waktu yang konsisten selain dari satu detik diperbolehkan (yaitu 999 milid untuk menghemat satu byte, atau dua detik untuk beberapa alasan), tetapi harus sedemikian rupa sehingga mesin pemotong rumput tampaknya masih bergerak secara alami.
Jika memungkinkan, berikan visual (TIO, Cuplikan, GIF, dll.)
Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.