Pitch dark (souvenir Earth Hour)

31

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.

vsz
la source
9
Cela ne fonctionnera pas sur les écrans avec des pixels bloqués ...
Ismael Miguel
21
@IsmaelMiguel: vous pouvez assumer en toute sécurité un écran en parfait état de fonctionnement. Sinon, nous pourrions objecter à d'autres questions dans le style de "et si un transistor dans mon ALU est grillé et que mon ordinateur ne peut pas faire de calcul en virgule flottante?" :)
vsz
5
Fait amusant: sur les écrans qui n'utilisent ni CRT ni contraste dynamique, cela consommera un peu plus d'électricité!
Ry-
2
application du monde réel: l'astronomie! lists.apple.com/archives/Carbon-dev/2008/May/msg00005.html
Pas que Charles
2
Toutes les réponses sont automatiquement disqualifiées - un de mes moniteurs a un pixel dont la valeur rouge est toujours 255!
The Guy with The Hat

Réponses:

22

Bash, 28 ou 12

En supposant l'installation par défaut d'Ubuntu 12.04 LTS.

gnome-screensaver-command -a

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

/*/*/gn*d -a

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!

utilisateur12205
la source
1
Le genre de réponse qui vous fait penser: «Pourquoi diable n'ai-je pas pensé à ça?». :)
Alex Thornton
1
Ce n'est pas vraiment effacer l'écran en utilisant bash.
Dark Egregious
3
"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."
Hannes Karppila
2
@hannes karppila Je n'ai changé aucun fichier de configuration que n'importe quel autre programme utilisera. Je n'ai démarré qu'un autre programme, ce que font la plupart des scripts bash (sauf s'ils sont écrits en bash pur)
user12205
5
@ace, Golfed: / * / * / gn * d au lieu de gnome-screensaver-command économisera environ 16 octets (idée par mniip)
Glenn Randers-Pehrson
31

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:

nasm -f bin file.asm -o start.img

Code source:

[BITS 16]
[ORG 0x7C00]
cli
mov AX,0x0
mov SS,AX
mov SP,0x9000
sti
mov AH,0x0
mov AL,0x13
int 0x10
times 510 - ($-$$) db 0
dw 0xAA55
Hannes Karppila
la source
1
Comment fonctionner sur VirtualBox: (compiler en utilisant nasm), nouvelle VM, Type: Autre, version: Autre / Inconnu, pas de disque dur. Ensuite, allez dans les paramètres de la machine virtuelle, sélectionnez Stockage, faites un clic droit dans la liste et sélectionnez "Ajouter un contrôleur de disquette". Montez le fichier img compilé sur le lecteur de disquette. Enregistrez, puis vous pouvez l'exécuter. Prendre plaisir!
Zach Mertes
Je voulais faire la même chose qu'un programme DOS, mais tu étais plus rapide. Fondamentalement, la seule chose dont je me souviens de l'assembleur de waaay back :)
Fels
Pouvez-vous expliquer comment cela fonctionne?
Mega Man
Pourquoi le cliet sti? Se déplace pour SSdésactiver automatiquement les interruptions pendant la durée de l'instruction suivante et AXne sera pas modifié si une interruption se produit avant MOV SS,AX. Aussi, pourquoi pas MOV AX, 0x13au lieu de deux MOVs?
Ruslan
Plus jeune, je ne savais pas comment écrire correctement le code. Actuellement, je ne sais probablement pas non plus.
Hannes Karppila
15

QBASIC (31)

SCREEN 7
WHILE INKEY$=""
WEND
Dark Egregious
la source
14
@TheGuywithTheHat J'ai finalement trouvé une utilisation pour mes fenêtres 3.1 vm.
Dark Egregious
3
Wow voyant que WEND a ramené des souvenirs
Claudiu
@ user973810 Vous voulez dire QB64 .
nyuszika7h
14

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.

import java.awt.*;class B{public static void main(String[]a){Frame f=new Frame();f.setExtendedState(6);f.setUndecorated(1>0);f.setBackground(Color.BLACK);f.show();}}

// line breaks below

import java.awt.*;
class B{
    public static void main(String[]a){
        Frame f=new Frame();
        f.setExtendedState(6);
        f.setUndecorated(1>0);
        f.setBackground(Color.BLACK);
        f.show();
    }
}
Géobits
la source
11

Applesoft] [BASIC (17)

1 HGR2:GET X:TEXT
Geoff Reedy
la source
Je ne pense pas que ce soit en fait 17 octets ... Je pense que ce pourrait être moins. Si je me souviens bien, Applesoft a tokenisé ses mots clés, de sorte que chaque mot clé était en fait un octet ... donc celui-ci peut être considérablement plus court. C'est +1 de toute façon.
Beska
11

Coup - 57 26

C=/s*/*/*/*/b*ess;(A=$(cat $C);echo 0;cat;echo $A)|tee $C

Sur 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

mniip
la source
2
"Et le restent jusqu'à la fin du programme (n'importe quelle touche, ou alt + F4, mouvement de la souris, etc.), après quoi les choses devraient
redevenir
1
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.
Ismael Miguel
1
@minitech Oh. Eh bien, fixe ...
mniip
Cela ne fonctionne pas du tout pour moi. Si je fais "C = / s * / * / * / * / b ess; (A = $ (cat $ C); echo 0; cat; echo $ A) | tee $ C" de l'invite bash j'obtiens cat : / s * / * / * / * / b ess: Aucun fichier ou répertoire tel: / s * / * / * / * / b * ess: Aucun fichier ou répertoire
@Lembik Je suppose que vous n'avez pas de contrôleur de luminosité ou que les pilotes manquent. Ça vous dérange find /sys/class/{backlight,leds}/*/?
mniip
8

Je sais que c'est 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 ( 31 24 octets) :

chrome --kiosk file:///1

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 ( 49 41 34 octets) en plein écran:

<body bgcolor=0 style=cursor:none>

Et voilà!

Nombre total d'octets: 80 72 58
Merci à @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

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.

Cela devrait donc être totalement ok! : P

Vereos
la source
1
Peut-être que quelque chose comme ça chrome --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>'peut fonctionner sans fichier supplémentaire?
Vi.
file:Cela signifie que lorsque vous utilisez shceme, aucune barre d'URL n'est visible, mais avec le data:schéma, il y a une barre d'URL?
Vi.
Sur mon système 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.
Vi.
Testé sur Ubuntu et Chromium 34.0, il fonctionne avec file:///1si le html est enregistré sous /1et le fichier html peut être raccourci en<body bgcolor=0 style=cursor:none>
user12205
1
Je pense que vous devriez utiliser chromedans votre réponse plutôt quechromium
user12205
7

C # - 211 202 200 196 179 octets

using System.Windows.Forms;class A{static void Main(){Cursor.Hide();new Form{BackColor=System.Drawing.Color.Black,WindowState=(FormWindowState)2,FormBorderStyle=0}.ShowDialog();}}

Masque le curseur et affiche une fenêtre noire en plein écran. Peut être fermé avec Alt+F4

Code non golfé :

using System.Windows.Forms;
class A
{
    static void Main()
    {
        Cursor.Hide();
        new Form
        {
            BackColor = System.Drawing.Color.Black,
            WindowState = (FormWindowState)2, // FormWindowState.Maximized
            FormBorderStyle = 0 // FormBorderStyle.None
        }.ShowDialog();
    }
}

Je n'ai pas besoin de transtyper en FormBorderStyle, car ce n'est pas nécessaire si l'entier l'est 0.

ProgramFOX
la source
2
Vous pouvez remplacer System.Drawing.Color.Black, FormWindowState.Maximized, FormWindowState.Maximizedet FormBorderStyle.Noneavec leurs valeurs correspondantes.
Ismael Miguel
@IsmaelMiguel: Merci, j'ai mis à jour le FormWindowState et le FormBorderStyle! Je n'ai pas pu mettre à jour la couleur, car ce n'est pas une énumération.
ProgramFOX
Essayez Color.Black. Cela devrait fonctionner tout de suite. Ou BackColor=This.ForeColor, ce qui POURRAIT aussi fonctionner.
Ismael Miguel
@IsmaelMiguel: Le premier ne fonctionne pas parce que je n'ai pas ajouté using System.Drawing;et le second ne fonctionne pas parce que j'ai défini les valeurs des variables entre crochets.
ProgramFOX
Essayez using System;alors new Windows.Forms.Formet BackColor=Drawing.Color.Black. Cela POURRAIT fonctionner! Et économisez quelques octets.
Ismael Miguel
5

C # 175 171 167

class P{static void Main(){SendMessage(65535,274,61808,2);}[System.Runtime.InteropServices.DllImport("user32")]static extern int SendMessage(int a,int b,int c,int d);}

Beaucoup 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

Bob
la source
"Il n'est donc PAS permis d'éteindre l'ordinateur ou de mettre le moniteur hors tension ."
Ismael Miguel
1
@IsmaelMiguel J'ai fourni ma justification. "jusqu'à ce que le programme soit quitté (n'importe quelle touche, ou alt + F4, mouvement de la souris, etc.), après quoi les choses devraient redevenir normales. Donc, fermer ..." - l' intention de la règle a été satisfaite. Cela "le réactivera". Laissant de côté l'intention, il satisfait également le sens littéral , car, malgré la terminologie de Microsoft, cela ne l' éteint pas vraiment (délais d'attente sur les projecteurs, etc., à part), il le met en veille .
Bob
4

Assemblage Amiga

ASM-One - 228 219 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:

  • est une mauvaise pratique
  • peut ne pas être entièrement sûr
  • peut ne pas toujours fonctionner
  • même avec ces avertissements, a probablement des erreurs stupides en raison de 20 ans de montage négligé.

... 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.

l=$dff080
 move.l 4,a6
 lea g,a1
 jsr -408(a6)
 move.l d0,a1
 move.l 38(a1),d4
 jsr -412(a6)
 move.l #c,l
w:btst #6,$bfe001
 bne w
 move.l d4,l
 rts
g:dc.b "graphics.library",0
 SECTION d,DATA_C
c:dc 256,512,384,0,-1,-2

Moins golfé:

COP1LC equ $dff080

    move.l  $4, a6          ; ExecBase
    lea     gfxname, a1
    jsr     -408(a6)        ; OpenLibrary (old, hence no need for clearing d0)
    move.l  d0, a1
    move.l  38(a1), d4      ; store copper list
    jsr     -414(a6)        ; CloseLibrary
                            ; Yeah, if I had a penny for the times I saw that left out
                            ; but I just... can't...

    move.l  #copper,COP1LC  ; write copper list

wait:
    btst    #6, $bfe001     ; Check mouse click
    bne     wait

    move.l  d4, COP1LC      ; restore copper list
    rts

gfxname:
    dc.b    "graphics.library", 0

    SECTION data, DATA_C
copper:
    dc.w $0100, $0200       ; disable bitplanes
    dc.w $0180, $0000       ; color 0 = black
    dc.w $ffff, $fffe       ; end
JimmiTh
la source
1
Aaaah, les souvenirs! Aimer!
RobIII
Ouais, c'était plus une excuse pour un voyage de nostalgie qu'une véritable tentative de golf de code - l'assemblage Amiga rivalisera rarement avec Perl ou Python en termes de nombre de personnages. Bien que j'étais un peu surpris, il ne pouvait pas battre C # ou Java. :)
JimmiTh
4

Python / Pygame 199 127 125 92

from pygame import*;display.set_mode((9,9),-1<<31);mouse.set_visible(0)
while 1:event.pump()

Merci à quelques conseils d'Ace.

Harry Beadle
la source
Puisque ALT + F4 compte, je prendrais également ^ C, donc vous pouvez ignorer beaucoup d'octets à la fin.
o0 '.
1
Pour que ^ C fonctionne, vous devez vous concentrer sur le terminal, et dans le programme, la fenêtre pygame est toujours focalisée en raison de pygame.FULLSCREEN Edit: Une alternative serait de laisser le programme sans quitter, ce qui nécessiterait de spammer le clavier jusqu'à votre système d'exploitation remarque que quelque chose ne va pas.
Harry Beadle
Vous pouvez enregistrer quelques octets en utilisant à la from pygame import*place. De plus, je ne pense pas que ce fill((0,0,0))soit nécessaire car la couleur par défaut est le noir. Ensuite, vous pouvez supprimer scomplètement. Je ne pense pas que ce display.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 de FULLSCREENet KEYDOWN, vous pouvez utiliser leurs valeurs numériques, à savoir -1<<31(-2147483648) et 2respectivement.
user12205
4

TI-BASIC, 7 6

Shade(Ymin,Ymax

Fonctionne à la fois dans le terminal (écran d'accueil) ou en tant que programme. Appuyez sur ONou sur la plupart des autres boutons pour revenir à l'écran du terminal / d'accueil.

Timtech
la source
Peut être un octet plus petit (et fonctionner même si la fenêtre d'écran du graphique est modifiée) comme Shade(Ymin,Ymax.
lirtosiast
@ThomasKwa Vous avez raison, merci pour le conseil!
Timtech
3

Commodore 64 (16 octets)

ROL $A903
BRK
STA $D020
STA $D011
JSR $FF8A
JMP ($032C)

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 $.Resetet LOAD"PITCHDARK",8,1. Frappez le bon vieux Runstop+Restore[2] pour revenir à la normale.

Comment ça marche?

Voici la vraie source:

032C 2E 03      .BY 2E 03
032E A9 00      LDA #$00
0330 8D 20 D0   STA $D020   ; set border color  
0333 8D 11 D0   STA $D011   ; set VIC blanking mode
0336 20 15 FD   JSR $FF8A   ; reset the vectors we trampled
0339 6C 2C 03   JMP ($032C) ; call the real CLALL

$ 032C est le Kernal CLALL ou « Fermer tous les canaux et les fichiers » vecteur. Dans le cadre de son nettoyage, la LOADcommande BASIC effectue un CLRappel qui à son tour CLALL. Nous remplaçons le CLALLvecteur par un pointeur sur notre propre routine immédiatement après le vecteur. Nous définissons la bordure sur noir et RESTORcouvrons l'écran avec la bordure, puis appelons à $ FF8A. Le dernier vecteur remplacé par RESTORest SAVEà $ 0332-0333, ce qui signifie que les 8 derniers octets ne sont pas perturbés. Nous sortons ensuite via le CLALLvecteur restauré pour continuer LOADl'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.

les anguilles ont des yeux
la source
3

sh / X11 sur Arch Linux, 26

b=/b*/*ht;$b =0;read;$b =7
Ry-
la source
vous pouvez probablement raser quelques caractères avec un alias et peut-être les utiliser -setpour les deux
ardnew
1
Utilisez xbacklight = 0et xbacklight + 7.
bb010g
1
29 octets:x=xbacklight;$x +0;read;$x +7
nyuszika7h
@ nyuszika7h: Merci! (J'ai aussi 28!)
Ry-
3

Bash, 37

Permet unclutterde 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 à unclutterpour 6 caractères supplémentaires.

unclutter&xterm -fu -bg black -e yes ''

ATTENTION: cela laissera un processus d' unclutterexécution même après avoir appuyé sur Ctrl + C, utilisezkillall unclutter pour l'arrêter.

Explication

unclutter & lance unclutter . 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 XTerm yes '', imprimant ainsi la chaîne vide pour toujours. Cela sert à masquer le curseur du terminal et fournit également la fonctionnalité Ctrl + C.


la source
L'écran devient complètement blanc dans mon système.
Vi.
@Vi. cela signifie que votre couleur d'arrière-plan XTerm est blanche.
Vous pouvez abréger "-fullscreen" en "-fu" et utiliser "-bg black" pour forcer la couleur d'arrière-plan noire quelles que soient les préférences de l'utilisateur.
semi-extrinsèque
Vous pouvez supprimer les espaces autour &pour économiser 2 octets.
nyuszika7h
3

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):

setterm -foreground black
clear

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):

x='setterm -foreground'
$x black
clear
read
$x white

Et appuyez sur Enterpour terminer le script.

Un merci spécial à @ nyuszika7h.

utilisateur12205
la source
1
Pour le deuxième cas: x='setterm -foreground';$x black;clear;read;$x white(52 octets).
nyuszika7h
2

Traitement, 113

void setup(){noCursor();size(displayWidth, displayHeight);background(0);}boolean sketchFullScreen(){return true;}

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.

segfaultd
la source
2

ZX Spectrum Basic (29 octets)

1 FOR x=0 TO 255
2 FOR y=0 TO 175
3 PLOT x,y
4 NEXT y
5 NEXT x

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.

kitcar2000
la source
2

Lua + LÖVE (50)

love.mouse.setVisible()love.window.setFullscreen""

Les deux fonctions sont censées prendre un argument booléen, mais cela fonctionne.

Seeker14491
la source
2

QBasic, 9 octets

CLS:SLEEP

CLSefface l'écran, SLEEPsans aucun argument retient l'exécution jusqu'à ce qu'une touche soit enfoncée.

Steenbergh
la source
2

SmileBASIC, 15 octets

XSCREEN 4
EXEC.

Appuyez sur START ou SELECT pour mettre fin au programme.

XSCREEN 4définit le mode d'affichage pour afficher une image 320 * 480 couvrant les deux écrans. Cela devrait tout effacer, donc un ACLSn'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 faire XSCREEN 4EXEC.parce que vous ne pouvez pas avoir de numéro directement avantE

12Me21
la source
1

Sinclair BASIC - 28 caractères

BORDER 0:PAPER 0:CLS:PAUSE 0

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.

Brian
la source
Est-ce que cela ramène l'écran à la normale après avoir terminé?
kitcar2000
@ kitcar2000 - En y réfléchissant, non. J'ajouterais probablement ": NEW" à la fin comme une réinitialisation rapide et sale, en prenant jusqu'à 32 caractères / 15 octets
Brian
Je pense que ce n'est que de 10 octets (12 avec :NEW) car les commandes sont des octets simples plutôt qu'une collection de caractères.
kitcar2000
1

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.)

ACLS:XSCREEN 3@L GOTO@L
escargot_
la source
1

La plupart des shells compatibles POSIX (au moins bashetzsh ), 21

Doit être exécuté sur un terminal

tput civis;clear;read

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

therealfarfetchd
la source
0

BASH - 14 caractères

pmset sleepnow Fait le travail!

(tapé dans le terminal de mon Mac)

Max Chuquimia
la source
Vous devez spécifier le système d'exploitation et / ou d'autres conditions préalables dans votre réponse.
user12205
@ace réponse modifiée :)
Max Chuquimia
Le sommeil ne ferme-t-il pas le moniteur?
o0 '.
0

Bash: 48 caractères

eval xrandr\ --output\ DP1\ --{off,auto}\;read\;

CW car il n'est pas clair s'il est admissible en raison de la façon dont il fonctionne:

  • L'écran noir produit est une véritable économie d'énergie: il coupe l'envoi des informations à l'affichage 1.
  • De nombreux écrans d'ordinateur, lorsqu'ils détectent une perte de signal, affichent temporairement ou périodiquement leur propre avis.

(Notez que DP1 est le premier écran connecté . Si vous avez un ordinateur portable, son écran intégré est eDP1.)

homme au travail
la source
0

Application HTML (.hta), 102 octets

<HTA:APPLICATION CAPTION=no innerborder=0 border=dialog scroll=0 windowstate=maximize><body bgcolor=0>
user2428118
la source
0

TI-80 BASIC, 5 octets

ZOOM OUT
ZOOM OUT
GRIDON
12Me21
la source
0

Puce-8, 0 octet

[L] interprète Chip-8 d'origine a commencé son exécution à partir de 0x01FC. L'interprète comprend deux instructions permanentes Chip-8 à cet emplacement qui sont toujours exécutées au début de chaque programme. Le premier d'entre eux, 0x00E0, efface la RAM d'affichage en mettant tous les bits à zéro. Le second, 0x004B, appelle une routine de langage machine dans l'interpréteur qui active l'affichage du VIP.

Source: http://laurencescotford.co.uk/?p=75

12Me21
la source