Görmek istediğim, okunması oldukça kolay bir anlamı olan ama aynı zamanda geçerli bir kod parçası yaratan bir tür "hikaye" yazma girişimleriniz. Örneğin, bu (BBC) TEMEL kodu:
LET customer = "sober"
REPEAT
INPUT "more beer"
UNTIL customer = "drunk"
( fikir için http://img.rakuten.com/PIC/12184048/0/1/300/12184048.jpg dosyasına dayanarak )
Kurallar / kılavuzlar:
- Kod belirttiğiniz dilde geçerli olmalıdır - Herhangi bir süslü oluşturmaya gerek kalmadan herkes onu çalıştırabilmelidir
- Dizeler, yorumlar veya koda serbest metin eklenmesine izin veren herhangi bir şey kullanılabilir, ancak dize başına en fazla 3 kelime için (ve bir satıra birden fazla dize veya yorum koyamazsınız)
- Kodunuz yürütüldüğünde mantıklı bir çıktıya neden olmak zorunda değildir. Kod geçerli olduğu sürece sonsuz bir döngü bile olabilir ve İngilizce okunduğunda mantıklı (*) bir şeyi temsil eder.
- Kodunuzdaki herhangi bir yorum öyküde yok sayılır.
- Değişkenlerin tanımlanması gerekmez. Burada yaptığınız kod sadece bir kod parçasıdır . Sen edecek 5 puan kaybedersiniz etc / tanımlanmamış bir değişken / anahtar kelime / etiket çağırmak için. rağmen.
- kullandığınız her bir yerleşik anahtar kelime / ifade / işlev / vb için 15 puan alırsınız . Bunlar
for
veif
gibi dahili fonksiyonları içerirreplace()
. Kütüphaneler yerleşik işlevler olarak sayılmaz, ancak bunları kullanabilirsiniz. - kodunuzdaki her harf, sayı veya alt çizgi için 1 puan alırsınız .
- (ilgisiz kodun her satırı / blok için hikaye), ya da hiç anlamı ile (kullanım anahtar kelimeler / ifadeler / vs İngilizce), sen 20 puan kaybedersiniz olacak ve yer karakterleri değil harf başına 1 puan sayılacaktır / numara.
int
Değişkenleri tanımlarken olduğu gibi veri türlerine ihtiyaç duyan diller için adil tutmak amacıyla veri türleri tamamen yok sayılır. Bu, anahtar kelime oldukları için 10 puan almadıkları, ilgili karakterler için puan almadıkları, ancak puan kaybına da neden olmadıkları anlamına gelir. - "Boşlukları doldurmak" için yorum ekleyerek geçerli İngilizce bir şey yapmanıza izin verilmez.
- Bu bir popülerlik yarışması olduğu için, cevabınıza gelen her yükseliş için 25 puan alacaksınız .
- Kodunuzun hangi dilde olduğunu ve yanıtınızın aldığı puan miktarını saymak için kullandığınız formülü belirttiğinizden emin olun.
- Yukarıda bu sistemi kullanarak en fazla puanı alan cevap kazanır.
- Bu sistemi kullanarak, yukarıdaki örnek kod
4*15 + 53*1 = 113
başlangıç noktalarını alacaktır .
(*) Aşırı analysation / nesneleştirme kısmı: olabildiğince nesnel olarak kalmasını, "mantıklı" ya da "ilgisiz" şu anlamlara: İngilizce değil olduğu kod kullandığı kelimelerin parçası, o (geçerli örneğin değilse const
ya int
vardır İngilizce sözcük değil, foreach
or or typeof
2 İngilizce sözcük birleştirilmiş, bu yüzden okay). Ayrıca, print
veya gibi geçerli İngilizce kelimeler kullansanız bile echo
, bunlar orijinal anlamlarıyla hikayeye uymak zorunda kalacaktır (yani 'kağıda mürekkep koyma' ve 'sesi yansıtma', 'ekranda gösterme'). Ve 'fit in' ile, yani hikayenin konusu onunla ilgili olmalı.
Umarım bu son “feragatname” objektif kriterlerin belirlenmesi gerekliliğini karşılar.