Większość klawiatur komputerowych ma małe zintegrowane światło LED, wskazujące aktualny tryb wprowadzania, kontrolowany za pomocą przycisku CAPS LOCK.
Twoim zadaniem jest mrugnięcie:
- Włącz to;
- Poczekaj 0,5 (+/- 0,1) sekundy;
- Wyłącz to ponownie.
Bardzo mile widziane są nagrania wideo z miganiem diody LED!
Zasady
Możesz mrugać inną diodą LED (np. Scroll Lock, Num Lock, stan Wi-Fi itp.), Jeśli chcesz, ale musi znajdować się fizycznie na klawiaturze;
Jeśli w twoim języku brakuje
sleep
polecenia drugiej sekundy , twój program może zamiast tego użyć 1-sekundowego opóźnienia, za karą +2 bajtów (to za0.
);Twój program musi migać co najmniej raz, to, co stanie się potem, zależy od Ciebie, tzn. Może nadal mrugać (w takim przypadku musisz poczekać na to samo opóźnienie, zanim ponownie go włączysz) lub zatrzymać itp .;
Jeśli wybrana dioda LED jest domyślnie WŁĄCZONA, w systemie można założyć, że została ona wyraźnie wyłączona (np. Ręcznie) przed uruchomieniem programu;
To jest gra w golfa , wygrywa najkrótsza odpowiedź w bajtach.
Tabela liderów
var QUESTION_ID=110974,OVERRIDE_USER=61904;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
Odpowiedzi:
Befunge (BEF32),
390334305 bajtówTo jest naprawdę głupie, ale dopóki ta strona akceptuje pogląd, że tłumacz określa język , równie dobrze mogę nadużywać reguły. Ten kod działa tylko w implementacji Win32 Befunge-93 Kevina Vigora, wersja 1.01 (chyba jedyna dostępna wersja). Możesz pobrać plik binarny tutaj .
Teraz normalnie nie spodziewałbyś się, że tego rodzaju wyzwanie będzie możliwe w Befunge, ale BEF32 to port Win32 bardzo starej wersji implementacji referencyjnej, a wtedy nie było żadnych ograniczeń sprawdzania polecenia
p
(put). To skutecznie pozwala nam pisać w dowolnym miejscu w pamięci, co ostatecznie pozwala nam zmusić tłumacza do wykonania dowolnego kodu maszynowego.Teraz nie możemy właściwie zmienić żadnego z istniejących kodów, ponieważ sekcja .text pliku wykonywalnego nie będzie miała uprawnień do zapisu. Możemy jednak nakłonić system do wykonania adresu w sekcji .data, pisząc ten adres w
atexit
tabeli biblioteki wykonawczej (przynajmniej podejrzewam, że tak właśnie jest). W rezultacie nasz kod jest wykonywany automatycznie po wyjściu interpretera.Opiera się to na tym, że plik wykonywalny jest ładowany pod stałym adresem, więc wiemy dokładnie, gdzie wszystko jest w pamięci - prawdopodobnie nie zadziała, jeśli przesłonisz domyślne ustawienia ASLR . Zależy również od tego, że sekcja .data jest wykonywalna, mimo że nie ma ustawionego atrybutu wykonywalnego, więc ponownie najprawdopodobniej nie zadziała, jeśli przesłonisz domyślne ustawienia DEP .
Sam kod jest w zasadzie kopią Mego „s
keybd_event
techniki przetłumaczony na kod maszynowy:Ta wersja kodu nadal miga wiecznie (a przynajmniej dopóki nie zabijesz procesu), ponieważ okazało się, że łatwiej jest grać w golfa niż pojedynczy flash.
A ponieważ wszyscy publikują animacje, jest to przybliżenie tego, jak to wygląda na mojej klawiaturze.
źródło
AutoHotkey,
2926 bajtówDzięki @Dane za oszczędność 3 bajtów
Pierwotnie wybrałem,
NumLock
ponieważ jest o jedną postać krótszy niżCapsLock
. Poniższy plik GIF odzwierciedla ten warunek. To ten sam efekt, co zmieniony kod powyżej. Mógłbym pójść zVK90
powyższym, aby GIF był nadal dokładny, ale dostosowanie do pierwotnego wyzwania było lepsze.Na cześć komentarza mbomb007 , oto kod Morse'a w 239 bajtach :
Oto pierwsze 30 sekund tej wiadomości:
źródło
send,{vk14}
zamiast tego zgolić 3 bajty? Bonus: będziesz mrugał CapsLock.GFA-Basic 3.51 (Atari ST),
61 56 4335 bajtówTen kod spowoduje, że dioda LED napędu dyskietek będzie mrugać wiecznie z wymaganą szybkością (
PAUSE 25
= pauza na 25/50 sekund).Prawdopodobnie byłoby to krótsze w montażu, ale nie mam odpowiednich narzędzi na wyciągnięcie ręki. Jest to rozmiar listy GFA-Basic zapisanej raz w formacie .LST i ręcznie edytowanej w celu usunięcia niepotrzebnych białych znaków, zmiany nazw instrukcji na krótsze ciągi znaków i zastąpienia każdego
CR+LF
z nich prostymCR
. Pamiętaj, żeCR
wymagany jest finał .Automatycznie rozwinie się do:
SPOKE
jest doładowaniem,POKE
które najpierw przełącza 68000 w tryb superwizora , aby umożliwić mu dostęp do ograniczonych obszarów pamięci (tutaj: adres zapisu rejestru układu dźwiękowego YM2149, który jest również odpowiedzialny za niektóre inne wejścia / wyjścia).I tak: dioda LED jest fizycznie umieszczona na klawiaturze ... tak sądzę.
Nie mam teraz dostępu do prawdziwego ST, więc to tylko makieta.
źródło
fish + ckb ,
5654 bajtówMiga całą klawiaturą w przypadkowych kolorach, ale ponieważ liczba nie zawiera 6 cyfr szesnastkowych, jest trochę ograniczona.
I tak, ten globus pocisków jest potencjalnie niebezpieczny. Działa na mojej maszynie ™
Skrypt bonusowy, 8 miesięcy później: przejdzie przez wszystkie kolory. Nie grał w golfa.
źródło
tee /d*/*/*/c*
? Punkty bonusowe za możliwość zepsucia komputera jakiegoś biednego darni w przyszłości, kiedy to nieuchronnie rozwinie się w coś ważnego. (EFI zmienia kogoś? Może coś takiego będzie/dev/efi/vars/cpu_type
)Bash + amixer, 45 bajtów
Miga lampkę wyciszenia na mojej klawiaturze.
źródło
a()(amixer set Master toggle;sleep .5;a)
lubamixer set Master toggle;sleep .5;$0
jako pełny program są nieco krótsze.C (Windows), 79 bajtów
Wyjaśnienie
keybd_event
jest (przestarzałą) funkcją Windows API, która wysyła zdarzenie klawiatury (keyup lub keydown).20
to kod klawisza Caps Lock,69
to sprzętowy kod skanowania (nie mam pojęcia, co to oznacza), i1
oznacza skrót klawiaturowy i klucz3
. Naciśnięcie klawisza jest symulowane poprzez wysłanie zdarzenia keydown, po którym następuje bezpośrednio zdarzenie keyup. Jedno naciśnięcie klawisza jest wysyłane, aby włączyć Caps Lock, następnie program śpi przez 500 milisekund, a następnie wysyłane jest kolejne naciśnięcie klawisza, aby wyłączyć Caps Lock.Dzięki Steadybox za zaoszczędzoną wiązkę bajtów
źródło
int keybd_event();
?void keybd_event();
, a ja też potrzebujęvoid Sleep();
odwindows.h
. Te dwie deklaracje razem są dłuższe niż dołączenie.#include<windows.h> k(n){keybd_event(20,69,n,0);}f(){k(1);k(3);Sleep(500);f();}
MATLAB,
14613670Dzięki @Poke za usunięcie 66 bajtów!
Wykorzystuje to zdolność Matlaba do wywoływania klas Java. Lampka Num Lock miga w pętli, programowo naciskając i zwalniając Num Lock.
Wideo lub tak się nie stało .
źródło
144
zamiastjava.awt.event.KeyEvent.VK_NUM_LOCK
? CAPS_LOCK będzie20
Kod maszynowy x86 na PC (np. plik COM MS-DOS), 27 bajtów
Ten kod maszynowy (wyświetlany tutaj z renderowaniem Unicode zwykłego CP437 BIOS komputera) będzie na zawsze mrugał wskaźnik CAPS LOCK na komputerze:
Kod został utworzony, aby nie zawierał bajtów NULL, a zatem można go pisać za pomocą klawiatury (używając triku Alt + XXX dla znaków rozszerzonych) w celu utworzenia pliku COM (np. Za pomocą
COPY CON blink.com
polecenia w MS-DOS, w którym to przypadku plik wyjściowy będzie musiał zawierać fałszywe 28 th bajt, The^Z
(EOF) charakter wymaganej zatrzymać operację kopiowania).Efekt ten osiąga się poprzez bezpośrednie wysyłanie poleceń do kontrolera klawiatury komputera (port 60h) w celu ustawienia stanu diody LED (efektem ubocznym może być ustawienie losowego braku mrugania diod Num Num i Scroll Lock). Czas, aby zminimalizować liczbę instrukcji, jest osiągany poprzez użycie odliczania czasu utrzymywanego przez BIOS pod adresem
0040:0040
(zmniejsza się co 54,925 ms, przy 9 cyklach cykl migania wynosi 494,3 ms, co mieści się w dozwolonym marginesie) - ten licznik jest zwykle używany przez BIOS do zatrzymania silnika dyskietki; ponieważ napęd dyskietek nie jest używany przez program i zakłada się, że kod działa w środowisku jednozadaniowym (np. DOS), gra z timerem silnika napędu dyskietek nie stanowi problemu.Kod działa poprawnie pod MS-DOS (wypróbowany z VirtualBox, powinien również działać dobrze na prawdziwym sprzęcie, chociaż nie miałem jeszcze czasu, aby zrobić bootowalną pamięć USB MS-DOS do przetestowania). Ponieważ nie opiera się na żadnych funkcjach systemu operacyjnego, może nawet działać bez systemu operacyjnego (np. Umieszczając go w sektorze rozruchowym dysku). Wymaga to uruchomienia co najmniej procesora 80186, ponieważ instrukcje „natychmiastowego wypychania” służą do skrócenia kodu niektórych bajtów.
Kod źródłowy zestawu:
Zrzut szesnastkowy skompilowanego kodu:
Oto wynik działający pod MS-DOS w VirtualBox (nie działa z DosBox, prawdopodobnie dlatego, że kontroler klawiatury nie jest całkowicie emulowany):
(przepraszam za wstrząsające wideo).
źródło
copy con program.exe
: youtube.com/watch?v=iefuJ_jZAiQSmileBASIC,
3623 bajtówMiga lampkę stanu mikrofonu. (wideo wkrótce)
źródło
Python2 - 108 bajtów
Czy klawisz Capslock. Co ciekawe, w rzeczywistości włącza się tylko sama dioda LED bez wpływu na klawiaturę lub naciskanie klawisza. Na
4
końcu możesz zmienić na2
numlock.6
robi oba.źródło
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> IOError: [Errno 25] Inappropriate ioctl for device
macOS Sierra Version 10.12.1 (16B2555)
.shell + numlockx,
4035 bajtów[Zaoszczędzono 5 bajtów dzięki Ryanowi.]
Ciągle mruga lampką NumLock w systemach uniksowych.
Pojedyncze mignięcie, 33 bajty
źródło
exec sh $0
zamiastwhile
zapisać 5 bajtów lubsh $0
jeśli tworzenie procesów na zawsze jest uważane za prawidłowe.watch -n0.5 numlockx toggle
dla 27 bajtów.numlockx toggle;sleep .5;!#
(27 bajtów) dla pojedynczego mrugnięcia.!#
to zdarzenie rozszerzenia historii zastąpione przez wszystko wpisane do tej pory w wierszu poleceń.on
można pominąć. to jest domyślne.f=numlockx;$f;sleep .5;$f off
(29). I (gorsza) wersja zapętlona z wykorzystaniem rekurencji:g(){ f=numlockx;$f toggle;sleep .5;g;};g
(40).PowerShell , 71 bajtów
Notatki
źródło
-Seconds
Parametr jestint
, więc0.5
zostanie przekonwertowany naint
, co powoduje0
(domyślnym trybem zaokrąglania jest zaokrąglanie do parzystej). Więc w ogóle nie śpisz (powoduje to opóźnienie o około 1000 tyknięć, więc 10 µs). Dość podstawowe reguły konwersji i wiązania parametrów w PowerShell.VBS, 75 bajtów
Wielokrotnie miga klawisz Num Lock, ponieważ
numlock
jest o 1 bajt krótszy niżcapslock
.źródło
C #,
215202198195185 bajtówNie zdając sobie sprawy, że zrobiłem „ten sam” kod, co ta odpowiedź @Mego , sprawdź!Zaoszczędź 13 bajtów dzięki @Metoniem
Zaoszczędź 10 bajtów dzięki @VisualMelon
Oto pełna sformatowana wersja pokazująca, że działa:
Zmian premia zabawy
n++ & 2
nan+=2 & 2
i oglądać num lock i caps lock klucze zastępcę w migać i wyłączać. Nie mam pojęcia, dlaczego tak się dzieje, ponieważ nie powinno, ale wygląda „fajnie”.źródło
using System;
ale o ile wiem, nie używasz niczego bezpośrednio z przestrzeni nazw Systemu? Myślę, że możesz to usunąć.keybd_event
metodyvoid keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);
. Zwalniam, że mogłem usunąć teUIntPtr
po opublikowaniu i mieć je jako takieint
, i po prostu zapomniałem usunąć użycie.k
jednej, ale jest ona wyraźnie niezdefiniowana. Nie zaznaczone, ale myślę, że lepiej byłoby mieć jedno wywołanie keybd_event w pętli bez blokady, powinienem pomyśleć:for(int i=0;;...Sleep(250))keybd_event(i++&2)
czy coś.Java 7,
121118113 bajtówPojedyncze naciśnięcie i zwolnienie wyzwala stan; to nie mruga. Możemy więc zapętlić to i wygląda na to, że rekurencja jest najtańszym sposobem na zrobienie tego.
źródło
()->for(;;){java.awt.Robot r=new java.awt.Robot();r.keyPress(20);r.delay(500);r.keyRelease(20);}
co oznacza oszczędność 18 bajtów ze względu na 4-znakowy narzut deklaracji lambda.JavaScript, 82 bajty
Podziękowania należą się @FinW , właśnie zmieniłem starą funkcję na nową funkcję strzałki ES6, aby zaoszczędzić trochę bajtów. Ponieważ nie mam wystarczającej liczby punktów do skomentowania, napisałem nową odpowiedź.
Edytuj - usunięte nawiasy, aby zapisać kolejne 2 bajty.
Jego kod wyglądał tak
źródło
()
innym, pojedynczym znakiem, jak_
i poprzezo
parametr z wartością domyślną, tak:(o=new ActiveXObject("WScript.Shell"))=>
.Scala,
848378 bajtówEdycja: Zapisano 1 bajt dzięki @TheLethalCoder,
Zasugerował użycie
1>0
zamiasttrue
.Edycja 2: Zaoszczędź 5 bajtów dzięki @ Corvus_192,
Zasugerował użycie notacji infiksowej i upuszczenie nawiasów za konstruktorem
Nie golfowany:
Standardowy port Scala w odpowiedzi Java @Poke . Wpisz go bezpośrednio w monicie interpretera Scala.
Film z jego miganiem zarówno mojej diody LED Caps Lock, jak i mojego OSD do uruchomienia!
źródło
for(;;)
albowhile(1>0)
czywhile(1)
w Scala?r keyPress 20
jest to bajt krótszy niżr.keyPress(20)
. To samo dotyczy innych wywołań metod, oszczędzając w sumie 3 bajty.Terminal Linux, 8 + 11 = 19 bajtów
Plik
f
=1B 5B 33 71 1B 5B 30 71
native@shell:~$
pv f -q -L8
WAT
Według ECMA-48 ,
1B
rozpoczyna się końcową sekwencję sterowania ucieczki.Caps on =
1B 5B 33 71
, a następnie off =1B 5B 30 71
pv
widok postępuf
plik-q
cichy-L8
8 bajtów / s = 0,5 s opóźnieniaStosowanie
Przygotować
Ctrl+ Alt+ F6przełącz na natywną konsolę
biegać
pv f -q -L8
Ctrl+ Alt+ F7przełącz z powrotem
źródło
Bash + Xdotool, 36 bajtów
Po prostu uruchom go w powłoce bash. Musi być w środowisku graficznym. Nieskończona pętla stąd . Zmieniono Num_Lock na 66, aby zaoszczędzić 6 bajtów, a dzięki @Michael Kjörling za 2 bajty.
źródło
:
jako aliasutrue
w większości systemów.while :;do sth;done
robi to samo,while true;do sth;done
ale ma trzy bajty krótsze.for((;;)){ sth;}
jest jednak jeszcze krótszy.xdotool , 20 bajtów
Naciśnięcie klawisza 66 aka Caps Lock dwukrotnie, z opóźnieniem 500 ms między naciśnięciami klawiszy.
Zauważ, że xdotool jest językiem skryptowym; można go uruchomić z pliku, a nawet obsługuje shebangs. Ponieważ jego
exec
polecenie pozwala na uruchamianie programów zewnętrznych, jest w stanie dodawać i testować pierwszeństwo, więc spełnia naszą definicję języka programowania.Testowe uruchomienie
źródło
Python korzystający z pyautogui:
126 143 115103 bajtówDzięki @ nedla2004 za oszczędność 12 bajtów
źródło
while 1:keyDown('capslock');time.sleep(.5);keyUp('capslock')
i możesz zmienić pierwszą linię nafrom pyautogui import*
, a drugą naimport time
.import time;c='capslock' ...
time
całkowicie usunąć .from pyautogui import*; while 1:press('capslock',1,.5)
. ymmv. w moim otoczeniu pyautogui ma wpływ na pisaną przeze mnie skrzynkę, ale światło nie miga.Bash, 31 bajtów
Działa w X, bez dostępu do roota! (Jeśli to nie działa, zobacz funkcję init poniższego kodu, aby upewnić się, że xkbcomp jest poprawnie skonfigurowany)
Dodatkowy skrypt do wysyłania dowolnego kodu Morse'a przez Caps Lock (nie golfa)
Przykład:
blink "...././.-../.-../---//.--/---/.-./.-../-..///"
źródło
Bash + setleds , 43 bajty
Dość proste. Używa
setleds
do przełączania światła.źródło
Bash, 103 bajty
Musi być uruchomiony jako root.
Czy flashowanie całego podświetlenia klawiatury działa? (wideo, które przyjdzie, kiedy wrócę do domu)
źródło
Does flashing the entire keyboard backlight work?
Cóż, jeśli o tym pomyślisz, podświetlenie klawiatury jest wskaźnikiem włączenia lub wyłączenia podświetlenia klawiatury i zdecydowanie jest „fizycznie umiejscowione na klawiaturze”, więc tak, myślę, że to się liczy.JavaScript, 90 bajtów
Wymaga
ActiveX
to oznaczenia, że będzie działał tylko w IE (Edge go nie obsługuje). Miga klawisz NUMLOCK, ponieważ, podobnie jak w przypadku innych odpowiedzi, jest krótszy niż CAPSLOCK lub SCROLLLOCK.Nie golfił
źródło
Bash, 33 bajtów
Zakłada się, że Num-Lock jest włączony przed uruchomieniem. Przełącz
off
ion
inaczej. Wymaganumlockx
oczywiście paczki;)Edytować:
Zobaczyłem Alexa Howansky'ego, który opublikował już to rozwiązanie, ale nie oznaczył go Bash, a ja właśnie przeszukałem witrynę pod kątem „Bash”.
źródło
numlockx toggle;sleep .5;!#
(27 bajtów).!#
to zdarzenie, które rozszerza się na wszystko w dotychczasowym wierszu poleceń.Plik wsadowy (z pomocą vbs), 74 + 2 = 76 bajtów
Częściowo oparty na odpowiedzi Trelzevira .
.vbs
jest automatycznie uwzględniany wPATHEXT
.źródło
Skrypt Kotlin, 72 bajty
Chociaż nie jest najmniejszy, wciąż jest całkiem niezły. Uwielbiam bieg kotlina dla niektórych rzeczy i jest to jedna z nich (mniejsza niż val r = java.awt.Robot (), ponieważ nie potrzebujemy zarówno r., Jak i val r =. Mimo to jest dłuższa niż MathLab)
Nie golfowany:
źródło
Python3,
5549 bajtówDziękuję @NoOneIsHere za -4 bajty!
Obejmuje to pakiety: pyautogui i
time
modułyKod:
Dziękuję @NoOneIsHere za -4 bajty!
Klucz w akcji:
źródło
while 1
i czyniąc go jednowierszowym z średnikiem. (while 1:pyautogui.press("capslock");time.sleep(.5)
)import pyautogui
do początku programu i zmieniając resztęwhile 1:pyautogui.press("capslock");time.sleep(.5)
, możesz uczynić to poprawną odpowiedzią.import time
tam być .import time
...VBA, 82 bajty
Anonimowa funkcja natychmiastowego okna VBE, która nie pobiera danych i denerwuje użytkownika w nieskończoność. Zależnie od stanu uśpienia funkcji jądra systemu Windows zadeklarowanego poniżej.
Deklaracja snu (Win-32)
Deklaracja snu (Win-64, + 8 bajtów)
Anonimowa funkcja bezpośredniego okna VBE
Nieco bardziej zabawna wersja, 97 bajtów
Zestaw wzajemnie rekurencyjnych podprogramów, który w nieskończoność denerwuje użytkownika
Wątpliwa wersja, 66 + 2 bajtów
Nie jestem pewien, czy konieczność zadeklarowania funkcji z biblioteki DLL liczy się jako posiadająca funkcję wbudowaną, więc w przypadku, gdy tak nie jest, oto wersja 66 + 2 bajtów, która czeka 1 sekundę
źródło