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
cliysti? Se mueve paraSSdeshabilitar automáticamente las interrupciones durante la siguiente instrucción, yAXno se cambiará si ocurre una interrupción antesMOV SS,AX. Además, ¿por qué no enMOV AX, 0x13lugar de dosMOVs?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/ledsfuente
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
/1el 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:///1si el html se guarda como/1, y el archivo html se puede acortar a<body bgcolor=0 style=cursor:none>chromeen su respuesta en lugar dechromiumC # -
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.MaximizedyFormBorderStyle.Nonecon 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.FormyBackColor=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 porscompleto. 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 deFULLSCREENyKEYDOWN, puede usar sus valores numéricos, a saber-1<<31(-2147483648) y2respectivamente.TI-BASIC,
76Funciona tanto en la terminal (pantalla de inicio) o como un programa. Al presionar
ONo 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.ResetyLOAD"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, elLOADcomando BASIC realiza unCLRllamado que a su vez llamaCLALL. Reemplazamos elCLALLvector 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 llamamosRESTORa $ FF8A. El último vector reemplazado porRESTORestáSAVEen $ 0332-0333, lo que significa que los últimos 8 bytes están intactos. Luego salimos a través delCLALLvector restaurado para continuarLOADla 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
-setpara ambosxbacklight = 0yxbacklight + 7.x=xbacklight;$x +0;read;$x +7Bash, 37
Se utiliza
unclutterpara ocultar el puntero del mouse y una sesión de pantalla completaxtermpara 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
-grabopciónunclutterpara obtener 6 caracteres adicionales.ADVERTENCIA: esto dejará un proceso de
unclutterejecución incluso después de presionar Ctrl + C, usekillall unclutterpara 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 -fullscreeninicia 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
¶ 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
CLSborra la pantalla,SLEEPsin 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 4configura el modo de visualización para mostrar una imagen de 320 * 480 que abarca ambas pantallas. Esto debería borrar todo, porACLSlo 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 antesEfuente
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
bashyzsh), 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