Regras:
- Qualquer idioma que você escolher (bibliotecas padrão).
- Saída exibida no Terminal ou no Windows Command Processor ou de qualquer outra maneira que você preferir.
(buffer de largura = 80) - Caracteres ASCII são suficientes. (pode adicionar Unicode)
- Não deve preencher a tela inteira na inicialização (deve parecer uma chuva, duh!).
- Cores ganha pontos de bônus (+5).
- Efeitos : Caracteres aleatórios, diferentes tamanhos de queda, são regenerados periodicamente.
Pontos: (atualização)
- +32 pontos para começar.
- -1 ponto para cada byte (não caracteres) no código após o ** 1024 *** th * byte.
- Os pontos podem chegar a zero e negativos.
- Nota: Os idiomas que usam caracteres multibyte devem contar bytes, não caracteres.
- +5 para cada novo efeito. (não publicado por outras pessoas)
- +15 para qualquer um destes efeitos:
- Vento (sopra caracteres para o lado)
- Correspondência de números (entrada do usuário, por exemplo: 90210): o
número é localizado aleatoriamente na matriz
- Som
- Mensagem criptografada (entrada do usuário): os
caracteres representam uma mensagem criptografada secreta - Modo Galaga:
Dispara ^ para destruir personagens
Placar:
┌-----┬------------┬------------┬-------------┬---------------┬--------------┐
| pos | name | type | bytes | effects | points ^ |
|-----|------------|------------|-------------|---------------|--------------|
|1 |nitro2k01 |QBasic |913 |Colours |+57 |
| | | | |Colour Fade | |
| | | | |Sound (+15) | |
|-----|------------|------------|-------------|---------------|--------------|
|2 |squeamish |HTML, Java- |1024 |Colours |+47 |
| |ossifrage |Script, CSS | |Transition | |
| | | | |Size Variation | |
|-----|------------|------------|-------------|---------------|--------------|
|3 |manatwork |Ruby |374 |Colours |+47 |
| | | | |Actual Words | |
| | | | |Character - | |
| | | | | Disperse | |
|-----|------------|------------|-------------|---------------|--------------|
|4 |plg |Bash |1024 |Colours |+42 |
| | | | |Random Pause | |
|-----|------------|------------|-------------|---------------|--------------|
|5 |Timtech |TI-84 calc |120 |Umbrella |+42 |
| | | | |Run Inside | |
|-----|------------|------------|-------------|---------------|--------------|
|6 |Samuel Cook |JavaScript |830 |Colours |+42 |
| | | | |Transition | |
└-----┴------------┴------------┴-------------┴---------------┴--------------┘
Nota: O painel de avaliação será / poderá ser atualizado por qualquer pessoa após publicar uma resposta válida. Não exceda as dez primeiras posições. Adicione mais efeitos ao seu código e supere sua própria pontuação!
Limpar a tela inicial, limpeza, bugs, bibliotecas de terceiros etc. não conta para os pontos Lembre-se de incluir detalhes sobre não. de bytes usados e o nome do idioma ou programa.
Neo: O que você está tentando me dizer? Que eu posso evitar balas?
Morfeu: Não, Neo. Estou tentando lhe dizer que quando estiver pronto, você não precisará.
code-challenge
Renae Lider
fonte
fonte
Respostas:
HTML, Javascript e CSS: 1024 bytes, 47 pontos
Recursos:
(*) Vou reivindicar +5 pontos para cada um deles, mas deixe-me saber se você não concorda :-)
Demo:
http://ruletheweb.co.uk/matrix.html
Código fonte:
Exatamente 1024 bytes. É um pouco feio, receio.
fonte
Bater
1024 bytes (incluindo comentários)
Novos efeitos:
Golfed @
188186176 :Isso funciona em uma grade de 80x40. Você pode mudar isso na
RANDOM%80
última linha er<$2+41
na segunda. Eu não limpo as gotas depois que elas saem da grade, então redimensione seu prazo para 80x40 ou altere 41 para$LINES+1
. Existem algumas coisas que não têm em comparação com a versão completa:$[RANDOM%10+5]
ficaria$[RANDOM%15]
Mesmo com essas limitações, acho bem legal!
Edit: Eu tentei usar caracteres unicode como ossifrage melindroso, mas porque eles são caracteres de largura dupla, eles preenchem a grade rapidamente e isso acaba parecendo estranho.
Também reduzi a versão golfed usando pontos de código unicode em vez de ASCII, para não precisar octal antes de obter um caractere, salvando uma etapa. Fiz a mesma coisa na versão principal, mas adicionei comentários para mantê-lo em 1024 bytes.
E então mudei a comparação int de
[ $r -gt $2 ]
para(($r>$2))
, esse espaço em branco estava me matando, mas não consegui encontrar outro método que comparasse ints e não strings. Isso reduziu a versão para 176 btyes!fonte
\033[
para\033[0;32m\033[
(pelo menos no meu terminal). Quão ruim é a idéia de tentar configurá-lo como um protetor de tela de terminal? : PJavaScript, 830 bytes
Possui todos os recursos clássicos, como:
Gosto porque é incrivelmente leve, fluido em movimento e simples. desfrutar!
fonte
QBasic 1, 587 bytes, 32 + 5 = 37 pontos
Exemplo de captura de tela:
32 pontos base + 5 pontos por cor. Mas como estou flutuando alegremente bem abaixo de 1024 bytes, mesmo sem a remoção ou otimização de espaço em branco, vamos adicionar mais algumas coisas para roubar alguns pontos:
QBasic 2, 913 bytes, 32 + 5 + 15 + 5 = 57 pontos
Captura de tela de amostra (efeito de cor ativado):
Mesmos recursos que o primeiro. Além disso, possui:
Vídeo mostrando-o em ação, incluindo o efeito de cor e efeito de som ativado pela senha:
http://www.youtube.com/watch?v=MQc-FDl_AZ8
fonte
GTB , 42 pontos
Executado a partir de uma calculadora TI-84, cerca de 100 bytes:
Efeitos
Como a calculadora é preto + branco, para começar, não há muito o que fazer ...
Enter
ON
interrompe o programa e oferece um belo teto para mantê-lo seco (você pode voltar para a chuva pressionandoEnter
duas vezesfonte
Ruby: 374 caracteres
(Nota:
^[
são caracteres únicos.)Descrição:
Exemplo de execução:
fonte