Votre objectif est simple: le programme doit rendre l'écran de votre ordinateur totalement noir .
Après le démarrage du programme, l'écran doit rapidement devenir complètement noir et le rester jusqu'à la fermeture du programme (n'importe quelle touche ou alt + F4, mouvement de la souris, etc.), après quoi les choses devraient redevenir normales. Il n'est donc PAS permis d'éteindre l'ordinateur ou de mettre le moniteur hors tension . Pas un seul pixel non noir ne devrait être visible pendant ce temps, pas même un curseur clignotant.
L'utilisateur ne doit faire aucune préparation (déplacer la souris en dehors de l'écran, débrancher les câbles, etc. ou saisir l'utilisateur après le démarrage du programme), il suffit de démarrer le programme.
Vous pouvez supposer en toute sécurité que l'ordinateur n'a qu'un seul moniteur connecté. Nous supposons également un ordinateur de bureau ou portable standard, car le faire sur un appareil spécifique sans moniteur normal serait trop simple.
Si vous utilisez des ressources externes (une image noire, un fichier GUI, etc.), leur taille en octets est ajoutée à la taille de votre code.
C'est OK si cela ne fonctionne que sur une seule famille de système d'exploitation, ou si cela nécessite opengl, etc., mais nécessitant une configuration matérielle très spécifique est mal vu.
Votre code source doit être écrit dans un langage de programmation, pas seulement un fichier de configuration qu'un autre programme (comme un économiseur d'écran) utilisera.
Réponses:
Bash, 28 ou 12
En supposant l'installation par défaut d'Ubuntu 12.04 LTS.
Démarre automatiquement l'économiseur d'écran, qui est un écran noir par défaut.
Edit : Comme suggéré par @Glenn Randers-Pehrson, en voici un avec 12 octets
Notez que cela peut ne pas fonctionner si vous avez un autre fichier sur votre système qui satisfait ce nom, par exemple
/tmp/1/gnd
. Mais c'est du code-golf, qui s'en soucie?Découvrez mon autre réponse bash si vous n'utilisez pas l'économiseur d'écran Gnome!
la source
Assemblage (chargeur de démarrage) 131 caractères / 512 octets compilés (en fait plus petit, mais le secteur de démarrage doit être long de 512 octets.)
Il s'agit d'un simple chargeur de démarrage. Lorsque l'ordinateur démarre, le BIOS le charge à partir de la disquette (disquette). Ensuite, il entre en mode graphique et se bloque simplement. Lorsque l'utilisateur appuie sur le bouton d'alimentation, le programme se termine et l'ordinateur passe en mode où il était avant d'exécuter le programme.
Testé avec VirtualBox.
Il compilera avec nasm:
Code source:
la source
cli
etsti
? Se déplace pourSS
désactiver automatiquement les interruptions pendant la durée de l'instruction suivante etAX
ne sera pas modifié si une interruption se produit avantMOV SS,AX
. Aussi, pourquoi pasMOV AX, 0x13
au lieu de deuxMOV
s?QBASIC (31)
la source
Java: 165
Java simple, crée simplement un cadre noir plein écran. Pour quitter, vous devez Alt + Tab revenir à la console et Ctrl-C, mais cela semble assez simple.
la source
Applesoft] [BASIC (17)
la source
Coup - 57
26Sur un ordinateur portable, cela réglera la luminosité du rétroéclairage de l'écran à 0 via
/sys/class/backlight
, sur une tablette ou un téléphone, cela réglera la luminosité de la LED de l'écran à 0 via/sys/class/leds
la source
Fn+F6
,Fn+<up arrow>
et de nombreuses autres combinaisons de touches tombent dans "n'importe quelle touche" et "etc.", et ce sont l'une des nombreuses à remettre la lumière telle qu'elle était.find /sys/class/{backlight,leds}/*/
?Je sais que c'est code-golf mais je n'ai pas pu résister.
Assurez-vous simplement qu'aucune fenêtre de navigateur n'est ouverte (dans ce cas, Chrome);
Exécutez ce PitchBlack.bat (
3124 octets) :S'il est placé dans le même répertoire de votre fichier Chrome.exe , ce lot exécutera Chrome en mode kiosque et ouvrira un fichier appelé / 1 (
494134 octets) en plein écran:Et voilà!
Nombre total d'octets:
807258Merci à @ace :)
Pour quitter le programme, vous devez opter pour un ALT + F4 classique ; Vous n'avez pas besoin de faire de préparation après le début du programme (ni avant, il vous suffit de placer
/1
et le fichier de commandes), donc ça va avec les règles.Veuillez noter que si vous placez votre curseur vers les bordures de l'écran, il peut devenir visible. Le PO n'a pas dit que cela n'était pas autorisé, car
Cela devrait donc être totalement ok! : P
la source
chrome --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>'
peut fonctionner sans fichier supplémentaire?file:
Cela signifie que lorsque vous utilisez shceme, aucune barre d'URL n'est visible, mais avec ledata:
schéma, il y a une barre d'URL?chromium-browser --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>
démarre Chrome presque plein écran avec la page noire sans aucune barre.file:///1
si le html est enregistré sous/1
et le fichier html peut être raccourci en<body bgcolor=0 style=cursor:none>
chrome
dans votre réponse plutôt quechromium
C # -
211202200196179 octetsMasque le curseur et affiche une fenêtre noire en plein écran. Peut être fermé avec Alt+F4
Code non golfé :
Je n'ai pas besoin de transtyper en
FormBorderStyle
, car ce n'est pas nécessaire si l'entier l'est0
.la source
System.Drawing.Color.Black
,FormWindowState.Maximized
,FormWindowState.Maximized
etFormBorderStyle.None
avec leurs valeurs correspondantes.Color.Black
. Cela devrait fonctionner tout de suite. OuBackColor=This.ForeColor
, ce qui POURRAIT aussi fonctionner.using System.Drawing;
et le second ne fonctionne pas parce que j'ai défini les valeurs des variables entre crochets.using System;
alorsnew Windows.Forms.Form
etBackColor=Drawing.Color.Black
. Cela POURRAIT fonctionner! Et économisez quelques octets.C #
175171167Beaucoup de réponses ici ne rendent pas réellement l'écran noir : sur un écran LCD, le rétro-éclairage reste allumé et saigne, vous laissant avec un gris foncé.
Ce petit extrait indique en fait à Windows d'éteindre l'écran, de la même manière que le minuteur d'inactivité (Remarque: cela ne viole pas la règle "pas de mise hors tension" car il fait vraiment juste passer le moniteur en veille. La plupart moniteurs réactiver lorsque l'entrée est reprise. De plus, l'intention de cette règle semble être de s'assurer que le programme peut la réactiver - voir ci-dessous.)
Déplacez la souris ou appuyez sur une touche pour rallumer l'écran.
Moniteur hors tension adapté de https://stackoverflow.com/a/713519/1030702
la source
Assemblage Amiga
ASM-One -
228219 caractères, 172 octets compilés (168 octets optimisés)Cela fait 20 ans que j'ai codé pour la dernière fois une seule ligne dans l'assemblage Amiga, alors restez avec moi. :-)
L'Amiga était un peu plus impliqué que le PC en termes de configuration d'un écran vierge, donc a essayé de se débarrasser d'autant de configuration et de démontage que possible. Il n'y a pas de désactivation des interruptions ou du multitâche; pas de double WaitTOF; aucun remplacement de vue; etc. Je n'aurais même pas écrit ceci pour la démo la plus rapide et la plus sale. Ce qui signifie ceci:
... bien qu'il ait été testé sur des émulateurs A500 et A1200, avec ou sans mémoire rapide. Compile en un exécutable standard. Le clic de souris se termine.
Moins golfé:
la source
Python / Pygame
19912712592Merci à quelques conseils d'Ace.
la source
from pygame import*
place. De plus, je ne pense pas que cefill((0,0,0))
soit nécessaire car la couleur par défaut est le noir. Ensuite, vous pouvez supprimers
complètement. Je ne pense pas que cedisplay.flip()
soit nécessaire non plus. En outre, utiliser un espace pour l'indentation au lieu de 4 peut vous faire économiser plus d'espace. Enfin, au lieu deFULLSCREEN
etKEYDOWN
, vous pouvez utiliser leurs valeurs numériques, à savoir-1<<31
(-2147483648) et2
respectivement.TI-BASIC,
76Fonctionne à la fois dans le terminal (écran d'accueil) ou en tant que programme. Appuyez sur
ON
ou sur la plupart des autres boutons pour revenir à l'écran du terminal / d'accueil.la source
Shade(Ymin,Ymax
.Commodore 64 (16 octets)
Cela fait plus de 20 ans que j'utilise Turbo Assembler, je ne peux donc fournir que la source à utiliser sur le moniteur de VICE. Assemblez cela à 032C $ et
save
[1] à 033B $.Reset
etLOAD"PITCHDARK",8,1
. Frappez le bon vieuxRunstop+Restore
[2] pour revenir à la normale.Comment ça marche?
Voici la vraie source:
$ 032C est le Kernal
CLALL
ou « Fermer tous les canaux et les fichiers » vecteur. Dans le cadre de son nettoyage, laLOAD
commande BASIC effectue unCLR
appel qui à son tourCLALL
. Nous remplaçons leCLALL
vecteur par un pointeur sur notre propre routine immédiatement après le vecteur. Nous définissons la bordure sur noir etRESTOR
couvrons l'écran avec la bordure, puis appelons à $ FF8A. Le dernier vecteur remplacé parRESTOR
estSAVE
à $ 0332-0333, ce qui signifie que les 8 derniers octets ne sont pas perturbés. Nous sortons ensuite via leCLALL
vecteur restauré pour continuerLOAD
l'exécution.Merci pour cela, ce fut un voyage amusant dans la mémoire, réapprenant à faire un programme d'exécution automatique :)
[1] utilisez save et not bsave pour que charger avec, 1 fonctionne correctement
[2] Escape + PageUp en x64, probablement.
la source
sh / X11 sur Arch Linux, 26
la source
-set
pour les deuxxbacklight = 0
etxbacklight + 7
.x=xbacklight;$x +0;read;$x +7
Bash, 37
Permet
unclutter
de masquer le pointeur de la souris et une session plein écran dexterm
pour noircir l'écran. Le curseur réapparaîtra un instant si vous le déplacez, mais si vous le laissez seul, l'écran sera noir jusqu'à ce que vous appuyiez sur Ctrl + C.Il faudra quelques secondes pour que le curseur de la souris disparaisse (tant que vous ne le déplacez pas). Si ce n'est pas assez rapide, ajoutez le
-grab
option àunclutter
pour 6 caractères supplémentaires.ATTENTION: cela laissera un processus d'
unclutter
exécution même après avoir appuyé sur Ctrl + C, utilisezkillall unclutter
pour l'arrêter.Explication
unclutter &
lanceunclutter
. le&
est là pour que nous puissions passer à la commande suivante au lieu d'attendre que celle-ci se termine.xterm -fullscreen
lance XTerm, dont l'arrière-plan est noir par défaut.L'
-e yes ''
option entraîne l'exécution de XTermyes ''
, imprimant ainsi la chaîne vide pour toujours. Cela sert à masquer le curseur du terminal et fournit également la fonctionnalité Ctrl + C.la source
&
pour économiser 2 octets.Bash, 31 (ou 52)
Sur un TTY, utilisez le script suivant (en supposant que votre arrière-plan TTY par défaut est noir, ce qui est vrai au moins pour Ubuntu 12.04 LTS):
Votre ATS serait toujours pleinement fonctionnel même après avoir utilisé ce script :)
Si cela n'est pas autorisé, utilisez ce qui suit (52 octets):
Et appuyez sur Enterpour terminer le script.
Un merci spécial à @ nyuszika7h.
la source
x='setterm -foreground';$x black;clear;read;$x white
(52 octets).Traitement, 113
J'ai essayé de mettre le code ci-dessus sur draw () pour enregistrer quelques octets, mais cela n'a pas fonctionné. Appuyez sur Alt-F4 pour quitter.
la source
ZX Spectrum Basic (29 octets)
Itère sur l'écran, traçant les pixels noirs qui sont automatiquement effacés à la fin du programme.
L'édition de base du ZX Spectrum utilise des octets uniques comme commandes et pas de retour à la ligne, si vous comptez les caractères affichés, vous obtenez 61 caractères.
la source
Lua + LÖVE (50)
Les deux fonctions sont censées prendre un argument booléen, mais cela fonctionne.
la source
QBasic, 9 octets
CLS
efface l'écran,SLEEP
sans aucun argument retient l'exécution jusqu'à ce qu'une touche soit enfoncée.la source
SmileBASIC, 15 octets
Appuyez sur START ou SELECT pour mettre fin au programme.
XSCREEN 4
définit le mode d'affichage pour afficher une image 320 * 480 couvrant les deux écrans. Cela devrait tout effacer, donc unACLS
n'est pas requis.EXEC.
fait répéter le code en exécutant constamment le programme dans l'emplacement 0. Je n'ai pas pu le faireXSCREEN 4EXEC.
parce que vous ne pouvez pas avoir de numéro directement avantE
la source
Sinclair BASIC - 28 caractères
La chose à propos de Sinclair BASIC était que chaque mot-clé avait son propre code de caractère (prenant un octet), donc cela prendrait en fait 13 octets, espaces compris.
la source
:NEW
) car les commandes sont des octets simples plutôt qu'une collection de caractères.SmileBASIC, 23 octets
S'exécute indéfiniment jusqu'à ce que le programme soit tué de force avec START ou SELECT. Cela rend les deux écrans complètement noirs , allant jusqu'à présent pour désactiver la 3D (éteignant ainsi la LED 3D sur o3DS.)
la source
La plupart des shells compatibles POSIX (au moins
bash
etzsh
), 21Doit être exécuté sur un terminal
La première commande masque le curseur, la deuxième commande efface l'écran (duh) et la troisième commande lit une ligne de texte
la source
BASH - 14 caractères
pmset sleepnow
Fait le travail!(tapé dans le terminal de mon Mac)
la source
Bash: 48 caractères
CW car il n'est pas clair s'il est admissible en raison de la façon dont il fonctionne:
(Notez que DP1 est le premier écran connecté . Si vous avez un ordinateur portable, son écran intégré est eDP1.)
la source
Application HTML (.hta), 102 octets
la source
TI-80 BASIC, 5 octets
la source
Puce-8, 0 octet
Source: http://laurencescotford.co.uk/?p=75
la source