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 E6
seç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ı, B2
veya 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 (
A0
veya: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," ");
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ü:
1⃣2⃣3⃣4⃣5⃣...
A🍅🍆🍇🍈🍉...
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.
- 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
$
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 $
.
$
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.
$ can be replaced with your local currency
Madeni paraların (N) sckels (D) imes ve (Q) çeyrek olmasını isterseniz, pek anlamlı olmaz. Bunu karışıklık eklerken çıkarmanızı öneririm.