Hagamos un ejercicio juntos, ¿de acuerdo? Simplemente sigue los movimientos del stickman. ¿Qué stickman preguntas? ¡El que estamos por crear!
Cree un programa que permita una entrada de cadena que solo contenga números enteros y genere las siguientes nueve figuras con un intervalo entre ellas:
@ \@/ |@_ _@| @/ \@ |@| \@\ /@/
/|\ | | | | | | | |
/ \ / \ / \ / \ /|\ /|\ / \ / \ / \
1 2 3 4 5 6 7 8 9
Esto dará como resultado una animación, que luego podemos seguir a lo largo de irl.
Aquí hay un ejemplo de la salida creada cuando la entrada es " 123245762
":
Algunas reglas:
- Esto está etiquetado como code-golf , por lo que gana el código más corto en bytes
- La entrada es un
string
contenido único[1-9]
con una longitud que puede variar de 2 a 100 caracteres ** - La animación debe ser un bucle sin fin.
- El intervalo de tiempo debe ser de 750 ms.
- No se permiten números enteros adyacentes duplicados en la entrada; esto también incluye el primer y el último número entero de la entrada (consulte los casos de prueba séptimo y octavo) **
** Cómo falla en caso de una entrada no válida depende completamente de usted, pero debe quedar claro que falla . Podría arrojar una excepción; simplemente regrese al comienzo; reinicia tu PC; eliminar su propio código fuente / compilación; piratear a los militares y dispara un cohete a la ubicación GPS de compilación. Tu llamada. EDITAR: no está permitido mostrar simplemente una animación (correcta / media) como entrada errónea. Debe quedar claro que algo está mal con la entrada para los casos de prueba que fallan a continuación. Gracias a @ user81655 por llamar mi atención, de ahí la edición.
Subreglas:
- Publique el gif para uno de los casos de prueba (sin fallas) a continuación en su respuesta, que puede hacer muy fácil con el siguiente programa: screentogif.codeplex.com (cualquier otro programa de creación de gif también está permitido, por supuesto).
- Puntos de bonificación si realmente haces el ejercicio junto con la animación irl cuando haya terminado. ;)
Casos de prueba correctos:
123245762
65
121234346565879879132418791576
Casos de prueba fallidos:
2
// Muy pocos personajes7282918274959292747383785189478174826894958127476192947512897571298593912374857471978269591928974518735891891723878
// Demasiados personajes1232405762
// Contiene entrada inválida (la0
)112212
// Falla por el11
y el22
presente1232457621
// falla debido al inicio y al inicio1
Respuestas:
Pyth, 114 bytes
Pruébalo aquí
(Sin pausa, no infinito)
fuente
0
). De todos modos, gracias por la entrada. Definitivamente, uno de los fragmentos de código más ilegibles para esta entrada es mi suposición. :)SpecBAS - 387 bytes
Sigue en bucle hasta que presione ESC. No hacer ejercicio correctamente (entrada incorrecta, en este ejemplo un 0 como uno de los pasos) conduce a la gordura. Los bucles GIF, en el programa simplemente se detiene en ese punto.
#13
es el equivalente de SpecBAS\n
y le permite incluir el avance de línea en cadenas.fuente
JavaScript (ES6), 165 bytes
fuente
JavaScript (ES6), 210 bytes
fuente
0
y duplicados?How it fails in case of invalid input is completely up to you
. Solo manejo entradas no válidas mostrando una animación. : P Ninguna de las otras respuestas existentes verificó esto tampoco, sin embargo, la respuesta que acaba de publicar el OP sí, así que tal vez él quería que manejáramos entradas no válidas.Mathematica, 252 bytes
Sería bueno si alguien pudiera crear un GIF. Corre en un cuaderno.
fuente
Python3, 338 bytes
fuente
Java 8,
663636634631596355354 bytesSolo por los lols intenté hacer el programa en Java.
Es cierto que soy bastante malo en el golf y las expresiones regulares, por lo que lo más probable es que se pueda jugar al golf (¿mucho?) Más. Sin embargo, aquí está en Java 7.Ahora, casi dos años después y casi reduje a la mitad el código en Java 8. ¿Por qué alguna vez hice esas reglas sobre validar la entrada y requerir un programa completo, aunque ...>.> Odio mi pasado yo ahora ..
Explicación:
Pruébalo en línea. (Después de que se haya agotado el tiempo de espera después de 60 segundos)
Gif:
(Nota: GIF antiguo, ya que es claramente jdk1.8 + ahora).
fuente
Java 7
para referirse a esta versión de Java como1.7
puede confundir a algunos a pensar que se trata deJava 1
la revisión7
p(new String[]{" @ ",y,"|@_", ... }[c-49]);if(c==49){p(x);l();}else if(c==53){w();p(x);}else d();
. También creo que definel
yw
desperdicia personajes, ahora que solo se usan dos veces. Considere dejar ens
cambio serchar[] s=a[0].toCharArray()
; todas las demás operaciones con él son mucho más cortas, entonces.