Burung Anda telah gatal untuk beberapa latihan dan muak terjebak dalam posisi statis sepanjang waktu. Tulis program yang akan menunjukkan burung ascii yang menari secara acak, memperbarui setiap 100ms * n atau 200ms * n tergantung pada gerakan dansa. Burung itu selalu dimulai dengan gerakan tarian <(")>
.
Program harus menerima satu input yang merupakan angka untuk mengalikan interval tidur dengan ( n >= 0 && n <= 50
).
100 ms Bergerak
^(")v
v(")^
^(")^
v(")v
200 ms Bergerak
(>")>
<(")>
<("<)
Detail Ekstra
- Keacakan tidak harus seragam tetapi setiap gerakan tarian harus memiliki kesempatan yang wajar untuk terjadi (setidaknya 1 dari 60 terlihat adil, tidak apa-apa jika gerakan yang sama terjadi dua kali berturut-turut)
- Seharusnya hanya ada satu burung ditampilkan pada satu waktu, bukan banyak burung
- Trailing whitespace diizinkan (tetapi karakter trailing lainnya tidak)
- Seekor burung harus ditampilkan sebelum tidur
Contoh dalam Python 3
import random, time, sys
birds = """(>")>
<(")>
<("<)
^(")v
v(")^
^(")^
v(")v"""
birds = birds.split()
interval = int(input("Sleep for 100ms*"))
selection = -1
while True:
if selection == -1:
selection = 1
else:
selection = random.randint(0, len(birds)-1)
sys.stdout.write('\r'+birds[selection])
if selection > 2:
time.sleep(0.1*interval)
else:
time.sleep(0.2*interval)
Kemenangan
- Ini adalah kode-golf sehingga byte paling tidak menang!