Sebagian besar dari Anda mungkin pernah mendengar tentang program Turtle Graphics yang terkenal, yang pada awalnya dipopulerkan oleh Logo. Tantangan ini adalah untuk mengimplementasikan program Turtle Graphics dalam bahasa pilihan Anda.
Aturan:
Lantai harus diagonal dengan dimensi input oleh pengguna melalui std-in dalam bentuk , masing-masing
x/y
mewakilix
dany
panjang.x
mungkin tidak lebih dari 20 dany
mungkin tidak lebih dari 45,Ketika pena berada dalam kondisi down, ia harus menggambar persegi (koordinat x / y) yang ditinggalkan kura-kura dan persegi yang dimasukkan kura-kura. Inilah yang akan terjadi dalam kehidupan nyata, jadi itulah yang harus dilakukan oleh program Anda.
Posisi awal dan arah kura-kura harus masukan oleh pengguna dalam bentuk
x,y,d
, di manax
dany
adalah posisi di x dan y-axis, masing-masing, dand
adalah arah, dimasukkan sebagaiU
,D
,R
, atauL
(atas, bawah, kanan , dan kiri, masing-masing).Anda harus menghentikan penyu dan menampilkan pesan kesalahan jika penyu menabrak dinding. Dengan kata lain, kura-kura tidak bisa berjalan menembus tembok.
Penyu harus memasukkan perintah-perintah ini:
RESET - Reset papan ke kosong - kura-kura kembali ke posisi awal dan arah.
GAMBAR dan HAPUS - Perintah-perintah ini mengatur kura-kura untuk menggambar dan menghapus, masing-masing.
ATAS dan BAWAH - Kedua perintah ini mengatur posisi alat aktif (pena atau penghapus) ke atas dan ke bawah.
ARAH x - Perintah ini mengubah kura-kura ke arah Utara, Timur Laut, Timur, Tenggara, Selatan, Barat Daya, atau Barat Laut, diwakili sebagai angka 1-8, dengan Utara (atas) menjadi 1, Timur Laut menjadi 2, Timur Laut menjadi 2 ...
FORWARD xx - Uang muka kotak penyu xx; MAJU 15 maju penyu 15 kotak. Jika kura-kura menghadap N, E, S, dari W, ia akan menarik
x
kotak hanya ke arah itu. Jika kura-kura menghadap NE, NW, SE, atau SW, ia akan menarikx
kotak di kedua arah; yaitu di FORWARD 1 sambil menghadap NE, itu akan menggambar ini:X X
DISPLAY - Menampilkan papan, gunakan
X
untuk kotak diisi (koordinat x / y) dan ruangkosong untuk kotak kosong.
POSISI - Mencetak koordinat x / y kura-kura di papan tulis.
SETPOS xyd - Mengatur kura-kura ke arah menghadap koordinat x / y
d
, menggunakan notasi yang sama dengan perintah DIRECTION.STOP - Menampilkan papan, dan menghentikan program setelah pengguna memasukkan karakter
~
.
Contoh perintah:
ARAH 2 MAJU 1 ARAH 4 MAJU 1:
X X X
ARAH 2 MAJU 1 ARAH 4 MAJU 4:
X X X X X
ARAH 3 MAJU 5:
XXXXX
Program ini akan menggunakan aturan penilaian skor atom-kode-golf standar untuk mencoba memungkinkan bahasa pemrograman non-esoterik, seperti Java dan C ++, untuk bersaing.
Versi 1 ada di sini . Itu tidak memerlukan input pengguna ukuran papan dan titik awal penyu, juga tidak membutuhkan gerakan diagonal.
sumber