El desafío es doble:
Haz un programa que construya una puerta. ASCII, HTML o de otra manera
Haz que la puerta sea funcional. Abre y cierra
¡Se puede abrir mediante entrada o interacción!
- Puerta no funcional +5 puntos.
- Solo una puerta abierta +10 puntos.
- Puerta interactiva +15 puntos.
- Puerta elegante +20 puntos. Esto significa giratorio, plegable, etc.
- Animación +20 puntos.
- <100 caracteres +50 puntos.
- -100 puntos por usar un programa diseñado específicamente para dibujar o animación.
Si tiene sugerencias de criterios, déjelas en los comentarios.
Ejemplo de puerta abierta no funcional:
<?php
$idiots_in_room=true;
if($idiots_in_room)
{
$count=20;
$count2=7;
for($i=0;$i<$count;$i++)
{
if($i==0)
{
echo str_repeat("-",10);
if($i==0){echo ".";}
echo "\n";
}
elseif($i==9)
{
echo str_repeat("-",10);
echo str_repeat("Â ",7)."o"."|";
echo "\n";
}
elseif($i<=9)
{
echo str_repeat("-",1).str_repeat("Â ",8).str_repeat("-",1);
echo ($i<5) ? str_repeat("Â ",$i*2)."\\" : str_repeat("Â ",8)."|";
echo "\n";
}
elseif($i<=14)
{
if($i>9){echo str_repeat("Â ",$i)."\\";}
echo str_repeat("Â ",$count2--)."|";
echo "\n";
}
}
}
Salida de ejemplo:
----------.
- - \
- - \
- - \
- - \
- - |
- - |
- - |
- - |
---------- o|
\ |
\ |
\ |
\ |
\ |
code-challenge
Evento_Horizonte
fuente
fuente
Respuestas:
JavaScript, 4380 caracteres, 65 puntos (?)
ASCII? Cheque. HTML? Cheque. Es una puerta? Cheque. Puerta que se puede abrir? Cheque. ¿Interactivo? Cheque. ¿Lujoso? Puertas dobles con bisagras colocadas correctamente, espero que eso cuente. ¿Animado? Cheque. ¿Menos de 100 caracteres? Decir ah. ¿No utiliza instalaciones destinadas a dibujar? Cheque.
Demo en vivo. (Nota: en mis pruebas con Firefox, hacer clic en las puertas más de una vez no funciona; por alguna razón, el controlador de eventos no se activa de nuevo y me desconcierta por qué; señalar lo que hice mal sería bienvenido. Sin embargo, es posible que desee ejecutar esto en Chrome de todos modos para un rendimiento JS decente).
Cuando está cerrado, las puertas se ven así:
fuente
HTML y CSS3, 55 puntos
La puerta animada, interactiva y elegante tiene 55 puntos, creo.
Sí, esto se abre como cualquier otra puerta, pero si una puerta corredera cuenta como elegante, ¿por qué no una giratoria? Si una giratoria no es elegante, bueno, una puerta corredera no es un problema
:)
Una demostración está disponible en http://result.dabblet.com/gist/3132160/ac475112dbba493d2dd7d98493d4f4ceaa209a7c . Haga clic en el pomo de la puerta para abrir y cerrar. No hay JavaScript involucrado; Es solo la magia de CSS3.
fuente
Mathematica 271 caracteres
Las puertas dobles
r
)h
yw
) pueden establecer su altura y anchura .El código se basa en un programa de Sándor Kabal.
fuente
Python - 65 puntos, 86 caracteres
Interactivo y menos de 100 caracteres.
Espera entrada y te muestra la puerta . La entrada válida es "abrir" y "cerrar" y "adiós".
fuente
Mathematica 127 caracteres
Esta es una implementación más simplificada que la que presenté anteriormente. Tiene una sola puerta. La sola puerta
o
)Sin embargo, utiliza una altura y ancho de puerta fijos.
fuente