É o ano de 87.539.319 e a caminhada solitária no espaço é agora comum, muitas pessoas viajam para o espaço sozinhas, impulsionadas por nada além de um jetpack nas costas, programando seu percurso com um computador pessoal e teclado à medida que avançam.
Você é uma dessas pessoas; você estava em uma adorável e pacífica caminhada espacial, quando, de repente, você foi preso pela gravidade de um buraco negro!
Ao mergulhar em direção a esse buraco negro, espiralando cada vez mais rápido para dentro, você percebe que sua única chance de sobrevivência é transmitir uma mensagem de socorro e espera que um navio próximo venha resgatá-lo.
Então, você quebra o teclado e começa a digitar um programa.
Seu programa pode estar em qualquer idioma e deve ser impresso HELP!
em stdout (o seu PC transmite todo o stdout para as profundezas do espaço.)
No entanto, como você está perto de um buraco negro, seu teclado está sendo rasgado lentamente em pedaços!
Suponha que você esteja usando um teclado QWERTY como o abaixo, e que o buraco negro esteja à sua esquerda;
Lembre-se de que o turno esquerdo e direito são duas teclas diferentes.
após cada pressionamento de tecla, a linha mais à esquerda do teclado (teclas cobertas pela linha vermelha à esquerda) é arrancada e lançada no buraco negro!
Assim, o primeiro pressionamento de tecla pode ser qualquer tecla do teclado, mas a partir de então nenhum dos mais à esquerda Tab , Caps, Shift, Ctrlou `podem ser usados chaves, em tudo . (r-shift e r-ctrl ainda podem ser usados)
Após a próxima pressão de tecla, as teclas 1, Q, A, Ze Altsão arremessados para o abismo, e não pode ser usado depois. Depois disso, você perde Space, X, S, W, 2e assim por diante.
Obviamente, você deseja concluir seu programa o mais rápido possível, para aumentar o tempo de resgate; portanto, este é o código-golfe, e o programa mais curto em pressionamentos de tecla vence!
Cada resposta deve fornecer uma lista de pressionamentos de tecla; portanto, se minha resposta foi esse programa (no idioma squardibblyack)
!HELP\.
uma lista de chaves pode ter a seguinte aparência:
Shift!HELP turno de liberação \.
comprimento: 8
Estou preocupado que esse desafio possa ser muito difícil, mas eu adoraria ver os tipos de respostas enviadas!
fonte
print
qualifique como STDOUT?Respostas:
CJam, 11 pressionamentos de tecla
O código é
e a lista de chaves é
Shift"HELP*") turno de liberação 9-
e aqui está uma demonstração de como fica:
e aqui está como o código funciona:
Experimente o código aqui
fonte
"HELP*")9-[]+''+
. Não consigo digitar os quatro últimos.E
, parece que ele pode ser levado para o abismo!rs , 10 pressionamentos de tecla (assume que o usuário está usando o Nano)
Ou editor equivalente, onde Shiftnão seleciona texto.
Esta não é realmente uma linguagem de programação, mas se
sed
pode ser usada no Code Golf,rs
pode ser usada.Right Shift ! Left E Left H Right L P Enter
Apenas substitui a string vazia por "HELP!", Efetivamente imprimindo-a na tela. Aproximadamente equivalente ao script sed:
A parte interessante é que
rs
coloca automaticamente^/
na frente de um padrão de substituição onde o delimitador (/
) não é encontrado. Útil para recuar o código.fonte
Enter
é um derrame também. 10 pancadas.Eu acredito que o mais rápido isso poderia ser feito em qualquer roteiro é aleatória de 11 com Pyth, uma vez que qualquer linguagem vai exigir algum personagem, como "p" ou uma marca de citação ou asterisco ou algo assim, então a palavra
HELP!
, e que Eestá a ir rápido, ou seja, pressionamentos extras de teclas para mover o cursor para trás antes Ede colocar H, como ele encontrou, e depois avançar novamente para Le P.Se você tiver algo que exija uma palavra de comando, como
disp
ouecho
, você precisará primeiro criar um espaço antes de ser arrancado, Shifte !então use a Hometecla para iniciar sua palavra e as teclas de seta, conforme descrito aleatoriamenteHELP
. Mas você estará se atrapalhando até que seja sugado ou perca as chaves necessárias rapidamente para fazer qualquer uma delas. Há apenas um máximo de 14 caracteres, e isso pressupõe que o último seja \ou |. Você precisa de 10 apenas para fazerHELP!
:SHIFT ! HOME E LT ARROW H RT ARROW L P ENTER
A definição
"
ou*
ouP
seria pressionada imediatamente antes da H. Então o 11 tem que ser o mais rápido. Ou 9, se deixarmos de fora a exclamação e colocar em maiúscula tudo e não tivermos um símbolo para digitar.Mas não, eu, sendo um historiador da Internet no ano 87.539.319 e tudo, e sendo paranóico de alienígenas e da terrível chuva de meteoros, sem falar no buraco negro, eu não aceitaria isso. Antes de sair para passear no espaço, eu estaria preparado, com este artigo que eu teria encontrado em minha pesquisa para agradecer por isso. Eu carregaria um arquivo de texto que já tem "HELP!" nele e ter um programa que possa gravar minha posição de coordenada usando os dados de rastreamento mais recentes que temos nesse arquivo. Esse programa eu chamaria "hlp.c", então ele iria:
7 pressionamentos de teclas:
c Home h l p . Enter
Sei que poderia reduzir meu nome de arquivo, mas ninguém quer transmitir sua posição acidentalmente digitando He Enter, especialmente se o programa também alertar as autoridades (como ligar para o 911 quando você não tiver uma emergência?), Então vamos escolha um nome de arquivo com três letras e assumiremos que ainda precisamos ter extensões de arquivo com no
.
mínimo 1 caractere. Além disso, nomeá-lo emhlp
vez dehelp
evitar evitar esses recursos desagradáveis e internos da Ajuda quando estamos prestes a morrer em um buraco negro. Eu percebo que eu poderia omitir digitando .capenas fazendo h l p Enter , mas dessa maneira eu evito aqueles desagradáveisPlease supply file extension
ouCannot find hlp
erros quando estou prestes a ser sugado para um buraco negro. Afinal, "lixo dentro, lixo fora" ainda será um padrão no futuro.Então, meu gráfico ficaria assim:
E isso também seria fácil de lembrar, pois o único "atraso" é digitado cprimeiro. O resto é exatamente como o nome do arquivo.
fonte
hlp.c
C
help.exe
(ouhelp.out
) para executar o arquivo de código compilado. E, por último, se você está dobrando as regras e usando tanto as brechas, por que não simplesmente chamar um arquivoh.c
?.c
arquivo era que ele pudesse ser CSCRIPT, não um código C real que exigiria o compilador. Issoh.c
significa que, ao tentar digitar o nome de outro arquivo, com apenas 1 caractere no nome, é acidentalmente chamado em vez de outro arquivo - já expliquei isso. Seja qual for o código que estava no.c
arquivo, se eraConsole.Log("HELP!")
,Console.WriteLine("HELP!")
etc., é em grande parte irrelevante, especialmente porque também estava indo para incluir o código para a interface com os satélites para obter uma correção coordenar - algo que eu tenho certeza que no futuro será aberto fonte.HELP!
, como eu mencionei antes de Kirby, e apenas menos, como 9, se a capitalização e o uso de Shift não importassem e não precisássemos ter um caractere antes ou depoisHELP
, como com o ponto de exclamação ou, no caso de Kirby, ter que digitar uma chave caractere, como ump
ou*
para iniciar o programa.help.exe
ehelp.out
não iria trabalhar com o buraco negro de rasgando das chaves. Oe
teria ido pelo tempo queexe
veio, eot
desapareceu quando tentando digitarout
. Você pode digitar ot
emout
primeiro lugar, em seguida, pressione Início e digite aHELP
parte, mas se você pudesse manter a extensão de 1 caractere, por que não você?