Meydan okuma
Yazdırılabilir ASCII karakterlerinden (kodlar) oluşan her biri 30'a kadar uzunluktaki iki dize verilir ), bunları en az bayt kodda bir denge ölçeğine koyun! Bu, aşağıdaki adımlardan oluşur:
- Dizelerin ağırlıklarını hesaplayın ve karşılaştırın
- Uygun eğimli ASCII-art ölçeğini seçin
- İki dizgiyi teraziye yerleştirin
Dizeler bir dizi, iki bağımsız değişken veya başka herhangi bir makul yöntem olarak geçirilebilir.
Bir dize ağırlığı dize 'Karakterlerin ağırlıkları toplamı olarak tanımlanır:
- Boşlukların ağırlığı 0 (
)
- Küçük harflerin ağırlığı 2'dir (
abcdefghijklmnopqrstuvwxyz
) - Büyük harflerin ağırlığı 4 (
ABCDEFGHIJKLMNOPQRSTUVWXYZ
) - Diğer tüm sembollerin ağırlığı 3 (
!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~
)
Ölçekler şöyle görünür:
. _ | _- * / \ | - * / \ _- * | / \ _- * | / \ / \ | * ------ * / \ | / \ | / \ | * ------ * | ______ | ______
_. / \ * -_ | / \ * - | / \ | * -_ / \ | * -_ * ------ * | / \ | / \ | / \ | / \ | * ------ * ______ | ______
. | ______ | ______ / \ | / \ / \ | / \ / \ | / \ / \ | / \ * ------ * | * ------ * | | ______ | ______
İlk dize daha ağırsa, ilk çizimi çıktınızın tabanı olarak kullanın; ikinci dize daha ağırsa, ikinci çizimi kullanın; Eğer teller eşit ağırlığa sahipse, üçüncüyü kullanın. Sondaki boşluklara izin verilir.
Aşağıdaki örneklerin tümü için temel olarak üçüncü çizimin bir bölümünü kullanacağım.
İlk dize sol pan üzerine, ikinci dize sağ pan üzerine yerleştirilmelidir.
Boşluk olmayan karakterlerini, #
burada s ile işaretlendiği gibi, tire işaretlerinin hemen üzerindeki 6x5 alanına yerleştirerek bir tavaya bir dize yerleştirin (sonunda denge ölçeğinin üzerine yazabilirsiniz - bu iyidir):
###### _ ###### ###### ###### / ###### \ * ------ *
Bu karakterlerin tümü "yerleşmiş" olmalıdır. bir -
karakterin üstünde veya dizeden başka bir karakterde:
YANLIŞ YANLIŞ DOĞRU ____________ f / \ / \ / \ l \ / \ / \ / \ / hov \ / s \ / oating \ / eri ng \ / ettled \ * ------ * * ------ * * ------ *
Ek olarak, tüm yığın mümkün olduğunca düz olmalıdır, yani altı 1 geniş sütunun, en uzun yüksekliğinin ve en kısa yüksekliğinin 1'den fazla olmaması gerekir:
YANLIŞ YANLIŞ DOĞRU DOĞRU [en yüksek: 5] [en yüksek: 4] [en yüksek: 5] [en yüksek: 2] [en kısa: 0] [en kısa: 2] [en kısa: 4] [en kısa: 2] 5__5_ ____ 5_5__ ____ 45445 ve / \ 445454 / \ 45445 $% & $ @ 445454 / \ / 45445 &% @% $ & 445454% & $ @% & / 45445 \ / & $ @ $ &% \ / 445454 \ / $ @ $% $$ \ * ------ * * ------ * * ------ * * ------ *
Karakterlerin tam sırası / düzeni önemli değildir. Aşağıdakiler "Kelimelerinizi tartın!" Dizesi için geçerli tüm düzenlemelerdir:
____ ____ ____ ____ / \ / \ / \ / \ DS! \ / owd oe \ u! Wd \ ourwor Wihuos Instagram Hesabındaki Resim ve Videoları yoiwgr eghioo / Tartım \ / egyrr! \ / Wrhd! S \ / rrsuwy \ * ------ * * ------ * * ------ * * ------ *
Test senaryoları
GİRİŞ: "CODE GOLF", "kodlama zorlukları" AĞIRLIKLAR: 32, 32 ÖRNEK ÇIKTI: . | ______ | ______ / \ | / \ / \ | NGE \ s / OO \ | challe / CFGLED \ | / \ Kodlama * ------ * | * ------ * | | ______ | ______
GİRİŞ: "", "$" AĞIRLIKLAR: 0, 3 ÖRNEK ÇIKTI: _. / \ * -_ | / \ * - | / \ | * -_ / \ | * -_ * ------ * | / \ | / \ | / \ | / $ \ | * ------ * ______ | ______
GİRİŞ: "NE DEDİĞİNİ BİLİYORSUN!", "There_always_a_relevant_xkcd" AĞIRLIKLAR: 75, 65 ÖRNEK ÇIKTI: . tr_a_s | _hekx_y | - * elcdta _- * | revanw _- * | / E's_al \ T / \ | * ------ * AUYOHY | A! HWYK | / OTSMEW \ | * ------ * | ______ | ______
+1
. Birincisi: boşluklar herhangi bir şeyi "tartmaz" ve sanat eserine dahil edilmezse, neden onları hiç dahil ettiniz? İlk önce onları filtrelemek gereksizdir. İkincisi: Bu bana bir "2'si 1 arada" / bukalemun meydan okuması gibi geliyor - Zorluk 1: Hangi ipin "daha ağır" olduğunu belirleyin, Zorluk 2: Bazı ASCII sanatı oluşturun.