Arka fon
İşte Cadılar Bayramı ile ilgili bir meydan okuma.
Son meydan okumamdan da görmüş olabileceğiniz gibi, ascii sanat animasyonları olarak adlandırdıklarımdan çok hoşlanıyorum, bu sadece bir desen değil, ilerleyen bir desen çiziyor. Bu fikir bana birkaç yıl önce Cadılar Bayramı'ndaki ekran boyunca rastgele ascii yarasalar uçurarak (oldukça sıkıcı) bir sunumu canlandırmam istendi. Uygun bir şekilde mecbur olduğumu söylememe gerek yok (bunun için para alınıyordum) ama bu bana rastgele yarasalardan daha çok yaşam olduğunu düşündürdü. Bundan ilham alarak bu zorluğu teklif etmek istiyorum.
Meydan okuma
Ayın etrafında bir yarasa uçurun.
İşte bir yarasa:
^o^
İşte ay:
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
Yarasalar uçuşunun her aşamasını göstermelisiniz (çıktıya bakınız).
Giriş
Yok
Çıktı
^o^
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
mmm^o^
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
mmm
mmmmmmm^o^
mmmmmmmmm
mmmmmmm
mmm
mmm
mmmmmmm
mmmmmmmmm^o^
mmmmmmm
mmm
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm^o^
mmm
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm^o^
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
^o^
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
^o^mmm
mmm
mmmmmmm
mmmmmmmmm
^o^mmmmmmm
mmm
mmm
mmmmmmm
^o^mmmmmmmmm
mmmmmmm
mmm
mmm
^o^mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
^o^mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
^o^
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
kurallar
- Harici dosyalardan veya web sitelerinden okuma yok
- Tam bir program veya bir işlev gönderebilirsiniz
- Ekstra boşluklar ve / veya yeni satırlar bana göre iyi durumda
- Standart boşluklar her zamanki gibi yasaklandı
- Yarasa ayın tepesinde bitmeli
- Lütfen bu bir gereklilik değilse, isterseniz çerçeveler arasındaki ekranı temizlemek için çekinmeyin. Yukarıda gösterildiği gibi çıktı iyi
- Bu kod golf olduğu için, kazanan her ne kadar açık olsa da, en düşük bayt sayısına sahip cevap olacaktır.
Numune
Tamamen ungolfed Python 2'de referans uygulaması (620 bayt, ancak bunun yapılabileceğini kanıtlamak için. Daha sonra golf oynayabilir).
b='^o^'
m=[' ',
' mmm ',
' mmmmmmm ',
' mmmmmmmmm ',
' mmmmmmm ',
' mmm ',
' ']
p=[(9,12),(12,15),(14,17),(15,18),(14,17),(12,15),(9,12),(6,9),(4,7),(3,6),(4,7),(6,9),(9,12)]
d=0
for z in range(7):
x=map(str,m[z])
c="".join(x[:p[z][0]]) + b + "".join(x[p[z][1]:])+"\n"
print "\n".join(m[:z]) + "\n" + c+"\n".join(m[z+1:])
for z in range(6)[::-1]:
x=map(str,m[z])
c="".join(x[:p[z+6][0]]) + b + "".join(x[p[z+6][1]:])+"\n"
print "\n".join(m[:z]) + "\n" + c+"\n".join(m[z+1:])
Sonuç
Her ne kadar @Jonathan, Jelly ile bayt sayımında açıkça kazansa da, @Oyarsa'dan Brainfuck'ın cevabını sadece kabul edilen cevap olarak işaretleyeceğim çünkü bunun gibi çılgın bir dilde gerçekten böyle bir şey yapabilecek birinin +15 rep almayı hak ettiğini düşünüyorum kaç bayt alır. Bunun sebebi golf dilleriyle ilgili herhangi bir sorunum olmadığı için değil. Bu ilgili soruya cevabım bakın meta Eğer herhangi bir şüpheniz varsa. Herhangi bir dilde katkıda bulunan herkese çok teşekkürler ve saygı duyuyorum.