Su objetivo es simple: el programa debe girar la pantalla de su ordenador totalmente negro .
Después de iniciar el programa, la pantalla debe volverse completamente negra y permanecer así hasta que se salga del programa (cualquier tecla, o alt + F4, movimiento del mouse, etc.), después de lo cual las cosas deberían volver a la normalidad. Por lo tanto, no está permitido apagar la computadora o apagar el monitor . No debe verse ningún píxel no negro durante este tiempo, ni siquiera un cursor parpadeante.
El usuario no debe hacer ninguna preparación (mover el mouse fuera de la pantalla, desconectar los cables, etc. o la entrada del usuario después del inicio del programa), simplemente inicie el programa.
Puede asumir con seguridad que la computadora solo tiene un monitor conectado. También asumimos una computadora de escritorio o portátil estándar, porque hacerlo en un dispositivo específico sin un monitor normal sería demasiado simple.
Si utiliza recursos externos (una imagen en negro, un archivo GUI, etc.), su tamaño en bytes se agrega al tamaño de su código.
Está bien si solo funciona en una familia de sistemas operativos o si requiere opengl, etc., pero está mal visto que requiera una configuración de hardware muy específica.
Su código fuente debe estar escrito en un lenguaje de programación, no solo un archivo de configuración que usará algún otro programa (como un protector de pantalla).
Respuestas:
Bash, 28 o 12
Asumiendo la instalación predeterminada de Ubuntu 12.04 LTS.
Inicia automáticamente el protector de pantalla, que es una pantalla negra de forma predeterminada.
Editar : como lo sugiere @Glenn Randers-Pehrson, aquí hay uno con 12 bytes
Tenga en cuenta que esto puede no funcionar si tiene otro archivo en su sistema que satisfaga este nombre, por ejemplo
/tmp/1/gnd
. Pero es código golf, ¿a quién le importa?¡Mira mi otra respuesta bash si no usas el protector de pantalla Gnome!
fuente
Ensamblado (cargador de arranque) 131 caracteres / 512 bytes compilados (en realidad más pequeños, pero el sector de arranque debe tener 512 bytes de longitud).
Es un simple gestor de arranque. Cuando se inicia la computadora, el BIOS lo cargará desde el disco (disquete). Luego entra en modo gráfico y simplemente se cuelga. Cuando el usuario presiona el botón de encendido, el programa finalizará y la computadora ingresará al modo donde estaba antes de ejecutar el programa.
Probado con VirtualBox.
Se compilará con nasm:
Código fuente:
fuente
cli
ysti
? Se mueve paraSS
deshabilitar automáticamente las interrupciones durante la siguiente instrucción, yAX
no se cambiará si ocurre una interrupción antesMOV SS,AX
. Además, ¿por qué no enMOV AX, 0x13
lugar de dosMOV
s?QBASIC (31)
fuente
Java: 165
Java simple, solo crea un marco negro de pantalla completa. Para salir, debe presionar Alt + Tab de nuevo a la consola y Ctrl-C, pero eso parece bastante simple.
fuente
Applesoft] [BÁSICO (17)
fuente
Golpe - 57
26En una computadora portátil, esto configurará el brillo de la retroiluminación de la pantalla en 0 a través de
/sys/class/backlight
, en una tableta o teléfono, establecerá el brillo del led de la pantalla en 0 a través de/sys/class/leds
fuente
Fn+F6
,Fn+<up arrow>
y muchas otras combinaciones de teclas caen en "cualquier tecla" y "etc.", y esas son una de las muchas para devolver la luz como estaba.find /sys/class/{backlight,leds}/*/
?Sé que esto es código golf, pero no pude resistirme.
Solo asegúrate de no tener ninguna ventana de navegador abierta (en este caso, Chrome);
Ejecute este PitchBlack.bat (
3124 bytes) :Si se coloca en el mismo directorio de su archivo Chrome.exe , este lote ejecutará Chrome en modo quiosco y abrirá un archivo llamado / 1 (
494134 bytes) en pantalla completa:Et voilà!
Recuento total de bytes:
807258Gracias a @ace :)
Para salir del programa, debes elegir un ALT + F4 clásico ; En realidad, no tiene que hacer ninguna preparación después del inicio del programa (ni antes, solo tiene que colocar
/1
el archivo por lotes), por lo que está bien con las reglas.Tenga en cuenta que si coloca el cursor hacia los bordes de la pantalla, puede hacerse visible. El OP no dijo que esto no estaba permitido, ya que
¡Entonces esto debería estar totalmente bien! :PAGS
fuente
chrome --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>'
puede funcionar sin archivo adicional?file:
shceme no obtienes una barra de URL visible, pero con eldata:
esquema hay una barra de URL.chromium-browser --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>
inicia Chromium en pantalla casi completa con la página negra sin barras.file:///1
si el html se guarda como/1
, y el archivo html se puede acortar a<body bgcolor=0 style=cursor:none>
chrome
en su respuesta en lugar dechromium
C # -
211202200196179 bytesOculta el cursor y muestra una ventana negra a pantalla completa. Se puede cerrar con Alt+F4
Código sin golf :
No necesito emitir
FormBorderStyle
, porque eso no es necesario si el entero es0
.fuente
System.Drawing.Color.Black
,FormWindowState.Maximized
,FormWindowState.Maximized
yFormBorderStyle.None
con sus valores correspondientes.Color.Black
. Debería funcionar de inmediato. OBackColor=This.ForeColor
, que PODRÍA funcionar también.using System.Drawing;
, y el segundo no funciona porque configuro los valores de las variables entre paréntesis.using System;
entoncesnew Windows.Forms.Form
yBackColor=Drawing.Color.Black
. ¡ PODRÍA funcionar! Y guarde algunos bytes.C #
175171167Muchas de las respuestas aquí en realidad no hacen que la pantalla sea negra : en una pantalla LCD, la luz de fondo permanece encendida y se desvanece, dejándolo con un gris oscuro.
Este pequeño fragmento de realidad indica a Windows para apagar la pantalla, al igual que lo hace el temporizador de inactividad. (Nota: esto no viola el "no apagado" regla porque en realidad sólo hace que el monitor de entrar en modo de espera La mayoría de los monitores vuelva a encender cuando se reanude la entrada. Además, la intención de esa regla parece ser asegurarse de que el programa pueda volver a encenderlo (ver más abajo).
Mueva el mouse o presione una tecla para volver a encender la pantalla.
Apague el monitor adaptado de https://stackoverflow.com/a/713519/1030702
fuente
Asamblea de amiga
ASM-One -
228219 caracteres, 172 bytes compilados (168 bytes optimizados)Han pasado 20 años desde la última vez que codifiqué una sola línea en el ensamblaje de Amiga, así que tengan paciencia conmigo. :-)
El Amiga estaba un poco más involucrado que la PC en términos de configuración de una pantalla en blanco, por lo que trató de deshacerse de la mayor cantidad de configuración y desmontaje posible. No hay desactivación de interrupciones o multitarea; no doble WaitTOF; sin reemplazo de vista; etc. Ni siquiera hubiera escrito esto para la demostración más rápida y sucia. Lo que significa esto:
... aunque ha sido probado en A500 y A1200 emulados, con o sin memoria rápida. Compila a un ejecutable estándar. El clic del mouse sale.
Menos golfizado:
fuente
Python / Pygame
19912712592Gracias a algunos consejos de as.
fuente
from pygame import*
lugar. Además, no creo quefill((0,0,0))
sea necesario ya que el color predeterminado es el negro. Entonces puedes eliminar pors
completo. No creo quedisplay.flip()
sea necesario tampoco. Además, usar un espacio para la sangría en lugar de 4 puede ahorrarle más espacios. Finalmente, en lugar deFULLSCREEN
yKEYDOWN
, puede usar sus valores numéricos, a saber-1<<31
(-2147483648) y2
respectivamente.TI-BASIC,
76Funciona tanto en la terminal (pantalla de inicio) o como un programa. Al presionar
ON
o la mayoría de los otros botones, vuelve a la pantalla de terminal / inicio.fuente
Shade(Ymin,Ymax
.Commodore 64 (16 bytes)
Han pasado más de 20 años desde que usé Turbo Assembler, por lo que solo puedo proporcionar una fuente para usar en el monitor de VICE. Arme esto a $ 032C y
save
[1] a $ 033B.Reset
yLOAD"PITCHDARK",8,1
. Golpea bienRunstop+Restore
[2] para volver a la normalidad.¿Como funciona?
Aquí está la verdadera fuente:
$ 032C es el meollo
CLALL
"Canales Cerrar todos y archivos" o vector. Como parte de su limpieza, elLOAD
comando BASIC realiza unCLR
llamado que a su vez llamaCLALL
. Reemplazamos elCLALL
vector con un puntero a nuestra propia rutina inmediatamente después del vector. Establecemos el borde en negro y cubrimos la pantalla con el borde, y luego llamamosRESTOR
a $ FF8A. El último vector reemplazado porRESTOR
estáSAVE
en $ 0332-0333, lo que significa que los últimos 8 bytes están intactos. Luego salimos a través delCLALL
vector restaurado para continuarLOAD
la ejecución.Gracias por esto, fue divertido viaje por el carril de la memoria, volviendo a aprender cómo hacer un programa de ejecución automática :)
[1] use guardar y no bsave para que la carga con, 1 funcione correctamente
[2] Escape + PageUp en x64, probablemente.
fuente
sh / X11 en Arch Linux, 26
fuente
-set
para ambosxbacklight = 0
yxbacklight + 7
.x=xbacklight;$x +0;read;$x +7
Bash, 37
Se utiliza
unclutter
para ocultar el puntero del mouse y una sesión de pantalla completaxterm
para oscurecer la pantalla. El cursor volverá a aparecer por un momento si lo mueve, pero si lo deja solo, la pantalla estará negra hasta que presione Ctrl + C.El cursor del mouse tardará unos segundos en desaparecer (siempre y cuando no lo mueva). Si esto no es lo suficientemente rápido, agregue la
-grab
opciónunclutter
para obtener 6 caracteres adicionales.ADVERTENCIA: esto dejará un proceso de
unclutter
ejecución incluso después de presionar Ctrl + C, usekillall unclutter
para detenerlo.Explicación
unclutter &
lanzamientosunclutter
. El&
está allí para que podamos seguir con el siguiente comando en lugar de esperar a que este termine.xterm -fullscreen
inicia XTerm, cuyo fondo es negro de forma predeterminada.La
-e yes ''
opción hace que XTerm se ejecuteyes ''
, imprimiendo así la cadena vacía para siempre. Esto sirve para ocultar el cursor del terminal y también proporciona la funcionalidad Ctrl + C.fuente
&
para guardar 2 bytes.Bash, 31 (o 52)
En un TTY, use el siguiente script (suponiendo que su fondo TTY predeterminado sea negro, lo cual es cierto al menos para Ubuntu 12.04 LTS):
Su TTY seguirá siendo completamente funcional incluso después de usar este script :)
Si esto no está permitido, use lo siguiente (52 bytes):
Y presione Enterpara terminar el guión.
Un agradecimiento especial a @ nyuszika7h.
fuente
x='setterm -foreground';$x black;clear;read;$x white
(52 bytes).Procesamiento, 113
Intenté poner el código anterior en draw () para guardar algunos bytes, pero no funcionó. Presione Alt-F4 para salir.
fuente
ZX Spectrum Basic (29 bytes)
Itera sobre la pantalla, trazando píxeles negros que se borran automáticamente cuando finaliza el programa.
La edición básica de ZX Spectrum usa bytes individuales como comandos y no líneas nuevas, si cuenta los caracteres mostrados, obtendrá 61 caracteres.
fuente
Lua + LÖVE (50)
Se supone que ambas funciones toman un argumento booleano, pero esto funciona.
fuente
QBasic, 9 bytes
CLS
borra la pantalla,SLEEP
sin ningún argumento mantiene la ejecución hasta que se presiona una tecla.fuente
SmileBASIC, 15 bytes
Presionando START o SELECT finalizará el programa.
XSCREEN 4
configura el modo de visualización para mostrar una imagen de 320 * 480 que abarca ambas pantallas. Esto debería borrar todo, porACLS
lo que no es obligatorio.EXEC.
hace que el código se repita ejecutando constantemente el programa en la ranura 0. No pude hacerloXSCREEN 4EXEC.
porque no puedes tener un número directamente antesE
fuente
Sinclair BASIC - 28 caracteres
Lo importante de Sinclair BASIC era que cada palabra clave tenía su propio código de caracteres (ocupaba un byte), por lo que en realidad ocuparía 13 bytes, incluidos los espacios.
fuente
:NEW
) ya que los comandos son bytes individuales en lugar de una colección de caracteres.SmileBASIC, 23 bytes
Se ejecuta para siempre hasta que el programa es forzado con START o SELECT. Esto hace que ambas pantallas sean completamente negras , hasta el punto de deshabilitar 3D (apagando así el LED 3D en o3DS).
fuente
La mayoría de los shells compatibles con POSIX (al menos
bash
yzsh
), 21Necesita ejecutarse en un tty
El primer comando oculta el cursor, el segundo comando borra la pantalla (duh) y el tercer comando lee una línea de texto
fuente
BASH - 14 caracteres
pmset sleepnow
¡hace el trabajo!(escrito en la Terminal de mi Mac)
fuente
Bash: 48 caracteres
CW porque no está claro si califica debido a la forma en que funciona:
(Tenga en cuenta que DP1 es la primera pantalla conectada . Si tiene una computadora portátil, su pantalla integrada es eDP1).
fuente
Aplicación HTML (.hta), 102 bytes
fuente
TI-80 BASIC, 5 bytes
fuente
Chip-8, 0 bytes
Fuente: http://laurencescotford.co.uk/?p=75
fuente