Kod-Bowling
Brunswick Bowling tarafından, metinleri Code Bowling
ekranlarında yazdırmak için basit bir program oluşturmak üzere işe aldınız . Bu şirket, güzel bir kuruş değer ve oldukça onları dolandırmaya hissediyorum biraz nakit.
Görev tanımı, puanlama bazında ödediklerini açıkça belirtiyor ve puanlama sistemlerini kendi avantajınıza göre ayarlayabileceğinizden ve bu adamlardan mümkün olan en büyük ödeme çekini alabileceğinizden oldukça eminiz. Bunu yapmak için , puanlama sisteminiz sizi engellemeniz için tasarlanmış olsa bile, programınıza / işlevinize mümkün olduğunca fazla kod koymanızı gerektirir .
Domuzcuk bankalarınızı çıkarın, haydi kod yazalım!
Meydan okuma
Buradaki zorluk, metni Code Bowling
, tam olarak burada yazıldığı gibi, mümkün olan en yüksek puanla almaktır. (Bkz. Bölüm: Aşağıdaki Puanlama Sistemi )
Önde gelen ve takip eden yeni çizgiler (satır sonları) kabul edilebilir.
Kodunuz tüm bir program veya yalnızca çalıştırılabilir bir işlev olabilir.
kurallar
Zorunlu: Bu zorluk Kodu Bowling: Ortak Kural, Revizyon 1.0.0 ; Ayrıntılar için Meta'ya bakınız.
Karakter: Bayt Oranı
Kod Bowling'inde bir bayt sayımı yerine karakter sayımı tercih edilir. Bunun açık bir nedeni, çok baytlık unicode karakterlerin (örneğin characters), bayt sayısını artırmak için tek baytlık unicode karakterleri yerine kullanılabileceği ve yüksek bayt unicode karakterleri olan en çok değişkenleri kimin yeniden adlandırdığı konusunda bowling yapmasıdır. En stratejik olarak anlamlı karmaşık kod oluşturanlardan.Değişken / İşlev / Nesne Adları
Tüm değişken adları (veya nesne işaretçileri, işlev adları vb.) 1 karakter uzunluğunda olmalıdır. 2 karakterli değişken adlarını kullanmak için sadece kabul edilebilir süre, tüm olası 1 karakterli değişkenlerin kullanılmasından sonradır. 3 karakterli değişken adlarını kullanmak için yalnızca kabul edilebilir süre, tüm olası 2 karakterli değişkenlerin kullanılmasından sonradır. Vb.Kullanılmayan Kod
Tüm kodlar kullanılmalıdır. Yani, herhangi bir karakter (veya değişken karakter karakterleri) kaldırılırsa / kaldırılırsa, programın görevi her zaman tam olarak yerine getirememesi gerekir. Doğal olarak, programın bir alt kümesi, programın geri kalanı olmadan görevi kendi başına tamamlayamamalıdır.Yorumlar
Programınız / işleviniz bir şekilde kullanılmadıkça karakter sayımı için yorumlara izin verilmez.
Skor sistemi:
Pangram Mücadelesi:
Pangram , her harfi en az bir kere kullanan bir cümledir. (Hızlı kahverengi tilki tembel köpeğin üstünden atlar).
Bu meydan okuma tipi mükemmel pangram teorik maksimum puanı elde ediyorum tasarlanmış bir puanlama sistemi vardır (eğer olmadığı halde gerekli en azından her karakter kullanmak.) Ayrıca, bir cezaya maruz başlayacak defadan fazla herhangi bir karakter kullanılarak. Bu zorluk aynı zamanda sadece alfabetik karakterlerden daha da genişler.
Puanlama Metriği:
- Kullanılan her karakter 1 puanınızı artırır.
- Herhangi bir alfasayısal karakterin (az, AZ, 0-9) tekrar tekrar kullanılması, tekrar başına 3 puan düşülmesine neden olur (ilk kullanım, bir kesinti ile sonuçlanmaz).
- Temel noktalama işaretlerinin tekrar tekrar kullanılması
([!?.-,":';])
- parantez dahil - tekrarlama başına 2 puan düşülmesine neden olacaktır.{`~@#$%^&*_+=|\/><}
Kıvrımlı parantez dahil - diğer ASCII karakterlerinin tekrar tekrar kullanılması, tekrar başına 4 puan düşülmesine neden olacaktır.- Boşlukların, sekmelerin ve yeni satırların kullanılması kullanım başına 1 puan düşülmesine neden olacaktır. Yani, karakter toplamına sayılmazlar.
- Yukarıda belirtilmeyen karakterler (Egzotik Karakterler) kullanım başına 1 puan düşülmesine neden olacaktır. Yani, karakter toplamına sayılmazlar.
Puanlama Aracı:
Bir otomatik skorlama Widget oluşturuldu ve bulunabilir burada .
Bu bir kod bovling çeşididir. En yüksek puana sahip program kazanır! (En fazla puan aldığı için 94
, ilk önce kim ulaşırsa (ulaşılabilirse), diğerleri eğlence için cevap vermekte özgür olsalar bile, kabul edilen cevap olarak işaretlenecektir)