Cenário: durante a programação, você sente uma súbita necessidade nostálgica dos anos 80 e de jogos bregas.
Requisitos: Crie um programa GUI (o texto provavelmente não funcionará) para o jogo Simon. A entrada pode estar clicando ou pressionando uma tecla. Você deve dividir a tela em 4 regiões: amarelo, azul, vermelho, verde. Quando o jogo começa, uma cor aleatória acende e você a ativa. Então, duas luzes acendem, uma após a outra, e você precisa ativá-las em ordem, etc. O jogo termina quando você pressiona a cor errada.
Bônus:
-100 se você incluir som (uma nota diferente é tocada ao pressionar cada região e quando o jogo mostra as cores)
-25 se você incluir um contador de pontuação.
Respostas:
Bash
318297281273268244240-125 115 =Isso é principalmente uma resposta para "O texto provavelmente não funcionará"; o seguinte script bash baseado em texto funciona bem
Konsole
,gnome-terminal
etc. na minha máquina Ubuntu 14.04. Para criar as regiões de cores, ele define a cor do plano de fundo do texto. De fato, adicionar texto torna o jogo mais acessível para jogadores daltônicos. Para tornar o jogo ainda mais acessível, ele lê os personagens que o jogador precisa pressionar (assume queespeak
está instalado). Ele também pressupõe que a única correspondência de arquivo/d*/ur*/
seja/dev/urandom
. Para que as regiões de cores sejam de tamanho não trivial, você provavelmente deseja definir um tamanho de texto bastante grande. Além disso, se você deseja que as regiões de cores sejam quadrantes, é necessário executá-las em um terminal com dois caracteres de largura.Para reproduzir, pressione y, r, g ou b, conforme apropriado.
Esta solução contém dois caracteres ESC não imprimíveis. Embora esses caracteres ESC apareçam na visualização, eles parecem ser excluídos após o envio, portanto, o código acima é um invólucro que gera e executa os campos de golfe
simon_golf.sh
.Veja também a versão original não destruída , e a versão um pouco mais jogável de 256 bytes .
As capturas de tela abaixo são quando a luz amarela está acesa e a pontuação do jogador é 7. A captura de tela à direita foi dessaturada para simular daltonismo.
fonte
Arranhão, 1604 - 125 = 1479
Estou aqui por diversão, não por golfe.
Editar: método de pontuação atualizado com base no consenso da comunidade .
Programa principal:
Sprites individuais:
Este é o sprite com número
0
. Os outros sprites têm o mesmo script, exceto o número.Jogue com ele online .
Código usado para contagem de bytes: (usando o snippet para ocultar o código)
Mostrar snippet de código
Nota: Código gerado automaticamente usando o gerador de scratchblocks , modificado porque, de alguma forma, o gerador não manipula corretamente números decimais (tratando 0,3 como 0).
Captura de tela:
Nota: Não pressione dois botões dentro de 0,3 segundos.
fonte
Mathematica, 409 - 125 = 284
fonte
Windows PowerShell (CLI), 272 - 100 - 25 = 147
Adicionei novas linhas aqui para evitar a rolagem lateral, mas funciona como uma linha para que a contagem de caracteres seja sem novas linhas.
Captura de tela:
Jogar:
Comentários:
fonte
ZXBasic: 422 - 100 - 25 = 297
Definitivamente, isso conta como um desejo nostálgico dos anos 80 ...
O ZXBasic usa uma combinação de comandos do tipo FreeBASIC e o ZX Spectrum BASIC para permitir loops e repetições que depois se transformam no formato TZX para serem carregados em um emulador Spectrum.
Esta versão altera a borda (embora uma legenda na tela diga qual tecla pressionar). Ele toca as mesmas notas que o jogo original do Simon ( http://en.wikipedia.org/wiki/Simon_%28game%29 ).
fonte
HTML5 e Javascript, 1118-100-25 = 993 bytes
Versão HTML + Js muito inchada.
Reproduz sons através da API de áudio da Web .
As frequências das notas devem ser as originais de Simon, as cores e o posicionamento das cores também.
Há uma demonstração online aqui: http://www.dantonag.it/miniSimon.html . Funciona em navegadores compatíveis com Web Audio (pelo menos Chrome e Firefox, o IE não suporta, AFAIK).
Meu recorde é 15 (sou muito ruim nesse jogo). O que é seu?
fonte