Saya agak ketinggalan demo-demo lama yang menunjukkan kemampuan komputer ketika mereka dipanggil x86 bukan i3, i5 dan i7. Salah satu yang pertama saya tonton di 386 saya adalah demo Unreal dari Future Crew yang sekarang merayakan ulang tahun ke 25. Pada menit 0:43 bagian pertama dari demo dimulai dan kami melihat teks bergulir mengikuti jalur sinusoidal. Mari kita coba meniru efek itu dalam seni ASCII!
Tantangan
Diberikan jalur ini:
*** ***
*** ***
** **
* *
* *
* *
* *
** **
*** ***
******
dan teks input, gambar teks mengikuti jalur itu, seperti ini:
Thi Golf!
s i de Yay
s Co !
P
r d
o n
g a
ra s
mmi zle
ng Puz
Perhatikan bahwa spasi dihitung sebagai karakter di jalur, dan bahwa jalur berulang dengan sendirinya jika teks lebih panjang dari sampel.
Bagian animasi
Setelah Anda menggambar teks, tunggu 100 ms (untuk membuat animasi sekitar 10 fps) dan gambar lagi tetapi mulai dari posisi jalan selanjutnya. Jadi, untuk bingkai #n
, hitung n modulo 40
dan mulailah menggambar di posisi jalur berikut dengan teks selalu sejajar di sebelah kiri kanvas:
*** ***
| *** *** |
| ** ** |
| * * |
| * * |
| * * |
| * * |
| ** ** |
| *** *** |
| ****** |
Position 0 Position 39
Jadi untuk frame 10 kita akan memiliki:
and Co
es de
zl Go
z l
u f
T P !
h
is ng Ya
is mmi y!
Progra
Catatan
- Input akan berupa satu
string
(atauchar
larik, apa pun) dengan teks untuk menghidupkan, dan akan selalu memiliki setidaknya 1 karakter. - Karakter yang valid untuk menghidupkan adalah karakter dalam set ASCII yang dapat dicetak .
- Jalan untuk mengikuti akan persis seperti yang diberikan.
- Teks akan selalu disejajarkan ke kiri kanvas, sehingga efeknya akan berupa teks yang melambai seperti bendera, tanpa perpindahan teks. Dan dengan kanvas yang saya maksud adalah layar atau apa pun yang akan Anda gunakan untuk menampilkan teks . ;-)
- Bingkai harus bersih dari karakter / piksel dari bingkai sebelumnya kecuali karakter / pikselnya sama di kedua bingkai.
- Kecepatan animasi tidak masalah asalkan berjalan dengan lancar atau secepat perangkat Anda (kami dapat mengatur minimal 5 fps, tetapi ini bukan keharusan). Cukup sesuaikan kecepatan untuk membuatnya lancar dan jangan khawatir jika waktu tunggu tidak persis sama.
- Animasi akan berulang tanpa henti.
Ini adalah kode-golf , jadi semoga program atau fungsi terpendek yang mampu menggerakkan teks akan menang!