सबसे छोटा कोनामी कोड


15

समस्या

आपको एक प्रोग्राम लिखना होगा, जब कोनमी कोड रनटाइम के दौरान टाइप किया जाता है, स्ट्रिंग को प्रिंट करता है " +30 lives" और कंप्यूटर के स्पीकर से अपनी पसंद का शोर सुनता है।

परिभाषा

"कोनामी कोड" परिभाषित UUDDLRLRBAकिया गया है जिसके बाद एंटर की दबाएं।

नियम

  • आप के Uलिए Dछोड़ दिया, के लिए ऊपर तीर का उपयोग करने के लिए चुन सकते हैंLRजब तक आपका कोड तीर या अक्षरों के साथ संगत है, तब तक , और राइट के लिए ।
  • आपका इनपुट किसी कंट्रोलर या कीबोर्ड से स्वीकार किया जा सकता है, लेकिन दोनों को सपोर्ट करने की जरूरत नहीं है।
  • मौजूदा उत्तर BABAइसके बजाय उपयोग करना जारी रख सकते हैं BA, लेकिन यदि वे ऐसा करना चाहें तो इसे छोटा भी कर सकते हैं। भविष्य के जवाब सभी BAको स्थिरता के लिए उपयोग करना चाहिए ।

  • खाली इनपुट का समर्थन करने की आवश्यकता नहीं है।


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
मार्टिन एंडर

जवाबों:


13

05AB1E , 33 बाइट्स (खाली इनपुट पर जुर्माना)

Dg0Qiq}•ï“뙵yê!•36BQi7ç“+30™‹“J,

इसे ऑनलाइन आज़माएं!

05AB1E , 30 26 बाइट (खाली इनपुट पर विफल)

-4 अदनान को धन्यवाद

•ï“뙵yê!•36BQi7ç,“+30™‹“,

इसे ऑनलाइन आज़माएं!

•ï“뙵yê!•36B                  # UUDDLRLRBABA in base-214, converted back to base-36.
             Qi                # If implicit input is equal to...
               7ç,             # Print 7 converted to a character to the console (bell sound)...
                  “+30™‹“, # Print +30 lives.

डिस्क्लेमर: बेल साउंड ट्रिप इटऑनलाइन पर नहीं चलता है, हो सकता है कि डेनिस से पूछें कि क्या उसका कोई सर्वर कहीं चला रहा है तो आप उसे पिंग कर रहे हैं।


आप लगभग जीत गए! बस एक बाइट
क्रिस्टोफर

2
का एक संपीड़ित संस्करण "+30 lives"है “+30™‹“:)
अदनान

यह हमेशा ऑनलाइन दुभाषिया पर मेरे लिए "+30 जीवन" का उत्पादन करता है, यहां तक ​​कि खाली इनपुट के साथ भी।
redstarcoder

2
@redstarcoder केवल * खाली इनपुट के साथ, बकवास, फिक्सिंग
मैजिक ऑक्टोपस Urn

@carusocomputing क्या आप इसे ठीक कर सकते हैं बीए केवल एक बार होना चाहिए (मेरी गलती क्षमा करें)
क्रिस्टोफर

7

जावास्क्रिप्ट (ईएस 6), 202 200 198 बाइट्स

केवल क्रोम और फ़ायरफ़ॉक्स पर परीक्षण किया गया। UDLRतीर कुंजी के बजाय का उपयोग करता है । कृपया सुनिश्चित करें कि CapsLock बंद है।

(o=(A=new AudioContext()).createOscillator()).connect(A.destination);s='';document.onkeyup=e=>{(s+=e.key[0]).slice(-11)=='uuddlrlrbaE'&&setTimeout('o.stop()',500,console.log('+30 lives'),o.start())}
Please click inside this area to make sure it gets focus.


क्या आप इसे ठीक कर सकते हैं बीए केवल एक बार होना चाहिए (मेरी गलती क्षमा करें)
क्रिस्टोफर

7

पायथन 3,  55  53 बाइट्स

-1 isaacg को बाइट धन्यवाद (उपयोग बिटवाइज़ को बदलने के लिए नहीं -10के साथ ~9)।
कैलक्यूलेटरफलाइन के लिए -1 बाइट धन्यवाद (शाब्दिक BELबाइट का उपयोग करना संभव है )।

while'UUDDLRLRBA'!=input()[~9:]:1
print('+30 lives7')

जहां 7ऊपर दिखाया गया है वह शाब्दिक बाइट 0x07(कोड ब्लॉक में एक अप्राप्य) है।

एक बार एंटर करने के बाद whileलूप कंडीशन को चेक किया जाता है। यदि अंतिम ~9= 10 अक्षर (अधिकांश पर) कॉन्ट्रा कमांड कोड से मेल नहीं खाते हैं, तो नो-ऑप 1को निष्पादित किया जाता है ( passसंक्षिप्तता के लिए प्रतिस्थापन ); वे अगर ऐसा मेल खाते हैं तो पाश समाप्त होता है और जब तक printबयान निष्पादित किया जाता है, जो लिखते हैं एक ASCII घंटी चरित्र ( "अलार्म"), के साथ साथ आवश्यक पाठ 0x07है, जो एक ध्वनि पैदा करता है जब तक कि यह स्पष्ट रूप से अक्षम कर दिया गया है (या टर्मिनल कोई वक्ता है !)।


क्या आप इसे ठीक कर सकते हैं बीए केवल एक बार होना चाहिए (मेरी गलती क्षमा करें)
क्रिस्टोफर

फिक्स्ड, सिर के लिए धन्यवाद।
जोनाथन एलन

1
-10= ~9, जो आपको एक बाइट बचा सकता है।
इसाॅग

क्या आप स्ट्रिंग में -1 बाइट के लिए शाब्दिक \ x07 नहीं डाल सकते हैं?
कैलक्यूलेटरफल

@ कैलाकुलरलाइन मुझे कोई पता नहीं है, क्या मैं कर सकता हूं? ध्यान दें कि लोग अक्सर \nपायथन गोल्फ में तार का उपयोग करते हैं , वे क्यों नहीं उपयोग करेंगे \x0a?
जोनाथन एलन

5

जेली, 33 30 29 27 बाइट्स

ɠ⁻“UUDDLRLRBA”$¿ṛ7Ọ“¡}ʠƈ[ỵ»

बाहर मुड़ता है, परिशिष्ट ( ) की आवश्यकता नहीं है, स्ट्रिंग्स स्वचालित रूप से दोनों मुद्रित में एक साथ शामिल हो जाते हैं

ɠ⁻“UUDDLRLRBABA”$¿ṛ7Ọṭ“¡}ʠƈ[ỵ»

असम्पीडित

ɠ⁻“UUDDLRLRBABA”$¿ṛ7Ọṭ“+30 lives”

इसे ऑनलाइन आज़माएं
यदि आप बाद में सब कुछ हटा देते हैं ¿, तो आप इनपुट में गड़बड़ी कर सकते हैं और देख सकते हैं कि इनपुट स्ट्रिंग सही होने पर ही यह वापस आएगा।

ɠ⁻“UUDDLRLRBABA”$¿ṛ7Ọṭ“+30 lives” - main link
ɠ                                 - takes a line of input
 ⁻“UUDDLRLRBABA”$                 - $ groups it into a monadic !="UUDDLRLRLRBABA"
                 ¿                - while (the inequality, which takes from the getline)
                  ṛ               - take the right argument (to ignore the input string)
                   7Ọ             - chr(7), the bell character
                     ṭ“+30 lives” - append that bell character to the output

धन्यवाद @JonathanAllan मेरी मदद करने के लिए स्ट्रिंग संपीड़न बाहर आंकड़ा :)


“+30 lives”संपीड़ित है “¡}ʠƈ[ỵ»(भविष्य के संदर्भ के लिए यहां इसके बारे में एक पोस्ट है, यह जेली विकी पर ट्यूटोरियल में जुड़ा हुआ है)।
जोनाथन एलन

आवाज कहाँ है
tuskiomi

1
मैंने सिर्फ आधिकारिक दुभाषिया के साथ इसका परीक्षण किया और यह वास्तव में लूप करता है जब तक कि कोनमी कोड दर्ज नहीं किया जाता है
JayDepp

@JayDepp क्या आप इसे ठीक कर सकते हैं बीए केवल एक बार होना चाहिए (मेरी गलती क्षमा करें)
क्रिस्टोफर

मेरा मानना ​​है कि यह एलएलसी के एक अंतर्निहित प्रिंट (अग्रणी निरंतर श्रृंखला) के रूप में इतना स्वचालित स्ट्रिंग संयोजन नहीं है, 7Ọजिसके बाद निलाद का एक अंतर्निहित प्रिंट होता है“¡}ʠƈ[ỵ» , इसके पर प्रकट होता है जैसे कि यह संयोजन था। एक शोकेस के रूप में आप दोनों के बीच 2 सेकंड की नींद जोड़ने की कोशिश कर सकते हैं ɠ⁻“UUDDLRLRBABA”$¿ṛ7Ọ2“+30 lives”œS
जोनाथन एलन

5

प्रसंस्करण, 161 157 155 बाइट्स

String k="";void keyTyped(){if(match(k+=key,"uuddlrlrba\\n$")!=null){print("+30 lives");new processing.sound.SoundFile(this,"a.mp3").play();}}void draw(){}

ऑडियो फ़ाइल के रूप में सहेजा जाना चाहिए sketchName/data/a.mp3। नोट: मैंने केवल ऑडियो फ़ाइल के बिना इस कार्यक्रम का परीक्षण किया है क्योंकि मैं mp3फ़ाइल डाउनलोड करने के लिए बहुत आलसी हूं (चूंकि केवल सीमित एक्सटेंशन का समर्थन किया गया है processing.sound.SoundFile)।

draw()समारोह के लिए आदेश में वहाँ होने की जरूरत है keyTypedकाम करने के लिए।

हम जो उपयोग कर रहे हैं keyTypedवह इसलिए है क्योंकि प्रसंस्करण में STDIN नहीं है, यह केवल स्केच द्वारा चलाए जा रहे कुंजी के लिए सुन सकता है।

व्याख्या

String k="";
void keyTyped(){
  if(match(k+=key,"uuddlrlrba\\n$")!=null){
    print("+30 lives");
    new processing.sound.SoundFile(this,"a.mp3").play();
  }
}
void draw(){
}

उपयोगकर्ता के कीस्ट्रोक्स के सभी स्ट्रिंग के अंदर चार्ट के रूप में संग्रहीत किए जाते हैं kkeyTypedइनबिल्ट समारोह है कि जब भी उपयोगकर्ता के एक कुंजी कहा जाता है। इसके साथ ही, हम जाँच रहे हैं कि क्या यह स्ट्रिंग कीस्ट्रोक्स के साथ समाप्त होता है। फिर हम +30 livesसाउंड फाइल को प्रिंट और प्ले करते हैं। और drawफंक्शन लगातार अपडेट करने के लिए है keyTyped। कोनामी कोड दर्ज किए जाने के बाद, फिर कुछ और आउटपुट नहीं किया जाएगा और कोई ऑडियो नहीं चलाया जाएगा।


ऐसा लगता है कि आपको अपनी एमपी 3 फ़ाइल का आकार गिनना चाहिए

@ricyje प्रसंस्करण वास्तव में ध्वनियों के उत्पादन का कोई अन्य तरीका नहीं है। इसके अलावा, .mp3फ़ाइल का आकार वास्तव में कोई फर्क नहीं पड़ता क्योंकि कोई फर्क नहीं पड़ता कि यह क्या है, प्रसंस्करण इसे एक ध्वनि के रूप में
खेलेगा

@KritiiLithos आप इसे ठीक कर सकते हैं बीए केवल एक बार होना चाहिए (मेरी गलती क्षमा करें)
क्रिस्टोफर

@ChristopherPeart हो गया! (मुझे खुशी है कि 2 और बाइट्स बचाने के लिए :)
कृतिका लिथोस

4

> <>, 132 69 64 62 बाइट्स *> <> , 84 बाइट्स

i:1+?\0[
:1+?!\i
BA"a~/"UUDDLRLR
{v!?l/!?=
7/"+30 lives"
o<;!?l

यहाँ यह कोशिश करो!

यह 7अंत में शोर (ऑनलाइन दुभाषिया पर सुना नहीं) के लिए घंटी झंकार (अस्सी ) पर भरोसा करता है ।

एक और 15 बाइट बचाने के लिए @TealPelican को धन्यवाद!

के BAबजाय के लिए जाँच दो बाइट्स सहेजा गया BABA


क्या इससे आवाज बनती है?
क्रिक्टी लिथोस

@KritiiLithos, हाँ आप दूसरी छोर पर दूसरी पंक्ति में देखेंगे एक "7" है, यह घंटी की झंकार है।
Redstarcoder

मैंने आपके कोड को थोड़ा कम कर दिया है क्योंकि मैं पहली पंक्तियों के उपयोग को नहीं समझता था? इसे यहाँ आज़माएँ यह लिंक> <> के लिए है, लेकिन *> <> के लिए भी काम करता है (आपके पास जैसे गोता मैकेनिक का उपयोग नहीं करता है) - यह भी 19 बाइट्स पर सहेजा गया है! :)
चैले पेलिकन

@Tealpelican, पहली लाइन तो यह चल रहा है, इनपुट की प्रतीक्षा में है! आपका लिंक किया गया संस्करण ऐसा नहीं करता है; पी।
redstarcoder

तुम सही हो! मैंने यह खो दिया! - मैंने अपनी त्रुटि के लिए समायोजित करने के लिए एक पंक्ति जोड़ी है और कुछ निरर्थक उलट-फेर करने की जगह ले ली है और नए संस्करण का प्रयास करें जिसे मैंने 67 बाइट्स के लिए दिया है: D
Teal pelican

3

सी 119 -1 - 2 = 116 बाइट्स

golfed

i;f(){char a[14];a[13]=0;while(strcmp(a,"UUDDLRLRBA"))for(i=0;i<12;a[i]=a[i+++1]);a[i]=getch();puts("+30 Lives\a");}  

Ungolfed

#include<stdlib.h>
#include<conio.h>

i;
f()
{
    char a[14];
    a[13]=0;
    while(strcmp(a,"UUDDLRLRBA"))
    {
        for(i=0;i<12;a[i]=a[i+++1]);
        a[i]=getch();
        puts(a); //This is to print every step in the runtime
    }
    puts("+30 Lives\a"); // '\a' is the acsii char that makes sound when passed to STDOUT
}

main()
{
    f();
}

s/UUDDLRLR BABA/UUDDLRLRBABA-1 बाइट के लिए और स्ट्रैम्प सही स्ट्रिंग की तलाश में होगा!
redstarcoder

@ क्रिसटन कृपया इस स्टैक एक्सचेंज साइट पर लोगों के कोड में संपादन न करें। आपका संपादन कभी भी स्वीकृत नहीं होना चाहिए।
बिल्ली

मुकुल, आप खुद ही स्पेस निकाल सकते हैं।
बिल्ली

1
@ मुकुलकुमार बेशक :) यह महत्वपूर्ण है कि उत्तरदाता अपना कोड संपादित करें।
बिल्ली

1
@ मुकुलकुमार यह तय कर सकते हैं कि बीए केवल एक बार होना चाहिए (मेरी गलती क्षमा करें)
क्रिस्टोफर

3

स्टैक्ड , 41 बाइट्स

['+30 lives'BEL+out]prompt'UUDDLRLRBA'=if

कीबोर्ड से इनपुट पढ़ता है।

['+30 lives'BEL+out]prompt'UUDDLRLRBA'=if
[                  ]prompt'UUDDLRLRBA'=if  if the input is the desired string,
 '+30 lives'BEL+out                           output '+30 lives' and the BEL character. 

3

ऑटोहॉटकी, 63 बाइट्स

Input,K,L10
if(K="UUDDLRLRBA"){
MsgBox,"+30 lives" 
SoundBeep
}

इस स्क्रिप्ट को चलाने के बाद, यह जांच करेगा कि क्या अगली 10 कुंजियाँ कोनमी कोड हैं और यदि यह है, तो यह "+30 जीवन" कहते हुए एक संदेश बॉक्स दिखाएगा और इसे एक बीप बजाना चाहिए (मेरे पास बोलने के लिए अब परीक्षण नहीं है )।


ठंडा! AutoHotkey एक दिलचस्प कार्यक्रम है।
क्रिस्टोफर

3

GNU sed, 32 25 + 1 = 33 26 बाइट्स

-nझंडे के लिए +1 बाइट ।

/UUDDLRLRBA$/a+30 Lives\a

इसे ऑनलाइन आज़माएं!

व्याख्या

हर बार एंटर दबाया जाता है ( $), प्रोग्राम चेक करता है कि क्या पहले के 10 कीस्ट्रोक्स कोड थे। यदि वे थे, तो aकमांड पाठ +30 Livesऔर घंटी ध्वनि ( \a) को वर्तमान चक्र के अंत में मुद्रित किया जाता है (जो, इस मामले में, तुरंत है)।


क्या आप इसे ठीक कर सकते हैं बीए केवल एक बार होना चाहिए (मेरी गलती क्षमा करें)
क्रिस्टोफर

यह पहले से BAही एक बार है।
जॉर्डन

ओह वाह ध्यान नहीं दिया
क्रिस्टोफर

3

गणितज्ञ, 50 बाइट्स

While[x=!=UUDDLRLRBA,x=Input[]];Beep[];"+30 lives"

प्रारंभ में, xकेवल एक प्रतीक है और इस प्रकार प्रतीक के समान ( =!=) नहीं हैUUDDLRLRBA , इसलिए x=Input[]मूल्यांकन किया जाता है। यह इनपुट फ़ील्ड में कर्सर के साथ एक डायलॉग बॉक्स खोलेगा, जिससे उपयोगकर्ता तुरंत कीबोर्ड पर टाइप करना शुरू कर सकता है।

यदि कुछ भी टाइप किए बिना Enterदबाया या OKक्लिक किया जाता है, तो InputField[]वापस आ जाएगा Null, जो समान नहीं हैUUDDLRLRBA , इसलिए लूप जारी रहता है और एक अन्य डायलॉग बॉक्स खोला जाएगा।

यदि उपयोगकर्ता क्लिक करता है Cancelया अन्यथा संवाद बॉक्स से बाहर निकलता है, तो InputFieldवापस आ जाएगा $Canceled, जो भी समान नहीं हैUUDDLRLRBA , इसलिए लूप जारी रहेगा।

उपयोगकर्ता अपने दिल की इच्छा के लिए संवाद बॉक्स में टाइप कर सकते हैं। जब वे हिट करते हैं Enter, तो उनके इनपुट को वुल्फराम भाषा अभिव्यक्ति (संभवतः सिर्फ बक्से) के रूप में व्याख्या की जाती है। अगर वह अभिव्यक्ति प्रतीक के अलावा कुछ और हैUUDDLRLRBA , तो लूप जारी रहेगा।

"जब तक कोनामी कोड दर्ज नहीं किया जाता है, तब तक यह लूप होना चाहिए" थोड़ा अस्पष्ट है, लेकिन मेरा मानना ​​है कि यह इसे संतुष्ट करता है। एक बार जब Whileपाश पूरा हो गया है, ।Beep[];"+30 lives"


क्या आप इसे ठीक कर सकते हैं बीए केवल एक बार होना चाहिए (मेरी गलती क्षमा करें)
क्रिस्टोफर

1
UUDDLRLRB? कहाँ है A?
कैलक्यूलेटरफ्लीन

@ कैलाकुलरफैलिन फिक्स्ड
ngenisis

3

पेटिट कंप्यूटर बेसिक, 91 बाइट्स

@L
WAIT 1S$=S$+CHR$(B)*!!B
B=BTRIG()IF B<1024GOTO@L
IF"xxxxxxxxxx"==S$THEN BEEP?"+30 lives

अंत में एक समाधान जो वास्तव में नियंत्रक इनपुट का उपयोग करता है!

मैंने नए संस्करण (SmileBASIC) के बजाय पेटिट कंप्यूटर का उपयोग किया, क्योंकि इसमें स्टार्ट बटन तक पहुंच है, और इससे BTRIG()छोटा है BUTTON()

मैंने डेटा स्ट्रिंग को बदल दिया है x, इसमें एएससीआई कोड 1,1,2,2,4,8,4,8,32,16 अक्षर होने चाहिए

बोरिंग संस्करण, 46 बाइट्स

INPUT S$IF"UUDDLRLRBA"==S$THEN BEEP?"+30 lives

मैं पेटिट कंप्यूटर प्रविष्टियों के नाम के लिए स्माइलबासिक 2 का उपयोग करने की सलाह दूंगा , और जहाँ स्माइलबासिक को स्माइलबासिक 3 के रूप में निर्दिष्ट करना आवश्यक है ।
घोंघा_

नियंत्रक का उपयोग कर अच्छा काम!
क्रिस्टोफर

2

पॉवरशेल, 89 86 बाइट्स

if((Read-Host)-eq"UUDDLRLRBABA"){"+30 Lives";[System.Media.SystemSounds]::Beep.Play()}

दर्ज करने के लिए स्ट्रिंग जमा Read-Host, तो यह चाहिए .. काम?


2
मुझे लगता है कि आपको कॉन्ट्रा कोड में "UUDDLRLRBABA" नहीं "UUDDLRLR BABA" की जांच करने की आवश्यकता है, क्योंकि वहाँ कोई "" नहीं है। वह भी आपको एक बाइट बचा लेगा। मुझे लगता है कि प्रवेश को मान्य है क्योंकि इनपुट भेजने के लिए उन्हें एंटर दबाना होगा।
Redstarcoder 18

मैं जिस तरह से काम करता हूं
क्रिस्टोफर

1
@ChristopherPeart कृपया ओपी होने पर, या यदि आप उन्हें एक बाइट बचा रहे हैं, तो भी दूसरों के कोड में संपादन न करें।
बिल्ली

ठीक है मैं यह करूंगा। लेकिन यह मेरी गलती थी
क्रिस्टोफर

@ConnorLSW आप इसे ठीक कर सकते हैं बीए केवल एक बार होना चाहिए (मेरी गलती क्षमा करें)
क्रिस्टोफर

2

सी # (उबाऊ संस्करण), 80 बाइट्स

void n(){while(Console.ReadLine()!="UUDDLRLRBA"){}Console.Write("+30 Lives\a");}

सी # (दिलचस्प एक), 202 बाइट्स

void n(){t();Console.Write("+30 Lives\a");}void t(){var k="UUDDLRLRBA";var s="";while(s!=k){s+=Console.ReadKey().Key.ToString();s=k.StartsWith(s)?s:"";}if(Console.ReadKey().Key!=ConsoleKey.Enter){t();}}

मुझे लगता है कि यह काम करता है, दुख की बात है कि ऑनलाइन परीक्षक कंसोल इनपुट के अस्तित्व का समर्थन नहीं करते हैं, क्योंकि मुझे मेरे द्वारा किए गए परीक्षणों पर जाना होगा

सबसे अधिक संभावना गोल्फ हो सकता है - मैं इस पर बहुत अच्छा नहीं हूँ! :)

Ungolfed:

void n()
{
    t();
    Console.WriteLine("+30 Lives\a");
}

void t()
{
    var k = "UUDDLRLRBA";
    var s = "";
    while(s != k)
    {
        s += Console.ReadKey().Key.ToString();
        s = k.StartsWith(s) ? s : "";
    }
    if(Console.ReadKey().Key != ConsoleKey.Enter)
    {
        t();
    }
}

हम्म, क्या सी # में एक नया तरीका पता चलने तक पढ़ने का कोई तरीका है? वह आपको कुंजी दर्ज करने से बचाएगा। यहां देखें कि पायथन में इसे कैसे लागू किया गया है
redstarcoder

वहाँ है, Console.Readlineलेकिन मैंने सोचा था कि चुनौती की भावना हो सकती है! अगर यह ठीक है तो मैं इसे बहुत छोटा बना सकता हूं
अल्फी गुडाक्रे

@redstarcoder ने Console.ReadLine()
अल्फी

@AlfieGoodacre क्या आप इसे ठीक कर सकते हैं बीए केवल एक बार (मेरी गलती क्षमा करें) होना चाहिए
क्रिस्टोफर

@ChristopherPeart यह मूल रूप से था, लेकिन मुझे इसे बदलना पड़ा;)
अल्फी गुडाक्रे

2

आश्चर्य है , 50 बाइट्स

ol"•";f\@[="UUDDLRLRBA"rl0?ol"+30 lives•"?f0];f0

कोड के चरित्र के साथ बदलें \x07(बीईएल नियंत्रण चार)। STDIN के माध्यम से इनपुट लेता है।


क्या आप इसे ठीक कर सकते हैं बीए केवल एक बार होना चाहिए (मेरी गलती क्षमा करें)
क्रिस्टोफर

खैर मैंने तय किया। सूचना के लिए धन्यवाद!
मामा फन रोल

1

फ्लेक्स, 37 + 5 = 42 बाइट्स

%%
UUDDLRLRBA puts("+30 lives\a");

कोड स्वयं 37 बाइट्स है, इसे "-Main" विकल्प के साथ संकलित करें जो 5 बाइट्स जोड़ता है। स्वाभाविक रूप से, आपको अपने पसंदीदा सी संकलक के साथ परिणामी सी फ़ाइल को संकलित करना होगा, लेकिन मुझे नहीं लगता कि कदम को बाइट गिनती की ओर गिनना चाहिए।

मैं इसके बजाय एक शाब्दिक बीईएल चरित्र का उपयोग करके एक बाइट को बचा सकता था \a, लेकिन मैं अपने कोड को पढ़ने में सक्षम था।


4
आपको वास्तव में कोड पढ़ने में सक्षम होने की आवश्यकता नहीं है। यह कोड गोल्फ है
क्रिस्टोफर

व्यक्तिगत रूप से, मुझे लगता है कि मुझे फ्लेक्स का उपयोग करने के लिए एक बोनस मिलना चाहिए, क्योंकि शायद ही कभी इसका उपयोग यहां किया जाता है। :)
बेनगोल्डबर्ग

1
मेरा मानना ​​है कि आप फ्लेक्स के विकल्प के -llबजाय सी कंपाइलर के विकल्प के रूप में 3 बाइट्स के लिए जुर्माना कम कर सकते हैं -main



1

सी, 114 बाइट्स

#define X "UUDDLRLRBA"
main(i,j){for(i=j=0;!j;)(getchar()==X[i++])&&((j=1?!X[i]|puts("+30 lives\a"):0)|1)||(i=0);}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.