Günün geri kalanında, 1337 çocuğun tümü sohbet odalarında metin fader'ları kullandı. Seni bilmiyorum arkadaşlar, ama onlar gibi serin hissetmek istiyorum. Tek sorun, eski komut dosyalarının ve uygulamalarının yapıldığı yazılıma büyük ölçüde bağlı olması, bu yüzden istediğim yerde bu inanılmaz işlevselliği kullanamıyorum. Ayrıca çözümün kolayca taşınabilir olmasını istiyorum, böylece kodu disketime uyacak şekilde olabildiğince küçük hale getirmeniz gerekecek (sadece bir disket taşımak istiyorum ama kaynak kodunuz çok büyükse) Birden fazla taşıyabilirim : P ).
Giriş
- Renklerin listesi (rgb, hex, adlar, vb.)
- Biçimlendirilecek metin
Programınız renk listesinin en az 2 renk içermesini beklemelidir.
Biçimlendirilecek metin sıfırdan büyük herhangi bir uzunluk olabilir ve karakterler yazdırılabilir ASCII ile sınırlı olacaktır. (İpucu: Daha uzun metin girişleri, ara renkleri ardışık karakterler için yeniden kullanmanızı gerektirebilir)
Çıktı
Çıktı metni, yazı ve / veya biçimlendirme / stil dışında herhangi bir şekilde giriş metninden farklı olmamalıdır (Not: çıktınızda html işaretlemesi varsa, girişi html kodlamanız gerekir). İşaretleme / stil (html stil etiketleri, konsol renkleri vb.) Veya soluk metnin resmiyle metin çıktısı alabilirsiniz. Giriş bu gereksinimi karşılamak için yeterli karakter içermiyorsa, tüm renk altıgenleri çıktıda bulunmalıdır. Bu durumda, çıktınızda hangi renk altıgenlerinin bulunması gerektiğini belirlemek için öncelik kurallarına bakın. Çıktınızdaki sipariş veya bu renkler yine de giriş sırası olmalıdır.
Renk Önceliği Kuralları
- Girişin bir karakter olması durumunda, ilk renk kullanılır
- Yalnızca iki karakter olması durumunda, ilk ve son renk kullanılır
- Karakterlerden üçten fazla renk ve daha fazla renk olması durumunda, ilk ve son renklere, ardından renklerin geri kalanına girilen sırayla öncelik verilmelidir.
- Renklerden daha fazla karakter olması durumunda, karakterler ara renkleri kullanarak bir renkten diğerine solmalıdır
Örnekler (Sırasıyla Öncelik kuralları 1-3):
# Renkler | Renk 0 | ... | Renk n | Metin
3 ff0000 0000ff ffff00 M-> -> ->
3 ff0000 0000ff ffff00 hi
4 ff0000 0000ff ffff00 0fff00 sup
Açık olmak gerekirse, metin rengi bir renk onaltılıdan diğerine solmalıdır. Solmanın mükemmel bir şekilde düzgün olması gerekmez, ancak güzel bir şekilde solması için yeterli karakter olmadığı sürece ani bir renk değişikliği olmamalıdır. Genellikle bu solma, rgb değerlerini, çalışmak zorunda olduğunuz karakter sayısı ve renkler arasındaki fark tarafından belirlenen bir aralıkla artırarak / azaltarak karakterlerin her biri için ara renkler seçerek elde edilir. Örneğin,
(# ff0000) ve
(# 000000) arasında tek bir renge ihtiyaç duyarsak
, tam ortada olduğu gibi seçebiliriz . Optimal çıktı oldukça hoş görünecek.
Örnek (Öncelik kuralı 4):
3 ff0000 ff7f00 f0ff00 To be or not to be, that is the question...->
-VEYA-
<span style="color:#ff0000;">T</span><span style="color:#ff0600;">o</span><span style="color:#ff0c00;"> </span><span style="color:#ff1200;">b</span><span style="color:#ff1800;">e</span><span style="color:#ff1e00;"> </span><span style="color:#ff2400;">o</span><span style="color:#ff2a00;">r</span><span style="color:#ff3000;"> </span><span style="color:#ff3600;">n</span><span style="color:#ff3c00;">o</span><span style="color:#ff4300;">t</span><span style="color:#ff4900;"> </span><span style="color:#ff4f00;">t</span><span style="color:#ff5500;">o</span><span style="color:#ff5b00;"> </span><span style="color:#ff6100;">b</span><span style="color:#ff6700;">e</span><span style="color:#ff6d00;">,</span><span style="color:#ff7300;"> </span><span style="color:#ff7900;">t</span><span style="color:#ff7f00;">h</span><span style="color:#fe8500;">a</span><span style="color:#fe8b00;">t</span><span style="color:#fd9100;"> </span><span style="color:#fc9700;">i</span><span style="color:#fb9d00;">s</span><span style="color:#fba400;"> </span><span style="color:#faaa00;">t</span><span style="color:#f9b000;">h</span><span style="color:#f9b600;">e</span><span style="color:#f8bc00;"> </span><span style="color:#f7c200;">q</span><span style="color:#f6c800;">u</span><span style="color:#f6ce00;">e</span><span style="color:#f5d400;">s</span><span style="color:#f4da00;">t</span><span style="color:#f4e100;">i</span><span style="color:#f3e700;">o</span><span style="color:#f2ed00;">n</span><span style="color:#f1f300;">.</span><span style="color:#f1f900;">.</span><span style="color:#f0ff00;">.</span>
Yanıtınızda lütfen çıktınızın nasıl görüntülenmesi gerektiğini belirtin (html olarak, bir konsolda, bir resim olarak, vb.).
* Tüm siyah arka planlar sadece renk vurgusu içindir ve gerekli değildir
puanlama
Bu kod golf , bu yüzden en kısa cevap (bayt cinsinden) kazanır.
Eğer tek tek karakterlere solmaya eklemeyi başarırsanız, sonsuza kadar havalı olduğunuzu düşünürüm (ancak bazı langlar için adil olmayacağından gol atamazsınız)
000000ve ff0000olmalıdır b40000( 255*sqrt((0+1)/2))

#000000ve#ff0000değildir#800000.