Entrada:
- Obtiene una serie de enteros (alimentados a través de stdin o prompt).
- Cada par de enteros en esta serie representa el ANCHO de un edificio [rango válido: 1..10] y ALTURA [rango válido: 0..10]
- Suponga que la entrada está bien formada.
Entrada de muestra (la segunda línea es solo para fines de demostración):
1 2 1 1 1 0 2 4 1 3 1 2 2 1 WHWHWHWHWHWHWH
Salida de muestra correspondiente:
______ / ______ / | El | El | | __ El | | / __ / | __ | El | El | | __ / __ / | El | El | | / __ / | El | El | | __ | El | El | El | | ______ El | | / __ / | El | El | El | | / ______ / | El | El | El | | _ | El | El | El | El | El | | _o_ | _o_ | / __ | _o _____ | _o_ | _o_ | _o _____ | / ------------------------------------- - - - - - - - - - - - - - -------------------------------------
Reglas:
Los edificios
- Un bloque de construcción básico se ve así (1 W, 1H)
__ / __ / | (el cubo base se toma prestado del de esta pregunta: El | El | El | http://stackoverflow.com/questions/1609702/code-golf-playing-cubes) | ___ | /
Nuestra vista es (ahum) ~ 3D, por lo que los edificios vecinos pueden ocultar partes de otros. Los edificios se representan 'lógicamente' de izquierda a derecha.
El primer edificio está precedido por dos espacios a su izquierda.
Representa cada edificio aplicando ANCHO y ALTURA a las dimensiones del cubo base (¡eche un vistazo a la salida de muestra proporcionada!). Como referencia: número de caracteres de la 'pared' de izquierda a derecha (para un edificio con W> 1): (W * 5) - (W-1).
Los edificios con Altura> 0 tienen UNA puerta (que está representada por el personaje
o
y se encuentra a dos caracteres del muro 'izquierdo' en la fila 'inferior').
El camino:
- El camino consta de tres partes que llamaremos 'superior', 'medio' e 'inferior'.
- La parte 'superior' y la parte 'inferior' son idénticas, aparte del hecho de que la parte 'superior' está precedida por dos espacios.
- La parte media está precedida por un espacio y consiste en una repetición del siguiente patrón:
'-'
- La longitud se determinará por el ancho total de los edificios combinados: la parte más a la derecha del camino corresponde con la posición del muro 'derecho' del 'último' edificio.
Ganadores:
Este es el código de golf! El ganador es el concursante calificado con la solución más corta (por número de código fuente). La fuente debe consistir únicamente en caracteres ASCII imprimibles. ¡Que te diviertas!
Puntos de bonificación imaginarios para ventanas (aleatorias), automóviles o peatones.
¡Siéntase libre de comentar si las especificaciones no son claras!
'- '
(con dos espacios)? Editar : Ah, los dos espacios no se muestran: P. Puede mostrar múltiples espacios usando ASCII 255 (espacio sin interrupciones, ALT + 255 en el teclado numérico), o copiando y pegando desde mi comentario aquí. Orr ... podrías decir que es una repetición de' - '
:)but you must not enforce this
en 3)? En mi opinión, cualquier suposición está disponible para ser explotada si aumenta su puntaje. Por lo tanto, puedo escribir código que solo funciona si el ancho total es menor a 80 si puedo exprimir un recuento de caracteres más bajo. Por ejemplo, escribir la salida en una matriz de búfer de pantalla con un ancho de 80, por lo que se bloqueará en cualquier ancho total más alto. Si deseaRespuestas:
Haskell, 396 caracteres
Salida de ejemplo:
fuente
Python, 415 caracteres
Utiliza rebanadas para dibujar todas las partes del edificio.
fuente