Mesin Penjual Otomatis Emoji

23

Tidak bisa melihat emoji? Klik di sini .

Anda akan mensimulasikan mesin penjual otomatis. Item tersebut adalah 56 emoji berbeda, yang dapat direpresentasikan sebagai dua karakter pengganti UTF-8, dari: 🍅 (U + D83C U + DF45) hingga 🍼 (U + D83C U + DF7C). Dalam HTML, emoji ini dapat direpresentasikan dalam formulir UTF-16 sebagai & # x1F345 hingga & # x1F37C . Dalam basis 10 karakter UTF-8 pertama memiliki nilai 55356 . Nilai karakter kedua berkisar dari 57157 hingga 57212 . Berikut adalah program CJam yang menghasilkan semua emoji yang relevan. Untuk menghindari kebingungan, tantangan ini akan dinilai dalam karakter, bukan byte . Beberapa emoji adalah 2 karakter, beberapa adalah 3. http://www.lettercount.com akan memberi Anda penghitungan yang akurat untuk tantangan ini.

Harga 💵💵💵

Ada 8 kategori harga yang berbeda:

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

Menampilkan Mesin Penjual Otomatis

Inilah yang dilihat pengguna saat program dimulai dan setelah melakukan pembelian. Anda dapat menggunakan nomor biasa sebagai ganti nomor emoji, tetapi nomor emoji memiliki manfaat sama lebarnya dengan emoji lainnya. Jika Anda menggunakan angka emoji, Anda dapat mengurangi 14 karakter dari skor Anda, karena angka emoji masing-masing 3 karakter.

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

Jika pengguna memasukkan G5yang memilih 🍳. Memasukkan pilihan E6🍦.

Menambahkan Uang Tunai 💸💸💸

Untuk menambah uang, pengguna harus memasukkan /dan kemudian kode untuk koin atau tagihan. Koin-koin tersebut adalah (N) ickel ($ 0,05), (D) ime ($ 0,10), dan (Q) uarter ($ 0,25). Tagihannya adalah (O) ne ($ 1,00), (F) ive ($ 5,00), (T) id ($ 10,00). Setiap kali pengguna menambahkan tagihan atau koin, program harus menampilkan Balance: [New Balance]. Hanya satu tagihan atau koin yang dapat ditambahkan setiap kali. Berikut adalah contoh yang berisi tiga baris input:

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

Memilih Item

Pengguna memilih item dengan memasukkan kode item, suka B2atau C3. Jika pengguna belum menambahkan uang, program akan menampilkan Item Cost: [Cost of Item]. Jika pengguna telah menambahkan uang, tetapi itu tidak cukup untuk membeli item, hasilnya seharusnya Insufficient Funds. Item Cost: [Cost of Item]. Jika pengguna tidak menambahkan cukup uang, program ini harus output: Item at [Item Location] Purchased. Remaining Balance: [Balance - Cost of Item]. Kemudian pada barisnya sendiri, cetak emoji dari barang yang dibeli. Kemudian cetak seluruh mesin penjual otomatis (Lihat "Menampilkan Mesin Penjual Otomatis") dengan barang yang dibeli diganti dengan 🚫 (U + D83D U + DEAB) Basis 10: (55357 57003).

Mengakhiri Program

Jika pengguna membeli item yang menurunkan saldonya menjadi $ 0,00, program harus diakhiri secara otomatis. Atau, jika pengguna memasukkan "Selesai" kapan saja, program harus memberikan sisa saldo kepada pengguna dalam perubahan. Perubahan harus dilakukan hanya dalam Nikel, Dimes, dan Quarters, dan harus menjadi jumlah koin sekecil mungkin. Sebagai contoh jika sisa saldo adalah $ 1,45, output seharusnya QQQQQDD.

Contoh Jalankan

(Input dimulai dengan "-")

  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

Kode Tidak Valid

  • Jika input dimulai dengan /tetapi bukan input uang yang valid, output Money not Accepted.
  • Jika input adalah item yang sudah dibeli, output Item out of stock
  • Jika input adalah kombinasi huruf-digit yang tidak dalam jangkauan (seperti A0atau J2, hasilkan "kode tidak valid"
  • Untuk semua input tidak valid lainnya, hasilkan "Kesalahan"

Bonus (-15%): Selai

Saat penjual item, ada kemungkinan 10% mesin akan macet, dan item macet. Keluaran JAM!!!satu kali. Dalam hal ini pengguna harus memasukkan "pukulan" atau "tendangan". Setiap kali pengguna melakukannya, ada kemungkinan 20% bahwa barang tersebut akan terbebas, dan seperti biasa. Sampai macet hilang, satu-satunya input yang dikenali adalah "punch" dan "kick". Semua input lain tidak melakukan apa pun. Berikut ini contohnya:

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

(Kemacetan telah diatasi. Lanjutkan seperti biasa.)

Bonus (-10%): ID

Jika pengguna mencoba membeli minuman beralkohol (barang apa pun di baris terakhir kecuali botol bayi), Anda harus meminta bukti usia. Untuk melakukannya, Anda meminta pengguna untuk melipatgandakan dua angka acak antara 13 dan 19 (inklusif). Keluaran ID required: [13-19]x[13-19] = ?. Jika pengguna menjawab dengan benar, pembelian dapat dilakukan. Jika tidak, cetak 🔞 (U + D83D U + DD1E) basis 10: (55357 56606)

Tantangan Alternatif: Minecraft

Tantangan ini sepertinya sesuatu yang mungkin di Minecraft. Untuk berhasil membuat versi Minecraft dari program ini, pemain harus

  • Memiliki kotak 8x7 untuk memilih dari 56 item unik
  • Dapat menambah uang ke saldo (Mungkin menggunakan berbagai jenis batu untuk berbagai denominasi yang dijelaskan di atas.)
  • Berikan pengguna item yang dia pilih jika mereka telah memasukkan cukup "uang"
  • Kembalikan pengguna jumlah perubahan yang sesuai di akhir.

Mode Kompatibilitas

  • Saya hanya dapat mengambil input di awal program

    • Tidak perlu khawatir, Anda dapat membuat program yang mengambil semua input di muka. Jika program Anda belum berakhir setelah mengevaluasi semua input, asumsikan "Selesai" dipanggil di akhir. Jika Anda melakukan metode ini, Anda tidak akan berhak atas bonus apa pun.
  • Saya tidak dapat melihat / menampilkan emoji

    • Anda dapat menyalin dan menempelkan input dan output Anda ke dalam Stack Snippet ini (atau di sini ). Ia dapat memahami kode emoji unicode dan HTML untuk emoji. Jika output Anda terlihat benar di halaman ini, program Anda lewat. Coba tempel di beberapa sampel input / output untuk melihat tampilannya.

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>

Berikut ini adalah versi mode kompatibilitas yang disingkat dari tampilan mesin penjual otomatis yang dapat Anda uji di Stack Snippet:

   &#x31&#x20E3&#x32&#x20E3&#x33&#x20E3&#x34&#x20E3&#x35&#x20E3...
A&#x1F345&#x1F346&#x1F347&#x1F348&#x1F349...
B 
...
  • Saya dapat menampilkan emoji, tetapi tidak untuk STDOUT.

    • Tampaknya, Terminal Mac OS X adalah satu-satunya yang diketahui dapat menghasilkan emoji. Jika Anda tidak dapat menampilkan emoji di terminal Anda, opsi Anda yang lain adalah
      • Kirim semua output ke file.
      • Tampilkan semua output di jendela.
      • Gunakan teknik yang dijelaskan dalam "Saya tidak bisa melihat / keluaran emoji".
geokavel
sumber
5
$ can be replaced with your local currencytidak masuk akal jika Anda mengharuskan koin menjadi (N) ickels (D) imes dan (Q) uarters. Saya sarankan Anda menghapusnya karena menambah kebingungan.
Level River St
@steveverrill Poin bagus. Saya sudah mengubahnya. Pertanyaan saya adalah, apakah keyboard non-AS memiliki tombol $, atau ada kode untuk itu?
geokavel
yang $simbol adalah bagian dari set karakter ASCII, sehingga aman untuk mengasumsikan cukup banyak semua keyboard dan bahasa bisa mengatasinya. Ini adalah satu-satunya simbol mata uang dalam set karakter ASCII 7-bit. Akibatnya, simbol lain seperti simbol GBP atau simbol EUR € dapat ditampilkan secara keliru karena pengkodean string yang tidak kompatibel, tetapi sebenarnya tidak pernah terjadi $.
Level River St
@steveverrill Saya tahu mereka bisa mengatasinya, tetapi apakah ada tombol keyboard fisik untuk itu?
geokavel
Keyboard Inggris dan Spanyol saya memilikinya di samping simbol mata uang lokal yang relevan, dan saya pikir yang lain juga. Selain menjadi simbol mata uang yang paling banyak digunakan di dunia (termasuk untuk banyak mata uang yang tidak disebut dolar), $simbol tersebut memiliki makna khusus dalam sebagian besar bahasa pemrograman, sehingga tidak tersedia di papan ketik akan menjadi batasan serius. Saya mengetik ini di keyboard Spanyol saya dan sebenarnya lebih mudah untuk mendapatkan $ (shift + 4) daripada € (alt gr + E) sehingga Anda dapat melihat bahwa simbol yang terakhir ditambahkan sebagai renungan.
Level River St

Jawaban:

8

PHP, (1295 - 14) - 25% = 960,75 karakter

Skor lama 1315 1351 1361 1295 989 977

Itu menyenangkan, dan itu jawaban pertama - ya.

$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;

Saat mesin penjual otomatis mengingatkan saya pada tahun 90-an yang saya gunakan gotodan untuk barang yang dibeli, Space Invader 👾 ditampilkan. Mesin digambar ulang setelah setiap perintah.

Tidak disatukan (entah bagaimana)

$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;

👾 Diuji pada OS X dengan PHP 5.5 dan 5.6 👾


Suntingan

  • Menambahkan 12 byte . Tetap keluar Donedan pindahkan beberapa senar.
  • Menambahkan 306 byte . Memperbaiki satu atau dua bug dan menambahkan dukungan untuk bonus. Dengan bonus itu sekarang hampir 15 byte lebih pendek.
  • Menambahkan 66 byte . Harus memformat uang secara berbeda, juga harus menerima nilai lebih ( [A-Z][0-9]) untuk Invalid code.
  • Disimpan 10 byte . Menemukan satu spasi putih dan mengubah beberapa .=menjadi =berlaku.
  • Disimpan 36 byte karena beberapa refactoring.
  • Disimpan 20 byte dengan refactoring beberapa loop dan tugas.
masukkan nama pengguna di sini
sumber
Wow, itu sangat menyenangkan untuk dimainkan! Satu-satunya masalah yang saya perhatikan: Anda perlu memformat harga seperti 3 dan 3,5 menjadi $ 3,00 dan $ 3,50.
geokavel
Juga, ketika saya mengetik J5saya harus mendapatkan pesan: "Kode tidak valid".
geokavel
@geokavel Terima kasih atas tanggapan Anda. Saya telah menambahkan format uang yang benar dan juga menerima lebih banyak varian untuk Invalid codesaat ini. Ini adalah tantangan yang menyenangkan - meskipun memiliki banyak pilihan ... 1K karakter berbicara sendiri ... :)
insertusernamehere
Selamat, dengan selisih yang sempit, Anda adalah pemenangnya! Terima kasih kepada kedua pemain karena telah menjadi pesaing yang layak, dan dengan sungguh-sungguh mencoba untuk bermain golf satu sama lain!
geokavel
@geokavel Itu adalah tantangan yang menyenangkan dan ping pong yang bagus antara Stephan dan saya. Jika seseorang akan datang dengan solusi yang lebih pendek di masa depan, saya akan ke sana. ;)
insertusernamehere
5

C # 6 (.Net Framework 4.6), 1356 1324 1304 1311 1307 1238 1235 1231 1220 Surat - 14 Surat (Nomor Emoji) - (15% Bonus Jam + 10% Bonus ID) = 1017 993 978 972.75 969.75 918 915.75 904.5 Surat

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);}

sedikit lebih ungolfed untuk digunakan di LinqPad 5 (C # 6). Gunakan h = System.Console di F4.

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);

sunting: terima kasih atas petunjuk untuk (;;);)

edit: Strike !! Lebih baik dari PHP ;-)

sunting: Menghapus 24 Surat. Masih ada sesuatu yang tersisa untuk php.

sunting: Menghapus 20 Surat dengan beralih dari desimal ke ganda.

sunting: Dihapus 7 Surat dengan beralih ke Nomor Emoji

sunting: Dihapus 4 Huruf dengan mengalihkan segalanya menjadi ganda alih-alih campuran ganda dan int.

sunting: Dihapus 69 Surat - kode mati ditemukan o_O Entri Terbaik C #: D

sunting: Removed 3 Letters - beralih pernyataan if-else yang terakhir

sunting: Dihapus 4 Surat - beralih dari operator hubung singkat (&& dan ||) ke normal & dan |

sunting: Dihapus 11 Surat - beralih dari h.WriteLine ke w () dengan string kata demi kata bersyarat.

Stephan Schinkel
sumber
Kelihatan bagus. Saya bisa mengujinya di sini dengan input statis. Apakah ada cara bagi saya untuk mengujinya secara online atau di Mac dengan input dinamis?
geokavel
Anda dapat mengujinya dengan input dinamis di sini , meskipun emoji ditampilkan sebagai ??.
geokavel
Satu-satunya masalah yang saya temukan dengan Anda adalah bahwa "Kode tidak valid" seharusnya hanya muncul untuk kombo angka-angka yang tidak dalam jangkauan. Semua kesalahan yang tidak ditentukan harus menghasilkan "Kesalahan".
geokavel
dalam perjalanan saya @insertusernamehere: D
Stephan Schinkel
hei .... saya sudah mendapatkannya di bawah php :) @insertusernamehere
Stephan Schinkel