Emoji Otomatı


23

Emoji'yi göremiyor musun? Click burada .

Bir satış makinesini taklit edeceksin. Maddeler sur (U + D83C U + DF45) ila 🍼 (U + D83C U + DF7C) arasında iki yedek UTF-8 karakteri olarak temsil edilebilen 56 farklı emoji'dir. HTML'de bu emojiler UTF-16 formunda & # x1F345 ila & # x1F37C olarak gösterilebilir . 10 tabanında ilk UTF-8 karakteri 55356 değerine sahiptir . İkinci karakterin değeri 57157 ile 57212 arasında değişmektedir . İşte tüm ilgili emojiyi üreten bir CJam programı. Karışıklığı önlemek için, bu zorluk bayt değil , karakter olarak puanlanacaktır . Bazı emoji'yi 2 karakter, bazıları 3. olan http://www.lettercount.com bu meydan okuma için size doğru bir sayım verecektir.

Fiyatlandırma 💵💵💵

8 farklı fiyat kategorisi vardır:

  • 1,00 ABD doları: 🍅🍆🍇🍈🍉🍊🍋
  • 1,50 ABD Doları: 🍌🍍🍎🍏🍐🍑
  • 2,00 ABD Doları: 🍓🍔🍕🍖🍗🍘🍙
  • 2,50 ABD Doları: 🍚🍛🍜🍝🍞🍟🍠
  • 3,00 $: 🍡🍢🍣🍤🍥🍦🍧
  • 3,50 ABD Doları: 🍨🍩🍪🍫🍬🍭🍮
  • 4,00 $: 🍯🍰🍱🍲🍳🍴🍵
  • 4,50 ABD Doları: 🍶🍷🍸🍹🍺🍻🍼

Otomatik Satış Makinesini Görüntüleme

Program başladığında ve bir satın alma işleminden sonra kullanıcının gördüğü şey budur. Emoji numaraları yerine normal sayıları kullanabilirsiniz, ancak emoji numaraları diğer emojilerle aynı genişlikte olma avantajına sahiptir. Eğer emoji numaraları kullanıyorsanız puanınızdan 14 karakter çıkarabilirsiniz, çünkü emoji numaraları her biri 3 karakterdir.

  1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣
A 🍅🍆🍇🍈🍉🍊🍋
B 🍌🍍🍎🍏🍐🍑🍒
C 🍓🍔🍕🍖🍗🍘🍙
D 🍚🍛🍜🍝🍞🍟🍠
E 🍡🍢🍣🍤🍥🍦🍧
F 🍨🍩🍪🍫🍬🍭🍮
G 🍯🍰🍱🍲🍳🍴🍵
H 🍶🍷🍸🍹🍺🍻🍼 

Kullanıcı girerse G5🍳 seçer. Girme s E6seçer.

Nakit Eklemek 💸💸💸

Para eklemek için, kullanıcı girmeli /ve sonra bir bozuk para veya fatura kodunu girmelidir . Madeni paralar (N) ickel (0.05 $), (D) ime (0.10 $) ve (Q) daha ufaktır (0.25 $). Faturalar (O) ne (1.00 $), (F) ive (5.00 $), (T) en (10.00 $). Kullanıcı bir fatura veya jeton eklediğinde, programın çıktısı alınmalıdır Balance: [New Balance]. Her seferinde yalnızca bir fatura veya jeton eklenebilir. Burada üç satırlık girdi içeren bir örnektir:

/D
Balance: $0.10
/Q
Balance: $0.35
/F
Balance: $5.35

Öğeleri Seçme

Kullanıcı, B2veya gibi bir öğe kodu girerek bir öğe seçer C3. Kullanıcı herhangi bir para eklememişse, programın çıktısı alınmalıdır Item Cost: [Cost of Item]. Kullanıcı para eklemişse, ancak öğeyi satın almak için yeterli değilse, çıktı olması gerekir Insufficient Funds. Item Cost: [Cost of Item]. Kullanıcı yeterli para eklemek vermedi, program çıkışı yapmalıdır: Item at [Item Location] Purchased. Remaining Balance: [Balance - Cost of Item]. Sonra kendi satırında, satın alınan ürünün emojisini bastırın. Ardından v (U + D83D U + DEAB) Base 10: (55357 57003) ile satın alınan ürünle tüm satış makinesini yazdırın (Bkz. “Vending Machine'in Gösterilmesi”).

Programı Sona Erdirmek

Kullanıcı dengesini 0,00 ABD dolarına düşüren bir ürün satın alırsa, program otomatik olarak sonlandırılmalıdır. Alternatif olarak, kullanıcı herhangi bir zamanda "Done" yazarsa, program kullanıcıya kalan bakiyesini değiştirerek vermelidir. Değişim sadece Nikel, Dimes ve Çeyrek olmalı ve mümkün olan en küçük paralar olmalıdır. Örneğin, kalan bakiye 1.45 $ ise, çıktının olması gerekir QQQQQDD.

Örnek çalışma

(Giriş "-" ile başlar)

  1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣
A 🍅🍆🍇🍈🍉🍊🍋
B 🍌🍍🍎🍏🍐🍑🍒
C 🍓🍔🍕🍖🍗🍘🍙
D 🍚🍛🍜🍝🍞🍟🍠
E 🍡🍢🍣🍤🍥🍦🍧
F 🍨🍩🍪🍫🍬🍭🍮
G 🍯🍰🍱🍲🍳🍴🍵
H 🍶🍷🍸🍹🍺🍻🍼  
-E1
Item Cost: $3.00
-/F
Balance: $5.00
-E1
Item at E1 Purchased. Remaining Balance: $2.00
🍡 
  1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣
A 🍅🍆🍇🍈🍉🍊🍋
B 🍌🍍🍎🍏🍐🍑🍒
C 🍓🍔🍕🍖🍗🍘🍙
D 🍚🍛🍜🍝🍞🍟🍠
E 🚫🍢🍣🍤🍥🍦🍧
F 🍨🍩🍪🍫🍬🍭🍮
G 🍯🍰🍱🍲🍳🍴🍵
H 🍶🍷🍸🍹🍺🍻🍼
-Done
QQQQQQQQ

Geçersiz Kodlar

  • Girdiyle başlıyor /ancak geçerli bir para girişi değilse, çıktı Money not Accepted.
  • Girdi zaten satın alınmış bir öğeyse, çıktı Item out of stock
  • Giriş, aralık içinde olmayan bir rakam-harf kombinasyonuysa ( A0veya: J2"Geçersiz kod" gibi)
  • Diğer tüm geçersiz girişler için "Hata" çıktısını alın

Bonus (% -15): Reçel

Bir ürünü verirken, makinenin sıkışması ve malzemenin sıkışması durumunda% 10'luk bir şans vardır. Çıktı JAM!!!bir kez. Bu durumda kullanıcı "yumruk" veya "tekme" girmelidir. Kullanıcı bunu yaptığı her seferinde, ürünün ücretsiz olarak kırılma ve normal şekilde satılma olasılığı% 20'dir. Sıkışma giderilinceye kadar, tanınan tek girişler "punch" ve "kick" dir. Diğer tüm girişler hiçbir şey yapmaz. İşte bir örnek:

-A4
Item at A4 purchased. Remaining Balance: $1.00
JAM!!!
-punch
-kick
-kick
-punch
-punch
🍚

(Sıkışma giderildi. Normal şekilde devam edin.)

Bonus (% -10): Kimlik

Kullanıcı alkollü bir içecek almaya çalıştığında (biberon hariç son satırdaki herhangi bir ürün), yaş ispatı talep etmelisiniz. Bunu yapmak için, kullanıcıdan 13 ile 19 (dahil) arasında iki rasgele sayıyı çarpmasını isteyin. ÇıktıID required: [13-19]x[13-19] = ? . Kullanıcı doğru cevap verirse, satın alma işlemi devam edebilir. Değilse, 🔞 (U + D83D U + DD1E) 10 numaralı tabanı: (55357 56606)

Alternatif Görev: Minecraft

Bu meydan okuma Minecraft'ta mümkün olan bir şeye benziyor. Bu programın Minecraft versiyonunu başarıyla oluşturmak için, oynatıcının

  • 56 benzersiz öğe arasından seçim yapabileceğiniz 8x7 ızgaraya sahip olma
  • Teraziye para ekleyebilme (Yukarıda açıklanan farklı mezhepler için farklı taş türleri kullanabilirsiniz.)
  • Kullanıcıya, yeterli "para" koyarsa seçtiği ürünü ver
  • Kullanıcıya sonunda uygun miktarda değişiklik yapın.

Uyumluluk modu

  • Sadece programın başında girdi alabilirim

    • Endişelenmeyin, tüm girişi ön plana çıkaran bir program yapabilirsiniz. Programınız tüm girdileri değerlendirdikten sonra sonlandırılmadıysa, sonunda "Tamamlandı" olarak adlandırıldığını varsayalım. Bu yöntemi kullanırsanız, herhangi bir bonus için uygun olmayacaksınız.
  • Emoji'leri görüntüleyemiyorum / çıkamıyorum

    • Giriş ve çıkışlarınızı kopyalayıp bu Yığın Parçacığına (veya buraya ) yapıştırabilirsiniz . Hem unicode emojiyi hem de emoji için HTML kodlarını anlayabilir. Çıktınız bu sayfada doğru görünüyorsa, programınız başarılı olur. Nasıl göründüğünü görmek için bazı örnek giriş / çıkışlarına yapıştırmayı deneyin.

function parse() {
var o = document.getElementById("output");
var text = document.getElementById("in").value;
o.innerHTML = text.replace(/\n/g,"<br/>").replace(/ /g,"&nbsp");
twemoji.parse(o);
}
<head>
<script src="//twemoji.maxcdn.com/twemoji.min.js"></script>  
</head>
<body>
<h1>Emoji to Image</h1>
<textarea id="in" rows="10" cols="50"></textarea>
<input type="submit" onclick="parse()">
<div id="output"></div>
</body>

Yığın Parçacığında test edebileceğiniz otomat makinesi ekranının kısaltılmış bir uyumluluk modu sürümü:

   &#x31&#x20E3&#x32&#x20E3&#x33&#x20E3&#x34&#x20E3&#x35&#x20E3...
A&#x1F345&#x1F346&#x1F347&#x1F348&#x1F349...
B 
...
  • Emoji'leri çıkarabilirim ama STDOUT'a yazdıramam.

    • Görünüşe göre, Mac OS X Terminali, emoji'leri çıkarabildiği bilinen tek kişi. Terminalinizde emoji'leri çıkaramıyorsanız, diğer seçenekleriniz
      • Tüm çıktıları bir dosyaya gönderin.
      • Tüm çıktıları bir pencerede göster.
      • "Emojiyi görüntüleyemiyorum / çıkamıyorum" bölümünde açıklanan tekniği kullanın.

5
$ can be replaced with your local currencyMadeni paraların (N) sckels (D) imes ve (Q) çeyrek olmasını isterseniz, pek anlamlı olmaz. Bunu karışıklık eklerken çıkarmanızı öneririm.
Seviye Nehri St

@steveverrill İyi nokta. Ben değiştirdim. Sorum şu ki, ABD dışındaki klavyelerde $ düğmesi var mı, yoksa bunun için bir kod var mı?
geokavel

Bu $sembol ASCII karakter setinin bir parçasıdır, bu nedenle tüm klavye ve dillerin kullanabileceğini varsaymak güvenlidir. 7 bitlik ASCII karakter kümesindeki tek para birimi simgesidir. Sonuç olarak, GBP sembolü veya EUR sembolü gibi diğer semboller, uygun olmayan dize kodlamaları nedeniyle yanlış bir şekilde oluşturulabilir, ancak neredeyse hiçbir zaman olmuyor $.
Seviye Nehri St

@ steveverrill Başa çıkabileceklerini biliyorum, ama bunun için fiziksel bir klavye düğmesi var mı?
geokavel

İngiliz ve İspanyolca klavyelerim ilgili yerel para birimi simgelerine ek olarak var ve diğerlerinin de yaptığını düşünüyorum. Dünyada en yaygın kullanılan para birimi simgesi olmasının yanı sıra (dolar olarak adlandırılmayan birçok para birimi dahil), $sembolün çoğu programlama dilinde özel bir anlamı vardır, bu nedenle klavyede kullanılamaması ciddi bir sınırlama olacaktır. Bunu İspanyolca klavyeme yazıyorum ve $ (shift + 4) 'u € (alt gr + E)' dan almak daha kolaydır, böylece ikinci sembolün daha sonra eklendiğini görebilirsiniz.
Seviye Nehri St

Yanıtlar:


8

PHP, (1295 - 14) -% 25 = 960.75 karakter

Eski skorlar 1315 1351 1361 1295 989 977

Eğlenceliydi ve ilk cevap - evet.

$i=[A=>[🍅,🍆,🍇,🍈,🍉,🍊,🍋],B=>[🍌,🍍,🍎,🍏,🍐,🍑,🍒],C=>[🍓,🍔,🍕,🍖,🍗,🍘,🍙],D=>[🍚,🍛,🍜,🍝,🍞,🍟,🍠],E=>[🍡,🍢,🍣,🍤,🍥,🍦,🍧],F=>[🍨,🍩,🍪,🍫,🍬,🍭,🍮],G=>[🍯,🍰,🍱,🍲,🍳,🍴,🍵],H=>[🍶,🍷,🍸,🍹,🍺,🍻,🍼]];$p=[A=>1,B=>1.5,C=>2,D=>2.5,E=>3,F=>3.5,G=>4,H=>4.5];$v=[N=>.05,D=>0.1,Q=>.25,O=>1,F=>5,T=>10];a:$m='';$w=$x=0;$q=$c[0];$r=$c[1];$f=fgets;$n=rand;$u=number_format;if('Done'==$c&&$e=1)foreach([Q,D,N]as$_)while($b&&round($b-$v[$_],2)>=0&&$m.=$_)$b-=$v[$_];elseif('/'==$q){$v[$r]?$b+=$v[$r]:$m="Money not accepted
";$m.="Balance: $".$u($b,2);}elseif(in_array($q,range(A,Z))){if(0<$r&&8>$r--&&($_=$p[$q])){$b&&$b<$_?$m="Insufficient funds. ":0;if($b<$_)$m.="Item cost: $".$u($_,2);elseif(👾==$i[$q][$r])$m="Item out of stock.";else{$t=0;if(H==$q&&$r<6){$t=$n(13,19);$s=$n(13,19);echo"ID required: {$t}x$s = ?
";if($f(STDIN)!=$t*$s)$m=🔞;else$t=0;}if(!$t){$b-=$_;if(1>$n(0,9)){$w=1;}$x=$i[$q][$r];$m="Item at $c purchased. Remaining balance: $".$u($b,2).($w?"":"
$x");$i[$q][$r]=👾;if(!$b)$e=1;}}}else$m="Invalid code";}if($c&&!$m&&!$e)$m=Error;system(clear);echo"  1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣";foreach($i as$k=>$_){echo"
$k ";foreach($_ as$_)echo"$_ ";}echo"
$m
";if($w){echo"JAM!!!
";for(;$c!=kick&&$c!=punch||7>$n(0,9);$c=trim($f(STDIN)));echo"$x
";}$e?exit:$c=trim($f(STDIN));goto a;

Otomatik satış makineleri bana kullandığım 90'ları hatırlatıyor gotove satın alınan ürünler için Space Invader 👾 gösteriliyor. Makine her komuttan sonra yeniden çizilir.

Ungolfed (bir şekilde)

$i=[A=>[🍅,🍆,🍇,🍈,🍉,🍊,🍋],B=>[🍌,🍍,🍎,🍏,🍐,🍑,🍒],C=>[🍓,🍔,🍕,🍖,🍗,🍘,🍙],D=>[🍚,🍛,🍜,🍝,🍞,🍟,🍠],E=>[🍡,🍢,🍣,🍤,🍥,🍦,🍧],F=>[🍨,🍩,🍪,🍫,🍬,🍭,🍮],G=>[🍯,🍰,🍱,🍲,🍳,🍴,🍵],H=>[🍶,🍷,🍸,🍹,🍺,🍻,🍼]];
$p=[A=>1,B=>1.5,C=>2,D=>2.5,E=>3,F=>3.5,G=>4,H=>4.5];
$v=[N=>.05,D=>0.1,Q=>.25,O=>1,F=>5,T=>10];

a:
$m='';
$w=$x=0;
$q=$c[0];
$r=$c[1];
$f=fgets;
$n=rand;
$u=number_format;

if('Done'==$c&&$e=1)
    foreach([Q,D,N]as$_)
        while($b&&round($b-$v[$_],2)>=0&&$m.=$_)
            $b-=$v[$_];
elseif('/'==$q){
    $v[$r]?$b+=$v[$r]:$m="Money not accepted
";
    $m.="Balance: $".$u($b,2);
}elseif(in_array($q,range(A,Z))){
    if(0<$r&&8>$r--&&($_=$p[$q])){
        $b&&$b<$_?$m="Insufficient funds. ":0;
        if($b<$_)$m.="Item cost: $".$u($_,2);
            elseif(👾==$i[$q][$r])
                $m="Item out of stock.";
            else{
                $t=0;
                if(H==$q&&$r<6){
                    $t=$n(13,19);
                    $s=$n(13,19);
                    echo"ID required: {$t}x$s = ?
";
                    if($f(STDIN)!=$t*$s)
                        $m=🔞;
                    else
                        $t=0;
                }
                if(!$t){
                    $b-=$_;
                    if(1>$n(0,9)){
                        $w=1;
                    }
                    $x=$i[$q][$r];
                    $m="Item at $c purchased. Remaining balance: $".$u($b,2).($w?"":"
$x");
                    $i[$q][$r]=👾;
                    if(!$b)$e=1;
                }
            }
    }else
        $m="Invalid code";
}

if($c&&!$m&&!$e)$m=Error;

system(clear);
echo"  1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣";
foreach($i as$k=>$_){
    echo"
$k ";
    foreach($_ as$_)
        echo"$_ ";
}
echo"
$m
";

if($w){
    echo"JAM!!!
";
    for(;$c!=kick&&$c!=punch||7>$n(0,9);$c=trim($f(STDIN)));
    echo"$x
";
}

$e?exit:$c=trim($f(STDIN));
goto a;

PHP OS X üzerinde PHP 5.5 ve 5.6 ile test edildi 👾


Düzenlemeler

  • 12 bayt eklendi . Sabit çıkış Doneve bazı dizeleri golf.
  • 306 bayt eklendi . Bir veya iki hata düzeltildi ve bonuslar için destek eklendi. Bonuslarla artık 15 bayt daha kısa.
  • 66 bayt eklendi . Parayı farklı bir biçimde biçimlendirmek zorunda kaldım, bunun için daha fazla değer ( [A-Z][0-9]) almak zorunda kaldım Invalid code.
  • 10 bayt kaydedildi . Bazı döndü boşluk ve Found bir .=INTO =uygulanabilir idi.
  • Bazı yeniden düzenlemeler nedeniyle 36 bayt kaydedildi .
  • Bazı döngüler ve atamalar yeniden birleştirilerek 20 bayt kurtarıldı .

Vay, oynamak çok eğlenceliydi! Fark ettiğim tek sorun: 3 ve 3.5 gibi fiyatları 3.00 ve 3.50 $ olarak biçimlendirmeniz gerekiyor.
geokavel

Ayrıca, yazdığımda J5şu mesajı almalıyım: "Geçersiz kod".
geokavel

@geokavel Geri bildiriminiz için teşekkür ederiz. Doğru para formatını ekledim ve Invalid codeşu an için daha fazla değişken kabul ediyor . Eğlenceli bir meydan okuma - birçok seçeneğe sahip olmasına rağmen… 1K karakterleri kendileri için konuşuyor… :)
insertusernamehere

Tebrikler, dar bir farkla, kazanan sizsiniz! Her iki oyuncuya da değerli yarışmacılar için ve birbirleriyle golf oynamaya çalıştıkları için teşekkürler!
geokavel

@geokavel Eğlenceli bir meydan okuma ve Stephan'la ben arasında hoş bir ping pong oldu. Gelecekte birileri daha kısa bir çözüm bulabilirse, orada olacağım. ;)
adı

5

C # 6 (.Net Framework 4.6), 1356 1324 1304 1311 1307 1238 1235 1231 1220 Harfler - 14 Harfler (Emoji Numaraları) - (% 15 Reçel Bonusu +% 10 Kimlik Bonusu) = 1017 993 978 972.75 969.75 918 915.75 904.5 Harfler

using h=System.Console;class c{static void Main(){double b=0,z,p,x=0,i=57157,j,n,r,c,m;var a=1==0;var d=new System.Collections.Hashtable();for(;i<57213;)d.Add(x++,""+(char)55356+(char)i++);for(var e=new System.Random();;){for(w("  1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣"),x=0;x<8;x++,w(""))for(h.Write((char)('A'+x)),i=0;i<7;)h.Write(" "+d[x*7+i++]);for(;;){var k=h.ReadLine();if(k[0]==47){var l=k[1];z=b;b+=l=='N'?.05:l=='D'?.1:l=='Q'?.25:l=='O'?1:l=='F'?5:l=='T'?10:0;a=a|z!=b;w(z!=b?$"Balance {b:0.00}":"Money not Accepted");}else{if(k=="Done"){for(;b/.25>=1;b-=.25)h.Write("Q");for(;b/.1>=1;b-=.1)h.Write("D");for(;b/.05>=1;b-=.05)h.Write("N");return;}r=k[0]-65;c=k[1]-49;if(r<0|r>7|c<0|c>6)w("Invalid code");else{p=1+r/2;if(!a|p>b)w($"{(a&p>b?"Insufficient Funds. ":"")}Item Cost: ${p:0.00}");else{m=r*7+c;if(d[m]=="🚫")w("Item out of stock");else{if(r>6&c<6){j=e.Next(13,20);n=e.Next(13,20);w($"ID required: {j}x{n} = ?");if(int.Parse(h.ReadLine())!=j*n){w("🔞");break;}}b-=p;w($"Item at {k} Purchased. Remaining Balance: ${b:0.00}");if(e.Next(10)==1)for(w("Jam!!!");;){var f=h.ReadLine();if((f=="punch"|f=="kick")&e.Next(10)<2)break;}w(""+d[m]);d[m]="🚫";if(b==0)return;break;}}}}}}}static void w(string s)=>h.WriteLine(s);}

LinqPad 5 (C # 6) 'da kullanım için biraz daha unungolfed. F4'te h = System.Console kullanın.

void Main()
{
    double b=0,z,p,x=0,i=57157,j,n,r,c,m;
    var a = 1==0;
    var d = new Hashtable();
    for (; i < 57213;) d.Add(x++, ""+(char)55356 + (char)i++);
    for (var e = new Random(); ;)
    {
        for (w("  1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣"), x = 0; x < 8; x++, w(""))
            for (h.Write((char)('A' + x)), i = 0; i < 7;)
                h.Write(" " + d[x * 7 + i++]);

        for (; ;)
        {
            var k = h.ReadLine();
            if (k[0] == 47)
            {
                var l = k[1];
                z = b;
                b += l == 'N' ? .05 : l == 'D' ? .1 : l == 'Q' ? .25 : l == 'O' ? 1 : l == 'F' ? 5 : l == 'T' ? 10 : 0;
                a = a|z!=b;
                w(z != b ? $"Balance {b:0.00}" : "Money not Accepted");
            }
            else
            {
                if (k == "Done")
                {
                    for (; b / .25 >= 1; b -= .25) h.Write("Q");
                    for (; b / .1 >= 1; b -= .1) h.Write("D");
                    for (; b / .05 >= 1; b -= .05) h.Write("N");
                    return;
                }
                r = k[0] - 65;
                c = k[1] - 49;
                if(r<0|r>7|c<0|c>6)w("Invalid code");
                else
                {
                    p = 1 + r / 2;
                    if (!a | p > b) w($"{(a&p>b?"Insufficient Funds. ":"")}Item Cost: ${p:0.00}");
                    else
                    {
                        m = r * 7 + c;
                        if (d[m] == "🚫")
                            w("Item out of stock");
                        else
                        {
                            if (r > 6 & c < 6)
                            {
                                j = e.Next(13, 20);
                                n = e.Next(13, 20);
                                w($"ID required: {j}x{n} = ?");
                                if (int.Parse(h.ReadLine()) != j * n)
                                {
                                    w("🔞");
                                    break;
                                }
                            }

                            b -= p;
                            w($"Item at {k} Purchased. Remaining Balance: ${b:0.00}");
                            if (e.Next(10) == 1)
                                for (w("Jam!!!"); ;)
                                {
                                    var f = h.ReadLine();
                                    if ((f == "punch" | f == "kick") & e.Next(10) < 2)
                                        break;
                                }
                            w(""+d[m]);
                            d[m] = "🚫";
                            if (b == 0) return;
                            break;
                        }
                    }
                }
            }
        }
    }
}

void w(string s)=>h.WriteLine(s);

düzenleme: için teşekkürler (;;) ipucu;)

düzenleme: Strike !! PHP'den daha iyi ;-)

düzenleme: 24 Harf Kaldırıldı. Hala php için bir şey kaldı.

düzenleme: 20 harfleri ondalık sayısından iki katına değiştirerek kaldırıldı.

düzenleme: 7 Harf Emoji Numaraları geçerek Kaldırıldı

düzenleme: Kaldırıldı 4 Harfler her şeyi çift ve ints karışımı yerine ikiye katlayarak.

düzenleme: Kaldırıldı 69 Harfler - ölü kod bulundu o_O En İyi Giriş C #: D

edit: Removed 3 Letters - En son if-else deyimi değiştirildi

düzenleme: Kaldırılan 4 Harf - kısa devre operatörlerinden (&& ve ||) normal ve ve |

düzenleme: Kaldırıldı 11 Harfler - koşullu verbatim dizesi ile h.WriteLine'den w () ye geçti.


İyi görünüyor. Statik girdiyle burada test edebildim . Bunu çevrimiçi veya Mac'te dinamik girdiyle test etmenin bir yolu var mı?
geokavel

Emojiler olarak gösterilmesine rağmen, burada dinamik giriş ile test edebilirsiniz ??.
geokavel

Sizinkinde bulduğum tek sorun, "Geçersiz kod" un yalnızca aralıkta olmayan bir sayı basamaklı birleşim için gösterilmesi gerektiğidir. Belirtilmemiş tüm hatalar "Hata" ile sonuçlanmalıdır.
geokavel

benim yolda @insertusernamehere: D
Stephan Schinkel

hey .... ben php altında aşağı var :) :) @insertusernamehere
Stephan Schinkel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.