Inspirado pelo reddit .
Escreva um programa que reproduza Hangman .
- O programa escolhe uma palavra aleatória de uma lista de N palavras, em que N> 2.
- A lista de palavras pode ser fornecida ao programa da maneira que você escolher.
Em cada iteração
- Imprima o estado do jogo usando sublinhados para letras ainda não descobertas:
H _ N _ _ _ N
- Imprimir o número de tentativas restantes
10
- Leia uma carta de stdin e atualize o estado do jogo, subtraindo uma tentativa se eles adivinharem uma letra incorreta.
A
(entrada)H A N _ _ A N
10
- Repita até que todas as letras sejam adivinhadas ou as tentativas atinjam 0
- Use qualquer idioma
- Menor número de personagens vence.
- Não é necessário desenhar a forca, mas você ganhará votos e elogios.
code-golf
game
word-puzzle
drspod
fonte
fonte
Respostas:
Rubi 1.9,
134132120117108107Lista de palavras fornecida no ARGV. As palavras e as letras digitadas devem corresponder no caso.
fonte
Droga, eu pensei que dizia "menor número de linhas ganha". Não vou ganhar nenhum concurso de poucos caracteres aqui, mas este programa Common Lisp é apenas uma linha.
fonte
Python 3.
Eu prefiro este: porém mais longo.
fonte
a
bem, eu poderia usar o*
duas vezes:print(*("_"if x in L else x for x in w))
c ++ (-headers)
gato / usr / dict / palavras | carrasco xargs
fonte
Pitão
Eu realmente não tentei o menor número de personagens, só queria torná-lo o menor possível, sem sacrificar nada.
fonte
Perl, 112 caracteres. Sinto que posso fazer melhor - talvez eu tente novamente mais tarde
As palavras são dadas na linha de comando, as letras são digitadas em maiúsculas
fonte
$_=$ARGV[rand@ARGV];$a=10;while($a&&/[a-z]/){$y=$_;$y=~y/a-z/_/;print$y;$x=<STDIN>;chop$x;s/$x/$x/ig||$a--}
Clojure
São 400 bytes compactados, o que ainda é bastante, provavelmente por causa de como o Clojure lida com o estado mutável.
fonte
C # 370
lista de palavras como argumento
fonte
VB.NET
Ainda não tentei encolher, mas:Primeiro encolhendo:Segundo encolhendo (3759 caracteres):
fonte
Powershell, 125 bytes
Script de teste com menos golfe:
Exemplo de saída quando o jogador de adivinhação perdeu :
Exemplo de saída quando o jogador de adivinhação vence :
fonte