รหัส Konami ที่สั้นที่สุด


15

ปัญหา

คุณต้องเขียนโปรแกรมที่เมื่อพิมพ์รหัส Konami ในระหว่างรันไทม์ให้พิมพ์สตริง " +30 lives" และส่งเสียงที่คุณเลือกจากลำโพงของคอมพิวเตอร์

คำนิยาม

"รหัส Konami" ถูกกำหนดไว้UUDDLRLRBAแล้วตามด้วยการกดปุ่ม Enter

กฎระเบียบ

  • คุณสามารถเลือกที่จะใช้ลูกศรขึ้นเพื่อUลงDซ้ายไปซ้ายLและขวาRตราบใดที่รหัสของคุณสอดคล้องกับลูกศรหรือตัวอักษร
  • อินพุตของคุณอาจได้รับการยอมรับจากคอนโทรลเลอร์หรือคีย์บอร์ด แต่ไม่จำเป็นต้องรองรับทั้งสองอย่าง
  • คำตอบที่มีอยู่อาจใช้ต่อไปBABAแทนBAแต่อาจย่อให้สั้นลงหากต้องการทำเช่นนั้น คำตอบในอนาคตทั้งหมดควรใช้BAเพื่อความมั่นคง

  • ไม่ต้องป้อนข้อมูลที่ว่างเปล่า


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
Martin Ender

คำตอบ:


13

05AB1E , 33 ไบต์ (ใช้ได้ดีกับอินพุตว่าง)

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

ลองออนไลน์!

05AB1E , 30 26 ไบต์ (ไม่สามารถใช้อินพุตว่างได้)

-4 ขอบคุณ Adnan

•ï“뙵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.

ข้อความปฏิเสธความรับผิดชอบ: เสียงระฆังไม่เล่นบน TryItOnline อาจถาม Dennis ว่าหนึ่งในเซิร์ฟเวอร์ของเขาบางแห่งกำลังกระตุกเมื่อคุณเรียกใช้


คุณเกือบจะชนะแล้ว! เพียงแค่หนึ่งไบต์
Christopher

2
เวอร์ชันที่บีบอัดของ"+30 lives"คือ“+30™‹“:)
Adnan

นี่จะแสดงผลเป็น "30 ชีวิต" สำหรับฉันในล่ามออนไลน์แม้จะไม่มีข้อมูลก็ตาม
redstarcoder

2
@redstarcoder เท่านั้น * ด้วยการป้อนข้อมูลว่างเปล่าอึแก้ไข
Magic Octopus Urn

@carusocomputing คุณสามารถแก้ไข BA นี้ควรจะครั้งเดียวเท่านั้น (ความผิดของฉันขอโทษ)
Christopher

7

JavaScript (ES6), 202 200 198 ไบต์

ทดสอบบน Chrome และ Firefox เท่านั้น ใช้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.


คุณสามารถแก้ไข BA นี้ได้เพียงครั้งเดียวเท่านั้น (ความผิดของฉันขอโทษ)
Christopher

7

Python 3,  55  53 ไบต์

-1 ไบต์ต้องขอบคุณ isaacg (ใช้ bitwise ไม่ใช่เพื่อแทนที่-10ด้วย~9)
-1 ไบต์ต้องขอบคุณ CalculatorFeline (เป็นไปได้ที่จะใช้ตัวอักษรBELไบต์)

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

ที่ที่7แสดงด้านบนเป็นไบต์ตัวอักษร0x07(unprintable ในบล็อกรหัส)

เมื่อกด Enter whileเงื่อนไขการวนซ้ำจะถูกตรวจสอบ หาก~9อักขระ = 10 ตัวสุดท้าย(อย่างมากที่สุด) ไม่ตรงกับรหัสคำสั่ง Contra ดังนั้นจะไม่มีการเรียกใช้งาน op 1(แทนที่passความกะทัดรัด); ถ้าพวกเขาทำตรงนั้นในขณะที่วงปลายและprintคำสั่งจะถูกดำเนินการซึ่งเขียนข้อความที่ต้องการพร้อมกับอักขระ ASCII ระฆัง ( "ปลุก") 0x07ซึ่งเป็นผู้ผลิตเสียงเว้นแต่จะได้รับการปิดการใช้งานอย่างชัดเจน (หรือสถานีที่มีลำโพงไม่มี !)


คุณสามารถแก้ไข BA นี้ได้เพียงครั้งเดียวเท่านั้น (ความผิดของฉันขอโทษ)
Christopher

แก้ไขขอบคุณสำหรับหัวขึ้น
Jonathan Allan

1
-10= ~9ซึ่งสามารถช่วยคุณประหยัดไบต์
isaacg

คุณไม่สามารถใส่ตัวอักษร \ x07 ในสตริงสำหรับ -1 ไบต์ได้หรือไม่
CalculatorFeline

@CalculatorFeline ฉันไม่มีความคิดฉันสามารถทำได้หรือไม่ หมายเหตุคนมักจะใช้\nในสตริงในโรงแรมพร้อมสนามกอล์ฟ ธ ว่าทำไมพวกเขาจะไม่ใช้\x0a?
Jonathan Allan

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

ขอบคุณ @JanathanAllan ที่ช่วยฉันหาการบีบอัดสตริง :)


“+30 lives”ถูกบีบอัดคือ“¡}ʠƈ[ỵ»(สำหรับการอ้างอิงในอนาคตนี่คือโพสต์เกี่ยวกับมันมันถูกเชื่อมโยงในการกวดวิชาเกี่ยวกับ Jelly wiki)
Jonathan Allan

เสียงอยู่ที่ไหน
tuskiomi

1
ฉันเพิ่งทดสอบกับล่ามอย่างเป็นทางการและมันจะวนซ้ำจนกว่ารหัส Konami จะถูกป้อน
JayDepp

@ JayDepp คุณสามารถแก้ไข BA นี้ควรจะครั้งเดียวเท่านั้น (ความผิดของฉันขอโทษ)
Christopher

ฉันเชื่อว่ามันไม่ใช่การต่อสตริงแบบอัตโนมัติมากนักในฐานะการพิมพ์โดยนัยของ LLC (เชนคงที่ชั้นนำ) 7Ọตามด้วยการพิมพ์โดยนัยของ nilad “¡}ʠƈ[ỵ»ปรากฏบน stdout ราวกับว่าเป็น concatenation เป็นตู้โชว์ที่คุณสามารถลองเพิ่มการนอนหลับที่ 2 ɠ⁻“UUDDLRLRBABA”$¿ṛ7Ọ2“+30 lives”œSระหว่างสองกับ
Jonathan Allan

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(){
}

kทั้งหมดของการกดแป้นพิมพ์ของผู้ใช้จะถูกเก็บไว้เป็นตัวอักษรภายในสตริง keyTypedเป็นฟังก์ชั่น inbuilt ที่เรียกว่าเมื่อใดก็ตามที่ผู้ใช้ชนิดที่สำคัญ ในขณะเดียวกันเรากำลังตรวจสอบว่าสตริงนี้ลงท้ายด้วยการกดแป้น จากนั้นเราพิมพ์+30 livesและเล่นไฟล์เสียง และฟังก์ชั่นจะมีการปรับปรุงอย่างต่อเนื่องdraw keyTypedหลังจากป้อนรหัส Konami แล้วจะไม่มีสิ่งใดส่งออกและไม่มีการเล่นเสียง


ดูเหมือนว่าคุณควรนับขนาดไฟล์ mp3 ของคุณ

@ricyje กำลังประมวลผลไม่มีวิธีส่งสัญญาณเสียงแบบอื่น นอกจากนี้ขนาดของ.mp3ไฟล์ไม่ได้มีความสำคัญเนื่องจากไม่ว่ามันจะเป็นอะไรก็ตามการประมวลผลจะเล่นเป็นเสียง
Kritixi Lithos

@KritixiLithos คุณสามารถแก้ไข BA นี้ได้เพียงครั้งเดียว (ความผิดของฉันขอโทษ)
Christopher

@ChristopherPeart เรียบร้อยแล้ว! (ฉันดีใจที่ได้ช่วยเพิ่ม 2 ไบต์อีก :) :)
Kritixi Lithos

4

> <>, 132 69 64 62 ไบต์*> <> , 84 ไบต์

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

ลองที่นี่!

วิธีนี้ขึ้นอยู่กับการตีระฆัง (ascii 7) สำหรับเสียงที่สิ้นสุด (ไม่ได้ยินจากล่ามออนไลน์)

ขอบคุณ @TealPelican สำหรับการบันทึกอีก 15 ไบต์!

ที่บันทึกไว้ไบต์ที่สองตรวจสอบแทนBABABA


สิ่งนี้ส่งเสียงหรือไม่?
Kritixi Lithos

@KritixiLithos ใช่แล้วคุณจะเห็นบรรทัดสุดท้ายที่สองที่ท้ายสุดคือ "7" นั่นคือเสียงระฆัง
redstarcoder

ฉันปรับโครงสร้างโค้ดของคุณอีกเล็กน้อยเพราะฉันไม่เข้าใจบรรทัดแรกที่ใช้หรือไม่ ลองที่นี่ลิงค์นี้มีไว้สำหรับ> <> แต่ใช้ได้กับ *> <> ด้วย (ไม่ต้องใช้กลไกการดำน้ำเหมือนที่คุณมี) - มันบันทึกไว้ที่ 19 ไบต์ด้วย! :)
นกกระทุงน้าน

@Tealpelican บรรทัดแรกคือมันวิ่งต่อไปรอข้อมูล! เวอร์ชันที่เชื่อมโยงของคุณไม่ได้ทำเช่นนั้นหน้า
redstarcoder

คุณพูดถูก! ฉันคิดถึงสิ่งนั้น! - ฉันได้เพิ่มบรรทัดเพื่อรองรับข้อผิดพลาดของฉันและแทนที่การย้อนกลับและการพิมพ์ซ้ำซ้อนลองรุ่นใหม่ที่ฉันได้รับถึง 67 ไบต์: D
นกกระทุงนกเป็ดน้ำ

3

C 119 -1 - 2 = 116 ไบต์

แข็งแรงเล่นกอล์ฟ

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 ไบต์และ strcmp จะมองหาสตริงที่ถูกต้อง!
redstarcoder

@Christopher โปรดอย่าแก้ไขรหัสของผู้คนในไซต์ Stack Exchange นี้ การแก้ไขของคุณไม่ควรได้รับการอนุมัติ
แมว

Mukul คุณสามารถลบพื้นที่ได้ด้วยตัวเอง
แมว

1
@MukulKumar แน่นอน :) มันสำคัญที่ผู้ตอบจะต้องแก้ไขรหัสของตัวเอง
แมว

1
@MukulKumar คุณสามารถแก้ไข BA นี้ควรจะครั้งเดียวเท่านั้น (ความผิดของฉันขอโทษ)
Christopher

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

AutoHotkey, 63 ไบต์

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

หลังจากเรียกใช้สคริปต์นี้จะตรวจสอบว่า 10 คีย์ถัดไปเป็นรหัส Konami หรือไม่และถ้าเป็นก็จะแสดงกล่องข้อความว่า "+30 ชีวิต" และควรเล่นเสียงบี๊บ (ตอนนี้ฉันไม่มีลำโพงทดสอบ )


เย็น! AutoHotkey เป็นโปรแกรมที่น่าสนใจ
Christopher

3

GNU sed, 32 25 + 1 = 33 26 ไบต์

+1 ไบต์สำหรับการ-nตั้งค่าสถานะ

/UUDDLRLRBA$/a+30 Lives\a

ลองออนไลน์!

คำอธิบาย

ทุกครั้งที่กดถูกป้อน ( $) โปรแกรมจะตรวจสอบว่าการกดแป้น 10 ครั้งก่อนหน้านี้เป็นรหัสหรือไม่ หากเป็นเช่นนั้นaคำสั่งจะจัดคิวข้อความ+30 Livesและเสียงระฆัง ( \a) ที่จะพิมพ์เมื่อสิ้นสุดรอบปัจจุบัน (ซึ่งในกรณีนี้จะเป็นทันที)


คุณสามารถแก้ไข BA นี้ได้เพียงครั้งเดียวเท่านั้น (ความผิดของฉันขอโทษ)
Christopher

นี่มีBAเพียงครั้งเดียว
จอร์แดน

โอ้ว้าวไม่ได้สังเกต
Christopher

3

Mathematica ขนาด 50 ไบต์

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

เริ่มแรกxเป็นเพียงสัญลักษณ์และดังนั้นจึงไม่เหมือนกัน ( =!=) กับสัญลักษณ์UUDDLRLRBAดังนั้นx=Input[]จะถูกประเมิน สิ่งนี้จะเปิดกล่องโต้ตอบที่มีเคอร์เซอร์อยู่แล้วในฟิลด์ป้อนข้อมูลดังนั้นผู้ใช้สามารถเริ่มพิมพ์บนคีย์บอร์ดได้ทันที

หากEnterกดหรือOKถูกคลิกโดยไม่พิมพ์อะไรก็InputField[]จะกลับมาNullซึ่งไม่เหมือนกันUUDDLRLRBAดังนั้นการวนซ้ำจะดำเนินต่อไปและกล่องโต้ตอบอื่นจะเปิดขึ้น

หากผู้ใช้คลิกCancelหรือออกจากกล่องโต้ตอบInputFieldจะส่งคืน$Canceledซึ่งจะไม่เหมือนกันUUDDLRLRBAดังนั้นการวนซ้ำจะดำเนินต่อไป

ผู้ใช้สามารถพิมพ์ในกล่องโต้ตอบตามความต้องการของหัวใจ เมื่อพวกเขาตีEnterข้อมูลของพวกเขาจะถูกตีความว่าเป็นภาษาที่แสดงออก Wolfram (อาจเป็นเพียงกล่อง) หากการแสดงออกนั้นเป็นสิ่งอื่นที่ไม่ใช่สัญลักษณ์UUDDLRLRBAห่วงจะดำเนินการต่อไป

"ต้องวนซ้ำจนกว่าจะป้อนรหัส Konami" เป็นสิ่งที่คลุมเครือเล็กน้อย แต่ฉันเชื่อว่านี่น่าพอใจ เมื่อWhileลูปเสร็จสมบูรณ์, .Beep[];"+30 lives"


คุณสามารถแก้ไข BA นี้ได้เพียงครั้งเดียวเท่านั้น (ความผิดของฉันขอโทษ)
Christopher

1
UUDDLRLRB? ที่ไหนA?
CalculatorFeline

@CalculatorFeline คงที่
ngenisis

3

Petit Computer BASIC, 91 ไบต์

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

ในที่สุดโซลูชั่นที่ใช้อินพุตคอนโทรลเลอร์!

ฉันใช้ Petit Computer มากกว่ารุ่นที่ใหม่กว่า (SmileBASIC) เพราะสามารถเข้าถึงปุ่มเริ่มได้และBTRIG()สั้นกว่าBUTTON()สั้นกว่า

ฉันได้แทนที่สตริงข้อมูลด้วย x 's ควรมีอักขระที่มีรหัส ascii 1,1,2,2,4,8,4,8,32,32,16

รุ่นที่น่าเบื่อ 46 ไบต์

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

ฉันจะแนะนำให้ใช้SmileBASIC 2สำหรับชื่อของรายการ Petit คอมพิวเตอร์และในกรณีที่จำเป็นระบุ SmileBASIC เป็นSmileBASIC 3
snail_

ทำได้ดีมากโดยใช้คอนโทรลเลอร์!
คริสโตเฟอร์

2

Powershell, 89 86 ไบต์

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

ป้อนส่งสตริงไปที่Read-Hostดังนั้นมัน .. ควรทำงานอย่างไร


2
ฉันคิดว่าคุณต้องตรวจสอบ "UUDDLRLRBABA" ไม่ใช่ "UUDDLRLR BABA" เนื่องจากไม่มีรหัส "Contra" นั่นจะช่วยให้คุณประหยัดไบต์ ฉันคิดว่าสมมติว่าป้อนเพราะพวกเขาต้องกด Enter เพื่อส่งอินพุตที่ถูกต้อง
redstarcoder

ฉันทำงานตามวิธี
Christopher

1
@ChristopherPeart โปรดอย่าแก้ไขโค้ดของผู้อื่นแม้ว่าคุณจะเป็น OP หรือไม่ก็ตามถ้าคุณบันทึกไบต์ไว้
แมว

ตกลงฉันจะทำอย่างนั้น แต่มันเป็นความผิดของฉัน
Christopher

@ConnorLSW คุณสามารถแก้ไข BA นี้ควรจะครั้งเดียวเท่านั้น (ความผิดของฉันขอโทษ)
Christopher

2

C # (รุ่นที่น่าเบื่อ), 80 ไบต์

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

C # (อันที่น่าสนใจ), 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();
    }
}

อืม C # มีวิธีอ่านจนกว่าจะมีการตรวจพบบรรทัดใหม่หรือไม่ นั่นจะช่วยให้คุณไม่ต้องมองหาปุ่ม Enter ดูที่วิธีการที่จะดำเนินการในหลามที่นี่
redstarcoder

มีConsole.Readlineแต่ฉันคิดว่ามันอาจจะ aganist วิญญาณของความท้าทาย! ถ้าไม่เป็นไรฉันจะทำให้เรื่องนี้สั้นกว่านี้มาก
Alfie Goodacre

@redstarcoder เพิ่มConsole.ReadLine()รุ่น
Alfie Goodacre

@AlfieGoodacre คุณสามารถแก้ไขปัญหานี้บริติชแอร์เวย์ควรจะครั้งเดียว (ความผิดของฉันขออภัย)
คริส

@ChristopherPeart เดิมทีมันเป็น แต่ผมต้องเปลี่ยนมัน;)
Alfie Goodacre


1

flex, 37 + 5 = 42 bytes

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

The code itself is 37 bytes, compile it with the "-main" option which adds 5 bytes. Naturally, you have to compile the resulting C file with your favorite C compiler, but I don't think that step should count toward the byte count.

I could save a byte by using a literal BEL character instead of \a, but I'd rather be able to read my own code.


4
You really don't need to be able to read the code. This is code golf
Christopher

Personally, I think I should get a bonus for using flex, due to how rarely it gets used here. :)
BenGoldberg

1
I believe you can reduce the penalty to 3 bytes via giving -ll as an option to the C compiler rather than -main as an option to flex.


1

shortC, 52 bytes

s[13];AO;Ms,"UUDDLRLRBA\n");Ys,12,N));J"+30 Lives!\a

Explanation:

s[13];                                                // declare array with 13 members
      A                                               // main function
       O;Ms,"UUDDLRLRBA\n");                          // for loop while input is not equal to the Konami Code
                            Ys,12,N));                // read 12 characters of input into array
                                      J"+30 Lives!\a  // print the string

Try it online!


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.