오스카상 최우수상 수상작 인쇄


49

이 도전은 오스카 2017, La La Land Moonlight 에서 Best Picture의 우승자에게 경의를 표합니다 !


당신의 도전은 텍스트를 인쇄하는 것입니다

라 라 랜드
1 초간 멈춘 다음 표시되도록 텍스트를 변경하십시오.

라 라 랜드 달빛
원본 (La La Land) 에는 취소 선이 있어야합니다 . 화면을 지우거나 원본 텍스트 위에 그림을 그리거나 다른 영리한 솔루션을 사용하여이 작업을 수행 할 수 있습니다.

이것은 이므로 가장 낮은 바이트가 이깁니다. 표준 코드 골프 규칙이 적용됩니다.


오 와우! 내 도전은 너무 잘 받아 트위터에 게시되었습니다
vikarjramun

어떤 언어 La La La(nd)
라도이

답변:


13

젤리 , 31 바이트

“XSøjĠḌ⁻Ça»Œts⁵µṀȮ⁸œS“Æɓ9m“ɓm”ż

xterm 및로 테스트되었습니다 LANG=en_US. 몇 가지 이유로 TIO에서 작동하지 않습니다.

육각 덤프

00000000: 58 53 1d 6a c4 ad 8b 0e 61 fb 13 74 73 85 09 c8  XS.j....a..ts...
00000010: ca 88 1e 53 fe 0d 9b 39 6d fe 9b 6d ff f9        ...S...9m..m..

확인

화면 캡처

배경

이 답변은 제어 문자ANSI 이스케이프 시퀀스를 사용 합니다.

  • 0d( <CR>)는 La La Land를 인쇄 한 후 라이너의 시작 부분으로 돌아가는 데 사용됩니다 .

  • 9b 39 6d( <CSI> 9 m)는 La La Land 를 두 번째로 인쇄하기 전에 취소 선 텍스트를 활성화하는 데 사용됩니다 .

  • 9b 6d( <CSI> m)는 전경 및 배경을 기본 모드로 재설정하여 Moonlight 를 인쇄하기 전에 취소 선을 비활성화하는 데 사용됩니다 .

작동 원리

“XSøjĠḌ⁻Ça»Œts⁵µṀȮ⁸œS“Æɓ9m“ɓm”ż Main link. No arguments.

“XSøjĠḌ⁻Ça»                     Index into Jelly's inbuilt dictionary to yield
                                "LA LA Land moonlight".
           Œt                   Convert to title case, yielding the string
                                "La La Land Moonlight".
             s⁵                 Split into chunks of length 10, yielding
                                A =: ["La La Land", " Moonlight"].
               µ                Begin a new chain with argument A.
                Ṁ               Take the maximum, yielding "La La Land".
                 Ȯ              Output; print "La La Land".
                  ⁸œS           Sleep for bool("La La Land") seconds and yield A.
                     “Æɓ9m“ɓm”ż Zip ["\r\x9b9m", "\x9bm"] with A, yielding
                                [["\r\x9b9m","La La Land"],["\x9bm"," Moonlight"]].
                                (implicit) Flatten and print.

26

Vim, 37 바이트

3iLa <esc>snd<esc>gs:s/./&<C-v>u336/g
A Moonlight

상당히 간단한 솔루션입니다.

다음은 실행중인 애니메이션입니다.

여기에 이미지 설명을 입력하십시오


그러나 잠은 없다 :(
Cruncher

1
@Cruncher 그렇습니다! gs1 초 동안 잔다.
DJMcMayhem

흥미 롭습니다. 일반적으로 어떻게 이것을 실행합니까? 나는 정력이 점을 입력하고 작동하지만 제 2 지연의 광택을 잃고 있기 때문에 (내 느린 타이핑에 내가 여기에서 복사 된 것처럼 난 지연을 통보하지 않았다)
Cruncher의

신경 쓰지 마라, 나는 매크로로 알아 냈다. 아주 멋지다!
Cruncher

25

HTML, 153 148 바이트

CSS 애니메이션 사용 Firefox 및 Chrome에서만 테스트되었습니다.

<s>La La Land</s> <b>Moonlight<style>@keyframes l{0%{text-decoration:none}}@keyframes m{0%{opacity:0}}b,s{animation:m 0s 1s both}s{animation-name:l}

<s> 라라 랜드 </ s> <b> 달빛 </ b>


@keyframes선언 중 하나를 마지막에 두고 닫는 중괄호 두 개를 제거 할 수 있습니다 .
darrylyeo

@ darrylyeo : Firefox }는 누락 된 규칙을 적용하지 않으므로 불행히도이 작업을 수행 할 수 없습니다.
kennytm

19

HTML + 자바 스크립트, 18 + 59 = 77 바이트

setTimeout('O.innerHTML="<s>La La Land</s> Moonlight"',1e3)
<p id=O>La La Land

슬프게도, 재사용하는 효율적인 방법이없는 것 같습니다 O.innerHTML...


시겠습니까 setTimeout('a=O.innerHTML;a=a.strike()+" Moonlight"',1e3)일?
Kritixi Lithos

1
@KritixiLithos 나는 그렇게 생각하지 않는다; a거기에 수정하면 수정 되지 않습니다 O.innerHTML.
ETHproductions

18

옥타브, 81 66 바이트

@Stewie 덕분에 15 바이트 절약

text(0,.5,'La La Land');pause(1);text(0,.5,'---------- Moonlight')

여기 온라인 데모 .

데모는 두 가지 별도의 플롯을 표시하지만 데스크탑 버전의 MATLAB에서 실행될 때 첫 번째 플롯을 표시하고 1 초간 기다린 다음 두 번째 문자열을 동일한 플롯에 추가합니다.

Octave는 텍스트를 통한 취소를 지원하지 않기 때문에 대신 axes객체 내의 텍스트를 그림으로 표시 '--------'하고 초기 텍스트 (@Stewie의 초기 아이디어) 위에 표시하여 "취소 선"을 표시하도록 선택 했습니다. 이전에는 실제로 line물체를 쳐서'La La Land'

여기에 이미지 설명을 입력하십시오


1
좋은 접근법 ... :) 다음과 같이 15 바이트를 절약 할 수 있습니다 text(0,.5,'La La Land');pause(1);text(0,.5,'---------- Moonlight').
Stewie Griffin

@StewieGriffin 감사합니다! 업데이트
Suever

옥타브 '-'*8+는 대시 대신 할 수 없습니까?
Nic Hartley

@QPaysTaxes 불행히도 그렇지 않습니다.
Suever

1
꿰매다. 질문 하나 더 : 왜 (0, 0) 또는 (1, 0)에 그리지 않습니까? 그중 하나가 바이트를 절약 할 것 같습니다 (아니오 .)
Nic Hartley

10

배쉬, 70, 69 66 바이트

라일리 덕분에 -4 점

echo La La Land;sleep 1;echo -e "\r\e[9mLa La Land\e[0m Moonlight"

파업 을 통해 AskUbuntu에 대한 Sylvain Pineau의 답변에 대한 크레딧


1
나는 대신 \r두 번째 echo를 사용하여 몇 바이트를 절약 할 수 있다고 생각합니다 clear. 또한 두 번째 앞에 공백이 필요하지 않습니다 echo.
라일리

취소 된 텍스트 이후에는 공백이 인쇄되지 않습니다.
Loovjo

또한 clear;먼저 가야 한다고 생각 합니다. 에 불필요한 공간이 ; echo있습니다.
Outgolfer Erik

2
취소 된 텍스트 뒤에 공백을 추가하고 ANSI 코드를 사용하여 인쇄 된 텍스트를 인라인으로 수정하는 더 짧은 솔루션 \e[A이므로 clear필요 하지 않습니다. 그것에 대한 자세한 내용은 를 참조 하십시오 . s="La La Land";echo $s;sleep 1;echo -e "\e[A\e[9m$s\e[0m Moonlight"
seshoumara 2012

1
또는echo -n La La Land;sleep 1;echo -e "\r\e[9mLa La Land\e[0mMoonlight"
Digital Trauma

9

Q 기본, 61 바이트

SCREEN 9
?"La La Land";
SLEEP 1
LINE(0,7)-(80,7)
?" Moonlight

그래픽 모드를 사용하여 텍스트를 통해 실제 선을 그립니다. QB64의 모습은 다음과 같습니다 .

월광

코드는 설명이 필요하지만 여기에 골치 아픈 버전이 있습니다.

SCREEN 9             ' One of several graphics modes
PRINT "La La Land";  ' The semicolon suppresses the trailing newline
SLEEP 1
LINE (0,7)-(80,7)
PRINT " Moonlight"

8

MATL, 46 바이트

'La La Land'tDlY.ttv45HY(`t@Y)' Moonlight'hXxDT

MATL은 제어 코드 또는 텍스트 형식을 지원하지 않기 때문에,이 솔루션은 단순히 번갈아 'La La Land''-----------'취소 선 텍스트를 시뮬레이션하기 위해 최대한 빨리 가능.

여기에 이미지 설명을 입력하십시오

설명

'La La Land'   % Push the string literal to the stack
tD             % Duplicate this string and display
tv             % Stack a version of this string on top of another
45HY(          % Replace the second one with '----------'
`              % Do...while loop
  t            % Duplicate the 2D character array
  @Y)          % Grab the row corresponding to the loop index (modular indexing)
  ' Moonlight' % Push the string literal to the stack
  h            % Horizontally concatenate the two
  Xx           % Clear the display
  D            % Display the string
  T            % Push a literal TRUE to the stack to make it an infinite loop

1
창의적! 나는 그것을 좋아한다
vikarjramun

3
창의성에 +1하지만 규칙에 맞는지 확실하지 않습니다.
DBX12

5

배쉬 + pv , 50 바이트

printf ♪La\ La\ Land›%b 9m\\0 m\ Moonlight|pv -0L1

이것은 @DigitalTrauma의 Bash answer에 기반 합니다.

는 캐리지 리턴 ( 0x0d ), CSI 바이트 ( 0x9b )를 나타냅니다.

육각 덤프

0000000: 70 72 69 6e 74 66 20 0d 4c 61 5c 20 4c 61 5c 20  printf .La\ La\
0000010: 4c 61 6e 64 9b 25 62 20 39 6d 5c 5c 30 20 6d 5c  Land.%b 9m\\0 m\
0000020: 20 4d 6f 6f 6e 6c 69 67 68 74 7c 70 76 20 2d 30   Moonlight|pv -0
0000030: 4c 31                                            L1

확인

화면 캡처

작동 원리

printf 는 다른 인수를 소진하는 데 필요한만큼 형식 문자열을 반복합니다. 하나의 발생 %b과 두 개의 인수 ( 9m\\0m\ Moonlight)가 있으므로 다음 바이트 스트림을 생성합니다.

\rLa La Land\x9b9m\0\rLa La Land\x9bm Moonlight

이것은 다음을 수행합니다.

  • \r 커서를 줄의 시작 부분으로 가져옵니다.

  • La La Land 그대로 인쇄됩니다.

  • \x9b9m 취소 선 텍스트를 활성화합니다.

  • \0에 줄 끝 표시자를 설정 pv -0합니다.

  • \rLa La Land 이전과 동일합니다.

  • \x9bm 취소 선을 비활성화하여 전경 및 배경을 기본 모드로 재설정합니다.

  • Moonlight 그대로 인쇄됩니다.

마지막으로 pv -0L1초당 1 개의 널 종료 라인을 인쇄하여 원하는 지연을 발생시킵니다.


3
우연의 일치가 골프에 도움이 되었습니까, 아니면 La La Land와 함께 사용하고 싶습니까? 나는 그것을 좋아한다!
BruceWayne

캐리지 리턴은 줄의 시작 부분으로 돌아가는 가장 짧은 방법입니다. 때때로 양식화되었다는 사실 은 단지 우연의 일치 일뿐입니다.
Dennis

의 사용 pv대신에 sleep다른 사람들처럼 아름답다.
IQAndreas

1
@IQAndreas 사용할 아이디어 pv는 연결된 Bash 답변에서 가져온 것이므로 실제로는 그것을 인정 할 수 없습니다.
Dennis

3

HTML + 자바 스크립트, 10 + 63 = 73 바이트

setTimeout("document.write('<s>La La Land</s> Moonlight')",1e3)
La La Land


어떤 브라우저에서 작동합니까?
Titus

2
@Titus 나는 그들 모두를 생각하지만, 지금까지 Chrome + Firefox에서 작동한다는 것을 확인했습니다.
nderscore

3

PHP ( 86 75 69 바이트)

La La Land<?=sleep(1)?:"\rL̶a̶ ̶L̶a̶ ̶L̶a̶n̶d̶ Moonlight";

취소 선에 UTF-8 문자 U + 0336을 사용합니다.

편집 : @Titus의 의견에 17 바이트를 저장했습니다.


1
sleep항상 0을 반환합니다. 그래서 당신은 sleep(1)?:" ̶L̶a̶ ̶L̶a̶ ̶L̶a̶n̶d̶ Moonlight"(-3 바이트) 를 할 수 있습니다 . \r대신 \033[10D6 바이트 를 절약하고 최종 문자열에 포함하면 다른 4를 절약 할 수 있습니다.
Titus

오, 와우, 내가 보았어야했던 각각의 사람들은 연습이 필요하다고 생각합니다. 고마워요! 11 바이트의 개선으로 담당자를 얻기 위해 자신의 답변을 원한다면 내 답변을 삭제하고 귀하의
의견을 찬성

유효한 답변을 삭제할 필요가 없습니다. OP가 반응하지 않는 한 다른 사람이 골프를 칠 때 내 자신의 게시물을 올리지 않습니다. 여기에 3 바이트가 더 있습니다. 선행 공백은 필요하지 않으며 마지막 공백의 취소 선도 없습니다. UTF-8을 문자셋으로 사용하는 것은 속임수가 아닙니다. 그러나 " U+0336취소 선에 UTF-8 문자 를 사용합니다"라고 언급 할 수 있습니다.
Titus

아 그리고 La La Land<?=대신 <?="La La Land",3 바이트 를 더 절약합니다.
Titus

3

Pyth-47 바이트

취소 선은 이제 일을합니다.

K "La La Land".d_1 "\ 033c"+ j "\ u0336"K "달빛

작동하지 않습니다. "+1 을하려면 앞에 있어야합니다 .
Outgolfer Erik

@EriktheOutgolfer> _ <어떻게 된건 지 모르겠습니다.
Maltysen

무엇입니까 <exmpty line>? <pre>태그를 제안 합니다.
CalculatorFeline

3

C 87 86 바이트

f(){char*s="La La Land";puts(s);printf("\e[9m%s\e[0m",s);sleep(1);puts(" Moonlight");}

언 골프 버전 :

void f()
{
  char *s="La La Land";
  puts(s);
  printf("\e[9m%s\e[0m",s);
  sleep(1);
  puts(" Moonlight");

}

2
char와 사이에 공백이 필요하지 않습니다 *.
kennytm

당신은 또한 f()ungolfed 버전 으로 전화해야합니다 .
Rodrigo Hahn

@kennytm 1 바이트 저장을위한 Thnaks.
Abel Tom

1
@RodrigoHahn 기본적으로 코드 골프 응답 은 함수 또는 프로그램 일 수 있으므로 호출 할 필요가 없습니다 f().
kennytm

3

HTML + 자바 스크립트, 100 바이트

La La Land<script>setTimeout(function(){document.write("<s>La La Land</s> Moonlight")},1e3)</script>

setTimeout(function(){document.write("<s>La La Land</s> Moonlight")},1e3);
La La Land


document.write가 기존 텍스트를 어떻게 덮어 쓰나요?
vikarjramun

문서가 완전히로드 된 경우 document.write (이벤트 첨부 또는 시간 초과와 같은)를 사용하면 기존 HTML이 모두 삭제됩니다. 참조 = w3schools.com/jsref/met_doc_write.asp
Sourav

3

GNU sed + sleep, 63 58 바이트

편집 : Digital Trauma 의 의견 에 따라 5 바이트 저장

두 인쇄 문 사이의 대기는 sed 만 사용하여 수행 할 수 없으므로 호출 sleep 1합니다. eGNU 확장 인 명령을 사용하여 sed에서 시스템 호출을 수행 할 수 있습니다.

s:$:La La Land:p
esleep 1
s:.:&̶:g
s:.*:\c[[A& Moonlight:

취소 선 텍스트 (3 행)를 만들기 위해 각 문자에 "긴 스트로크 오버레이 결합" U + 0336 이 추가됩니다. 그런 다음 커서를 한 줄 위로 이동하여 ANSI 이스케이프 시퀀스 (Easan Escape Sequences)를 사용하여 새로운 것을 인쇄 할 때 이전 텍스트를 효과적으로 대체합니다 . 이것은 터미널에 의해 특수 형식 명령으로 해석됩니다. 자세한 내용은 여기를 참조하십시오 .

gif 이미지

설명:

s:$:La La Land:p         # add "La La Land" to pattern space and print it
esleep 1                 # run system command 'sleep 1'
s:.:&̶:g                  # append U+0336 after each character (strike-through)
s:.*:\c[[A& Moonlight:   # '\c[[A' is '(escape)[A', ANSI code to move the cursor
                         #up 1 line. Then append ' Moonlight' and print on exit.

1
@DigitalTrauma 완전히 \c, 좋은 발견을 잊어 버렸습니다 ! 그 특별한 유니 코드에 관해서는, 처음 들었을 때 실제로 작동합니다. 이 페이지에서 인쇄되면 명령 s구분 기호 와 결합 :되므로 처음에는 조금 이상합니다.
seshoumara

3

자바 7 207 206 171 139 바이트

void c()throws Exception{System.out.print("La La Land");Thread.sleep(1000);System.out.print("\rL̶a̶ ̶L̶a̶ ̶L̶a̶n̶d̶ Moonlight");}

strike-through unicode를 사용하기 때문에이 첫 번째 대답으로 바람을 피우고 있습니다.

설명:

void c() throws Exception{         // Method (throws is necessary due to Thread.sleep)
  System.out.print("La La Land");  //  Show initial text
  Thread.sleep(1000);              //  Wait 1 second
  System.out.print("\r             //  Move 'cursor' to the start of the line so we can overwrite the current text
    L̶a̶ ̶L̶a̶ ̶L̶a̶n̶d̶ Moonlight");        //  and print new text
}                                  // End of method

Java 7 (AWT 포함), 444 429 341 바이트

444가 여전히 똑같습니다. 444; (

import java.awt.*;import java.text.*;void m(){new Frame(){public void paint(Graphics g){g.drawString("La La Land",9,50);try{Thread.sleep(1000);}catch(Exception e){}AttributedString s=new AttributedString("La La Land Moonlight");s.addAttribute(java.awt.font.TextAttribute.STRIKETHROUGH,1>0,0,10);g.drawString(s.getIterator(),9,50);}}.show();}

Java 콘솔에는 취소 선과 같은 마크 업이 없으므로 Java AWT를 사용해야합니다. Java 콘솔이 이미 장황하다고 생각했다면 더 나빠질 것입니다. 대부분의 사람들은 Java 7이 더 나빠질 것이라고 상상조차 할 수 없었습니다.

설명:

import java.awt.*;                                         // import used for Frame and Graphics
import java.text.*;                                        // Import used for all AttributedStrings
void m(){                                                  // method
  new Frame(){                                             //  Frame
    public void paint(Graphics g){                         //   Overridden paint method
      g.drawString("La La Land", 9, 50);                   //    Show the initial text
      try{
        Thread.sleep(1000);                                //    Wait 1 second
      }catch(Exception e){}                                //    Thread.sleep requires a try-catch..
      AttributedString s
          = new AttributedString("La La Land Moonlight");  //    Object to add markup to text
      s.addAttribute(
        java.awt.font.TextAttribute.STRIKETHROUGH,         //    Strike-through attribute
        1>0,//true                                         //    Mandatory parameter before we can specify the length
        0, 10);                                            //    From length 0 to 10 (length of "La La Land")
      g.drawString(s.getIterator(), 9, 50);                //    Show this new text with strike-through part
    }                                                      //   End of paint method
  }.show();                                                //  Show Frame
}                                                          // End of method

출력 gif :

여기에 이미지 설명을 입력하십시오


공간을 제거하고 대신 String[] a사용할 수 있다고 생각합니다.1e31000
Kritixi Lithos

@KritixiLithos 그 공간은 실제로 사라 졌을 것입니다. 아마 골프 도중 미끄러 졌을 것입니다. 에 관해서는 1e3, 그것은 두 배이며 Thread.sleep오래 기대합니다. 1000보다 짧습니다 (long)1e3. :)
Kevin Cruijssen

2
당신은 의미 Swing하지, Spring당신은하지 않습니다? 나는 거의 심장 마비가 있었다! 코드 골프에서의 봄 ... 또한 바이트를 절약하기 위해 Swing 대신 AWT를 사용할 수 있습니다.
Olivier Grégoire

@ OlivierGrégoire 아, 오타, 나는 실제로 Swing을 의미했다. 그리고 고맙게도, AWT는 더 짧고, Swing (또는 Spring : P)이 전혀 필요하지 않다.
케빈 크루이 센

1
익명의 내부 클래스가있는 AWT 버전을 (Java 7) 함수로 만들었습니다. 나는 첫 번째 AttributedString 넌센스를 제거하고 총 306 바이트 더 골프를 쳤다. Java 8을 사용하면 여전히 302 바이트입니다. void m(){new Frame(){public void paint(Graphics g){g.drawString("La La Land",99,99);try{Thread.sleep(1000);}catch(Exception e){}AttributedString s=new AttributedString("La La Land Moonlight");s.addAttribute(java.awt.font.TextAttribute.STRIKETHROUGH,1>0,0,10);g.drawString(s.getIterator(),99,99);}}.show();}
Olivier Grégoire

2

파이썬 3, 90 바이트

macOS 터미널은 해당 \e[9m명령을 지원하지 않으므로 유니 코드 (U + 0336)를 사용하여 취소 선을 사용하십시오 .

import time
s='La La Land '
print(s,end='\r')
time.sleep(1)
print('̶'.join(s),'Moonlight')

L̶a̶ ̶L̶a̶ ̶L̶a̶n̶d̶ Moonlight


2

아두 이노, 332 331 바이트

단지 재미를 위해 경쟁하지 않습니다.

#include<LiquidCrystal.h>
LiquidCrystal lcd(7,8,9,10,11,12);String a="La La Land";String b="-- -- ----";void setup(){lcd.begin(16,2);}void loop(){lcd.home();lcd.print(a);delay(1000);lcd.clear();lcd.print(b);lcd.setCursor(0,2);lcd.print("Moonlight");while(1){delay(150);lcd.home();lcd.print(a);delay(150);lcd.home();lcd.print(b);}}

BOM :

  • 1 x 아두 이노 우노
  • 1 x LCD 16 x 2
  • 1 x 10K 전위차계
  • 1 x 180 옴 저항

L̶a̶ ̶L̶a̶ ̶L̶a̶n̶d̶ Moonlight


1
사이트에 오신 것을 환영합니다. 나는 Arduino가 C와 얼마나 비슷한 지 모르겠지만, 당신이 당신의 공간을 제거 할 수 있다고 확신합니다.#include
Wheat Wizard

내 계산에 따르면 하드웨어 비용은 30 바이트 (저항의 경우 2, 전위차계의 경우 3, 설정의 경우 1, LCD의 경우 10 (변경), 전선의 경우 14 (전선 당 1 바이트))입니다. 그러나 이것은 제안 일뿐입니다. 또한 TIO는 코드가 331 바이트에 불과하다고 말합니다. 후행 줄 바꿈이 있습니까?
CalculatorFeline

@WheatWizard 맞습니다. 고쳤다!
fluxa

1
좋은 점 @CalculatorFeline이지만이 경우 다른 모든 답변의 하드웨어 비용도 계산해야합니다. 아마도 내 설정이 가장 저렴합니다. : D
fluxa

... D8 그것은 모든 이상입니다 D8
CalculatorFeline

2

Python3, 99 바이트

import time
l='La La Land'
s='\u0336'
print(l,end="\r")
time.sleep(1)
print(s.join(l)+' Moonlight')

당신이 설정 l = 'La La Land 하면 +s-2 문자 를 피할 수 없습니까? .
walpen

내가 두 번을 사용할 필요가 @walpen, 그게 내가 S에 저장 이유
미구엘


1

SmileBASIC, 45 바이트

12Me21의 마법주기 기법 덕분에 바이트가 1 줄어 듭니다.

내가 아는 한 SB에는 취소 문자가 없으므로 GLINE대신 사용 했습니다. 분명히 선명한 디스플레이를 가정하고 ACLS필요한 경우 사용 하십시오.

?"La La Land
WAIT 60GLINE.,4,79,4?" Moonlight

1

AHK, 102 바이트

s=La La Land
Send,%s%
Sleep,1000
Send,^a{Del}
Loop,Parse,s
Send,%A_LoopField%{U+0336}
Send,` Moonlight

긴 스트로크 오버레이 유니 코드 문자를 결합 하여 취소 텍스트를 얻기 위해 약간의 부정 행위를했습니다 . 설정에 따라 이상한 모양이 나타날 수 있습니다. 메모장이 좋아 보입니다.

작동하는 코드


AutoHotkey는 분명히 가장 효율적인 언어는 아니지만 재미있는 도전이었습니다. 자체 디스플레이를 만들지 않고 실행중인 창의 모든 텍스트를 지우므로 실행 위치를주의하십시오.


1

스위프트, 392 바이트

스위프트 + UIKit은 골프에 이상적이지 않습니다! 이것을 XCode 플레이 그라운드에서 실행하면 결과가 미리보기 창에 표시됩니다.

import UIKit
import PlaygroundSupport
let l=UILabel(frame:CGRect(x:0,y:0,width:200,height:20))
l.textColor=UIColor.red
let m="La La Land"
let n=" Moonlight"
l.text=m
DispatchQueue.main.asyncAfter(deadline:.now()+1){
let a=NSMutableAttributedString(string:m+n)
a.addAttribute("NSStrikethrough",value:1,range:NSRange(location:0,length:10))
l.attributedText=a
}
PlaygroundPage.current.liveView=l

시사


인가 l.textColor=UIColor.red필요?
Albert Renshaw

그렇지 않으면 검정색 배경에 검은 색 텍스트가 기본값으로 나타납니다
Matt

0

젤리 , 41 바이트

“ñ[“m‘Ọj
“¡ṭḊßȥṡoẋ»¹13Ọ;9Ǥ;;0Ǥ;“"dE»œS1

온라인 통역사에서 작동하지 않습니다.


왜 안돼? 호환성을 싸게 추가 할 수 있습니까?
CalculatorFeline

@CalculatorFeline 아니요, Dennis는 제어 코드를 구현해야 작동하며 현재 그의 우선 순위는 아닙니다.
Outgolfer Erik

당신은 출력의 스크린 샷 / 애니메이션 GIF를 줄 수 있습니까?
ʰᵈˑ

@ ʰᵈˑ 보장 할 수는 없지만 할 수도 있습니다. 그 동안 통역사를 다운로드하여 직접 테스트 해 볼 수 있습니다 :)
Erik the Outgolfer

0

파이썬 (137 바이트)

from turtle import *;import time;write("La La Land");time.sleep(1);clearscreen();write("\u0336".join("La La Land ")+" Moonlight");done()

2
뒤에 공백이 필요하지 않습니다 import. 또한 "La La Land"를 변수로 저장하는 것이 좋습니다.
밀 마법사

0

TI-BASIC, 57 53 바이트

:" LA
:Text(3,4,Ans+Ans+Ans+"ND
:Pause "",1
:Line(-9,8,-2,8
:Text(3,41,"MOONLIGHT

최신 OS에서 TI-84 + CE 기능을 사용하여 1 초 동안 일시 정지합니다. TI-84 +에서 synthax 에러를 반환합니다. 테스트를 위해 해당 라인을 제거하여 1 초 일시 정지를 생략 할 수 있습니다. 또한 기본 창 설정을 사용하려면 줌, 6을 먼저 누르십시오. 그렇지 않으면 line 명령이 작동하지 않습니다.


0

SpecBAS-58 바이트

1  ?"La La Land ";
2 WAIT 1e3
3 DRAW 0,4;80,0
4  ?"Moonlight"

각 문자는 8x8 픽셀이므로 0,4에서 상대 위치 80,4까지의 선을 그립니다 (80은 첫 번째 좌표에 추가되고 0은 두 번째로 추가되어 동일한 선에 유지됨).

여기에 이미지 설명을 입력하십시오


0

오일 , 76 바이트

↩︎⎋[9m
La La Land
⎋[0m Moonlight
4
1
10
20
4
14
10
9
20
6
5
4
0
4
1
4
2
89999

이스케이프 문자 및 ↩︎캐리지 리턴으로 바꿉니다 . OIL에는 모든 종류의 절전 명령이 없으므로 89999에서 1까지 카운트 다운되는 루프를 사용하여 에뮬레이션합니다. 내 컴퓨터에서는 약 1 초가 걸리지 만 여러분 컴퓨터에서는 그렇지 않을 수 있습니다.

첫 번째 3 줄은 인터프리터에 의해 무시되고 4두 번째 줄 (1 행; "La La Land") 을 인쇄합니다 ( ). 다음 구조는 1이 될 때까지 끝에서 큰 숫자를 줄이는 루프입니다. 결국, 처음 3 줄만 인쇄합니다.


0

경쟁하지 않는 PHP (64 바이트)

<?=$s="\rLa La Land",sleep(1)?:wordwrap($s,1,--,1)," Moonlight";

: UTF-8 사용 --을 의미합니다 U+0336-하지만 난 혼자 서 작동하지 않습니다 꽤 확신합니다.

그렇지 않은 경우 (+3 또는 +1 바이트) 대신 ~"1I"또는 시도하십시오 .~I1--

파일을 파일에 저장하거나 콘솔을 UTF-8로 설정하는 방법을 알아낼 시간이 없습니다. 그래서 나는 이것들 중 어느 것도 시험 할 수 없었다. 그러나 누구든지 할 수있는 사람 : 이것이 완전한 BS인지 아닌지 알려주십시오.


0

파워 쉘, 63 바이트

PowerShell ISE에서만 작동합니다. 취소 선이 하나의 문자만큼 이동하여 수정할 수 없으므로 경쟁이 아닙니다.

'La La Land',('̶'*10+' Moonlight')|%{sleep 1;Write-Host $_ -N}

L̶a̶ ̶L̶a̶ ̶L̶a̶n̶d̶ Moonlight

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.