Aquí hay un tablero de tres en raya:
a b c
| |
1 - | - | -
_____|_____|_____
| |
2 - | - | -
_____|_____|_____
| |
3 - | - | -
| |
Dado un conjunto de movimientos, imprime el tablero con las fichas.
La entrada se tomará como movimientos separados por espacios, siendo cada movimiento:
- Primero, el token que va
- Luego, la letra de la columna en la que se mueve
- Por último, el número de la fila en la que se mueve
Tenga en cuenta que las reglas normales de tres en raya no importan.
Además, no es necesario imprimir las letras y los números.
Por ejemplo, la entrada Ob2 Xc2 Ob3 Xa1
daría como resultado
| |
X | - | -
_____|_____|_____
| |
- | O | X
_____|_____|_____
| |
- | O | -
| |
Recuerde, este es el código golf , por lo que gana el código con el menor número de bytes.
Tablas de clasificación
Aquí hay un fragmento de pila para generar una tabla de clasificación regular y una descripción general de los ganadores por idioma.
Para asegurarse de que su respuesta se muestre, comience con un título, usando la siguiente plantilla de Markdown:
# Language Name, N bytes
¿Dónde N
está el tamaño de su envío? Si mejora su puntaje, puede mantener los puntajes antiguos en el título, tachándolos. Por ejemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Si desea incluir varios números en su encabezado (por ejemplo, porque su puntaje es la suma de dos archivos o desea enumerar las penalizaciones de la bandera del intérprete por separado), asegúrese de que el puntaje real sea el último número en el encabezado:
# Perl, 43 + 2 (-p flag) = 45 bytes
También puede hacer que el nombre del idioma sea un enlace que luego aparecerá en el fragmento de la tabla de clasificación:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
fuente
1 2 3
paraXb3
(no tiene que ser exactamente eso).Respuestas:
JavaScript (ES6),
136133129 bytesfuente
Python (2.7),
188180 bytesfuente
'
s;
permitiéndole poner todo su código en una línea para ahorrar sangría.for y in '123'
->for y in'123'
. Además, lo que dijo xnor: puede hacer que su función sea una línea, utilizando;
para separar declaraciones. Con todos estos consejos de golf, puede jugar al golf 6 bytes.Python 2, 112 bytes
Se imprimen nueve filas correspondientes a los índices de fila
r
. El índice de la fila se cuenta desde3
hasta11
en unexec
bucle. Cada fila consta de líneas verticales que|
unen tres segmentos de 5 caracteres que alternan entre:El tipo está hecho para ciclar
r%3
, excepto que la última fila tiene espacios en lugar de guiones bajos, logrados conr%11%3
.Para encontrar el símbolo del jugador para la celda actual, miramos el número de fila
r/3
y la letrac
de la columna"abc"
. Los concatenamos para hacer una cadena de dos caracteres comob3
, encontrar el índice en la cadena de entrada y luego tomar el símbolo (X
oO
) un índice antes. Si ninguno de los jugadores jugó allí, elfind
valor predeterminado será-1
, que disminuye a-2
. Hackeamoss[-2]
estar-
añadiendo dos personajes cuando tomamos entrada.fuente
PHP, 187 bytes
Toma la entrada como cadena. Si pudiera usar una matriz, se puede reducir a en
$_GET[a]
lugar deexplode(" ",$_GET[a])
207 bytes
La idea más simple para crear estos 194 Bytes
fuente
Mathematica, 205 bytes
Esto sería mucho más corto si pudiera usar el incorporado ... (92 bytes)
fuente
Java, 138 bytes
Editar:
Snipet:
Código:
fuente
o[a[1]-'a'][a[2]-'0']=a[0]
se puede jugar golf por dos bytes ao[a[1]-97][a[2]-48]=a[0]
Lote,
341339305287 bytesAsume salida consistente. Editar: guardado 2 bytes eliminando espacios innecesarios. Ahorró 34 bytes escribiendo la salida usando un
for
bucle. Ahorró 18 bytes al eliminar la subrutina.fuente
Autovim , 110 bytes (no compite)
Prueba de conducción de Autovim ... Esta es más o menos una respuesta de Vimscript. No compite porque Autovim todavía se está desarrollando.
Para ejecutarlo:
Sin golf:
Explicación a seguir si hay interés :)
fuente
Groovy, 174 bytes
sin golf:
fuente
CJam, 62 bytes
Pruébalo en línea
Explicación:
fuente