Esta:
es un planeador .
En Conway's Game of Life, el planeador es un patrón famoso que atraviesa rápidamente todos los ámbitos. Para el desafío de hoy, vamos a dibujar un tablero ASCII Art Game of Life y colocar un planeador sobre él.
El tablero con el que comenzamos es este:
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
Esta placa está compuesta completamente de tuberías |
y guiones bajos _
, y mide 10x10. Debe escribir un programa o función que tome dos enteros, 'x' e 'y', y genere este mismo tablero con un planeador en esas coordenadas. Por ejemplo, si tenía un planeador en la posición (1, 1)
(0 indexado), debe generar lo siguiente:
|_|_|_|_|_|_|_|_|_|_|
|_|_|*|_|_|_|_|_|_|_|
|_|_|_|*|_|_|_|_|_|_|
|_|*|*|*|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
Puede suponer que el planeador nunca se colocará fuera de los límites, por lo que tanto x como y siempre estarán en el [0-7]
rango. También puede optar por tomar las coordenadas indexadas en 1, pero debe especificar esto en su respuesta. En este caso, las entradas siempre estarán en el [1-8]
rango. Aquí hay algunos ejemplos (todos indexados a 0):
0, 0:
|_|*|_|_|_|_|_|_|_|_|
|_|_|*|_|_|_|_|_|_|_|
|*|*|*|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
7, 7:
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|*|_|
|_|_|_|_|_|_|_|_|_|*|
|_|_|_|_|_|_|_|*|*|*|
7, 4:
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|*|_|
|_|_|_|_|_|_|_|_|_|*|
|_|_|_|_|_|_|_|*|*|*|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
5, 2:
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|*|_|_|_|
|_|_|_|_|_|_|_|*|_|_|
|_|_|_|_|_|*|*|*|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|_|_|
Como de costumbre, puede tomar su IO en cualquier formato razonable. Esto incluye, pero no se limita a una cadena con nuevas líneas, una matriz de cadenas, una matriz 2D de cadenas o escribir en un archivo / STDOUT. También puede elegir en qué orden tomar x e y .
Dado que este es el código de golf , las lagunas estándar están prohibidas y hacen el código más corto que puedas.
the glider is a famous pattern that slowly traverses across the boar.
. ¿Despacio? Es el objeto en movimiento diagonal más rápido en GoL. Alcanza 1/4 de la velocidad de la luz.Respuestas:
MATL ,
353230 bytesEl código contiene caracteres no imprimibles. La entrada está basada en 0. Pruébalo en línea!
fuente
V ,
31, 30 bytesPruébalo en línea!
Hexdump:
Esto toma la entrada como argumentos del programa, y 1 indexado.
Explicación:
fuente
Jalea ,
3735 bytesPruébalo en línea!
Cómo funciona
fuente
Python 2 , 151 bytes
Jugará más al golf.
Pruébalo en línea!
fuente
[*'|_'*10+'|']
lugar de lalist()
llamada.Perl 6 , 88 bytes
Los números complejos se usan para representar las coordenadas.
^10 »*» i X+ ^10
genera la cuadrícula de todos los números complejos con componentes enteros de cero a nueve.Devuelve una lista de cadenas, cada una con una línea.
fuente
»
hacer? ¿Cómo se codifica?>>
pero esa es la misma cantidad de bytes que el guillemet, por lo que para el golf prefiero el último ya que parece un poco más elegante en mi humilde opinión. En cuanto a lo que hace, transforma al operador que rodea en un "hiperoperador" que se aplica por pares a las listas o valores en ambos lados. Aquí, multiplica cada elemento del rango0-9
pori
, dando0, i, 2i, ..., 9i
.Haskell , 96 bytes
Toma dos enteros (
x
yy
) y devuelve una lista deString
s, es decir, una lista de tipo 2D[[Char]]
.Banco de pruebas:
fuente
Rubí , 87 bytes
Pruébalo en línea!
fuente
Mathematica,
115113 bytesdónde
Esto toma la entrada en
{row, col}
formato y está indexado en 1, pero puede convertirse en indexado en 0 sin agregar bytes.Algunas notas:
\n
es un carácter de nueva línea, toma 1 byte.
es decir\[Function]
, toma 3 bytes.
es decir\[Transpose]
, toma 3 bytes.Tenga en cuenta que "matriz de cadenas" está permitido, por lo que puedo eliminar
Riffle
, daMathematica,
9897 bytesfuente
Java 8,
165144 bytesExplicación:
Pruébalo aquí
fuente
JavaScript (ES6), 99 bytes
Toma entrada a través de curry:
f(5)(2)
para x = 5, y = 2. Las coordenadas están indexadas a cero.Fragmento de prueba
fuente
SOGL , 23 bytes
nota: esto espera que la entrada se indexe en 1
Explicación:
fuente
Python 2 , 133 bytes
Pruébalo en línea!
fuente
Carbón , 28 bytes
Pruébalo en línea! Enlace al modo detallado para la descripción.
fuente
|_
antes\n
de guardar un byte comprimido. (Intenté varias formas diferentes de imprimir el planeador pero ninguna guardó ningún byte.)