Descrição
Crie um jogo "Adivinhe o número" totalmente funcional. O jogo é jogado por dois jogadores da seguinte maneira:
- O jogador um escolhe um número (A) entre 1 e N
- o jogador dois tenta adivinhar A escolhendo um número (B) no mesmo intervalo
- o primeiro jogador responde "mais alto"
if A > B
, "mais baixo"if A < B
ou "correto"if A = B
. - as etapas 2-3 são repetidas vezes I ou até que "correto" seja respondido.
- Se "correto" for ouvido, o jogador dois ganha, caso contrário ele perde.
Especificações
Especificações mínimas para uma entrada válida:
- O usuário pode jogar como jogador um ou jogador dois.
- computador desempenha o outro papel.
- o computador deve realmente tentar adivinhar o número enquanto joga como jogador dois (então, adivinhar os dados fornecidos ou ignorar os dados fornecidos é trapaça)
- N = 100 ou entrada pelo usuário (sua escolha)
- I = 5 ou entrada pelo usuário (sua escolha)
- o programa deve anunciar o vencedor no final.
- instruções completas, legíveis por humanos, do que fazer em cada etapa (por exemplo, "Jogue como jogador um ou jogador dois?" , "Insira outro palpite:" , etc) - não fique louco com esse; apenas mantenha-o simples.
Condições vencedoras
Naquela ordem:
- A entrada com o maior número de votos ganha se tiver pelo menos 3 votos à frente da segunda entrada com o maior número de votos.
- Menor entrada ganha.
code-challenge
game
Eelvex
fonte
fonte
Respostas:
Windows PowerShell, 289
História:
while
→for
else{if...}
→elseif
- salva o aparelho.switch
para evitar nomear o loop. Agora também posso usar apenasbreak
um pipeline. O anúncio do vencedor mudou-se para um filtro que usa,exit
portanto, nenhuma interrupção é necessária.elseif
cadeia para verificar o palpite, eu apenas uso uma string de formato com valores diferentes para valores negativos, positivos e zero. Economiza muito.fonte
TRS-80 BASIC, 249 caracteres
Acho que essa pode ser a primeira vez que enviei uma resposta a este site que escrevi antes de ele existir.
De fato, eu o escrevi antes da existência da web mundial. Nos anos 80, assim como os TRS-80 estavam se tornando irrelevantes.
Este é um exemplo de "one-liner" - uma tentativa de ajustar o programa mais interessante que você poderia em uma única linha do BASIC. Foi a minha primeira vez e não foi tão impressionante. (Havia algumas frases surpreendentes flutuando por aí.)
Uma linha do TRS-80 BASIC era limitada a 255 caracteres, menos alguns por sobrecarga. Embora às vezes você possa exceder isso, já que o limite verdadeiro era de 255 bytes após a tokenização - mas o editor também truncaria uma linha com mais de 255 caracteres antes da tokenização, e você precisava usar truques no editor de linhas para inserir caracteres de controle literais como novas linhas em suas strings.
E sim, para esclarecer, essas quebras de linha na lista são caracteres literais de nova linha. (Para obtê-los em seu código, você precisava usar o
C
comando hange enquanto estavaEDIT
na linha. É uma dor total, mas vale a pena substituir oito ou mais caracteres por+CHR$(13)
um.)Porra, eu jogo golfe há muito tempo.
fonte
Personagens C 397
De uma forma mais legível.
fonte
C #:
Contagem de caracteres: Com espaços: 575 Sem espaços: 464
Editar fazer enquanto agora é "Ir para" ( arrepio )
fonte
Boa velha planície C
fonte
Javascript
Nova versão compactada ( chamadas eliminadas
var
e reduzidasalert
:268 caracteres
Para executar a chamada
g(100);
, a auto-execução não é contada, pois adiciona um número variável de caracteres (275 caracteres parag(100);
).original (algo em torno de 600 caracteres, incluindo espaço em branco):
Minificado (312) :
fonte
Python 2.7
334335327314300 Caracteres (Minha primeira vez jogando golfe)(335) Esqueceu-se de escapar da nova linha.
(327) Removido 100 redundante para randint. Comparação do primeiro caractere da resposta, em vez da sequência inteira.
(314) Impressão atualizada que ganhou.
(300) Alterado quando o jogador era jogador 1: alteração do número de adivinhações como computador
fonte
BASIC, 184
Aqui está a versão sem AI.
fonte
code-golf
.Lua 360 Chars
Versão sem golfe:
fonte
Javascript
Isso tem cerca de 800 caracteres e inclui sua seleção binária básica 'AI' para a metade do player do computador. Provavelmente eu poderia salvar alguns caracteres se me livrasse de todos os meus
var
s, mas não gosto de vazar variáveis, mesmo durante o código de golfe. Também dei dois passos "Isso está correto?" / "Isso está mais alto?" coisa com confirmar pop-ups ao invés de dar um pop-up rápido e procurar "correto" / "maior" / "menor", embora isso possa também salvar alguns caracteres, eu realmente não verifiquei.Além disso, eu o testei apenas no Firefox 4, por isso não sei se algumas das coisas que estou fazendo funcionam de maneira consistente, particularmente combinando uma entrada inválida, analisada como NaN, com um valor padrão em minha
wp
função.fonte
Java, 1886 caracteres
Versão sem golfe:
fonte
int a=5,b=10
(34). Você pode nomear os argumentos no construtor diferentes dos campos para evitarthis.
(10). Você pode eliminarL
completamente, pois sempre permanece em1
(4). Você pode deixar de fora a inicializaçãoH
eG
que é definida no construtor de qualquer maneira (6). Você pode usar nomes de uma letra para todas as variáveis e métodos (235).fuzzify
usando o operador condicional (20). Você pode inserir oBufferedReader
ingetInt
(19). Você pode usarString#matches
para evitar oPattern
eMatcher
emgetInt
(48). Você também pode usar o operador condicionalprocessGuess
(30). Estou agora até 1360, em vez de sua inicial 1953.Rádio-relógio, 5756 bits (2159 bytes)
Em breve em um despertador perto de você! As novas linhas são apenas para legibilidade. Os valores ASCII são usados ocasionalmente no lugar da exibição numérica literal na tela. Se encaixa especificações. Usa padrões para
A
eI
. Na primeira entrada, use NULL para adivinhar, caso contrário, você definirá o número. O PADSIZE DEVE SER 4! As células devem ter 7 bits e envolver! Turing-completo! Saídashigher
,lower
,correct
,you won
, eyou lost
.fonte
Rubi 1.9 (298)
Instruções não muito amigáveis.
fonte
Senti a necessidade de fazer justiça a Java. :)
Java -
486437421414Golfe
Ligeiramente Ungolfed
fonte