Declaración
Te dan una imagen fija de una serie de bolas que caen en una cuadrícula 2D. Esta cuadrícula está rodeada de paredes inmutables e irrompibles, por lo que toda la acción está contenida dentro de ellas. Su tarea es determinar cuál será el estado del escenario después de que la gravedad haga todo su trabajo.
Elementos dentro de la cuadrícula
-
Piso, no altera la dirección de las bolas que caen.\
Deslizar hacia la derecha, altera el camino de la pelota una (1) posición hacia la derecha./
Deslizar hacia la izquierda, altera el camino de la pelota una (1) posición hacia la izquierda.o
Una bola.
Reglas
- Las bolas caen.
- Los pisos y los toboganes no se caen .
- Si la pelota golpea un tobogán que lo haría atravesar una pared (
\#
o#/
), o cruzar un piso, el tobogán actuará como piso. - Cuando una bola golpea otra bola, se convertirá en una bola, pero aumentará su poder a la suma de ambas bolas.
- Las bolas nuevas (unidas) continuarán comportándose como de costumbre.
- Cuando una bola ya no puede moverse, se reemplaza por su poder.
- El poder de una pelota siempre será como máximo 9.
Entrada
La cuadrícula se proporcionará en una variable de cadena con el nombre más corto en el idioma que elija. Por defecto usaremos a
como entrada. Una muestra de una entrada, exactamente como se recibió:
##########\n# \ #\n#o #\n# - -\o #\n#/- \ #\n# \oo-/\#\n#-/ \ /#\n# \ \ #\n# /#\n##########
Para cuadrículas aleatorias generadas, use https://repl.it/B1j3/2 . Usar mi página generada en su lugar (sin anuncios, sin basura, solo la entrada y la salida)
Nota saltos de línea son \n
. Imprimir la entrada a la pantalla (no se requiere para el desafío) mostraría cosas como esta. Aunque he puesto cuatro acertijos al lado del espacio seguro.
########## ########## ########## ##########
# \ # # o -/# # o# #-o / #
#o # # \ # # o -# #-- \ /\ #
# - -\o # #- \ # # - \o# # - -- o-#
#/- \ # # # #o /\ # #/ \ #
# \oo-/\# #o -o- # # / -o# #/ /o oo/#
#-/ \ /# # -/- # # - o -# #o/ #
# \ \ # # \\ # # \o /# #o-o o#
# /# # \o\ /\# # \o # # -\o o /#
########## ########## ########## ##########
Salida
La misma cuadrícula, impresa en la pantalla con el resultado final de la potencia de la pelota. Una respuesta válida sería uno (1) de los siguientes acertijos, cada uno corresponde a la entrada en la misma posición, por supuesto, si la entrada es diferente, debe ajustar la salida. ¡No lo limites a esos cuatro!
########## ########## ########## ##########
# \ # # -/# # 1# #-1 / #
# # # \ # # -# #-- \ /\ #
#1 - -\ # #- \ # # - \ # # - -- -#
#/- \1# # # # /\ # #/ \ #
# \ -/\# # -1- # # / -2# #/ / /#
#-/ \ /# # -/- # # - -# # / #
# \ \ # # \\ # # \ /# # - #
# 2 /# #1\2\ /\# #2 2\1 # #2-\3 23/#
########## ########## ########## ##########
Puntuación
Los idiomas competirán contra ellos mismos, así que siéntete libre de usar idiomas que no sean de golf. Para validar una solución, debo poder probarla en algún lugar para ver si funciona.
La puntuación es el número de bytes. En caso de empate, gana la primera respuesta para alcanzar el puntaje empatado.
Advertencias
- Si no estoy seguro de cómo debería reaccionar una pelota, pregúnteme y aclararé, he sido lo más claro posible pero estoy seguro de que hay casos que son confusos.
- Las diapositivas solo se montan si puede salir de ellas , piense en ello como una diapositiva real. Hay un tipo en la parte superior que no te deja pasar la pelota a menos que salga por el otro lado.
Ejemplos clarificadores del movimiento de la pelota.
###### ######
#-o- # BALL WOULD GO RD #- - #
# \ # # \o #
###### ######
###### ######
#-o- # BALL WOULD STAY #-o- #
# \\ # # \\ #
###### ######
###### ######
# -o# BALL WOULD STAY # -o#
# \# # \#
###### ######
###### ######
# o # BALL WOULD STAY # o #
# \/# # \/#
###### ######
###### ######
#-o- # BALL WOULD GO LD #- - #
# /\ # #o/\ #
###### ######
ACTUALIZACIONES
¿Cómo puedo evaluar si mi respuesta es válida?
He configurado una página simple en uno de mis sitios que le dará un rompecabezas aleatorio y su respuesta. Tome la entrada y compárela con la salida. Mi solución, sin preocuparme demasiado por el golf, es en python (generador y página también en python)389b
355b
Tabla de clasificación
fuente
Respuestas:
JavaScript (ES6),
157196Editar char por char en lugar de fila por fila, resultado mucho mejor
Nota: no maneja valores de bola> 9. Pero podría, con un costo de 18 bytes. Vea el código básico a continuación.
Fragmento de PRUEBA (mejor página completa)
fuente
v>9?9:v
?Javascript (ES6),
453426409306290286 bytesLa primera y más obvia solución que me vino a la mente es una que mira alrededor de las diapositivas y luego se fusiona o reemplaza.
Sin golf:
Prueba como:
Gracias a: @ edc65
fuente
b.replace(/o/g,'1').split``
se puede acortar a[...b.replace(/o/g,1)]
Java,
demasiados1102987 bytesPorque Java.
\ o / ¡Está por debajo de 1000!
Un objetivo secundario fue poder imprimir cada iteración de la junta: basta con retirar el medio
;
enwhile(g.i())
;
System.out.print(g.s());
(aunque esto desactivar la última impresión que tiene la> conversión de energía 0-). Desafortunadamente, en esta versión, la gravedad funciona de manera extraña. Cada pase tomo la primera bola no pegada y la muevo. Cortocircuitoiterate()
hay menos bytes que pasar por toda la placa y luego regresar si algo cambia.Esta es una clase principal completa, compila y ejecuta en la línea de comando con argumento:
Versión "legible":
fuente
Python3, 355b
Prueba aquí
fuente
PHP,
228 204 197194 bytesproduce advertencias en PHP 7.1. Insertar
(int)
antes$a[$t]+$c
para arreglar.Ejecutar
php -nr '$a="<string>";<code>'
o probarlo en línea .Descompostura
fuente