Pitch dark (peringatan Earth Hour)

31

Tujuan Anda sederhana: program harus mengubah layar komputer Anda benar-benar hitam .

Setelah program dimulai, layar harus dengan cepat berubah menjadi hitam, dan tetap demikian sampai program keluar (tombol apa saja, atau alt + F4, gerakan mouse, dll.), Setelah itu semuanya akan kembali normal. Jadi mematikan komputer atau mematikan daya monitor TIDAK diperbolehkan . Tidak ada satu piksel pun yang bukan hitam yang akan terlihat selama waktu ini, bahkan bukan kursor yang berkedip.

Pengguna tidak boleh melakukan persiapan apa pun (menggerakkan mouse di luar layar, melepaskan kabel, dll. Atau input pengguna setelah program dimulai), cukup jalankan program.

Anda dapat dengan aman menganggap komputer hanya memiliki satu monitor yang terpasang. Kami juga menganggap komputer desktop atau notebook standar, karena melakukannya pada perangkat tertentu tanpa monitor normal akan terlalu sederhana.

Jika Anda menggunakan sumber daya eksternal (gambar hitam, file GUI, dll.) Ukurannya dalam byte ditambahkan ke ukuran kode Anda.

Tidak apa-apa jika itu hanya bekerja pada satu keluarga OS, atau jika itu memerlukan operasi dll, tetapi membutuhkan konfigurasi perangkat keras yang sangat spesifik disukai.

Kode sumber Anda harus ditulis dalam bahasa pemrograman, bukan hanya file konfigurasi yang akan digunakan oleh program lain (seperti screen saver).

vsz
sumber
9
Itu tidak akan berfungsi pada layar dengan piksel macet ...
Ismael Miguel
21
@IsmaelMiguel: Anda dapat dengan aman menerima layar dalam kondisi kerja yang sempurna. Kalau tidak, kita bisa mengajukan pertanyaan lain dengan gaya "bagaimana jika transistor di ALU saya terbakar dan komputer saya tidak dapat melakukan matematika floating point?" :)
vsz
5
Fakta menyenangkan: pada layar yang tidak menggunakan CRT atau kontras dinamis, ini akan menggunakan lebih banyak listrik!
Ry-
2
aplikasi dunia nyata: Astronomi! lists.apple.com/archives/Carbon-dev/2008/May/msg00005.html
Bukan berarti Charles
2
Semua jawaban didiskualifikasi secara otomatis — salah satu monitor saya memiliki piksel yang nilainya merah selalu 255!
The Guy with The Hat

Jawaban:

22

Bash, 28 atau 12

Dengan asumsi instalasi default Ubuntu 12.04 LTS.

gnome-screensaver-command -a

Secara otomatis memulai screensaver, yang merupakan layar hitam secara default.

Sunting : Seperti yang disarankan oleh @Glenn Randers-Pehrson, ini satu dengan 12 byte

/*/*/gn*d -a

Perhatikan bahwa ini mungkin tidak berfungsi jika Anda memiliki file lain di sistem Anda yang memenuhi nama ini, katakanlah /tmp/1/gnd. Tapi ini kode-golf, siapa yang peduli?


Lihat jawaban bash saya yang lain jika Anda tidak menggunakan screensaver Gnome!

pengguna12205
sumber
1
Jenis jawaban yang membuat Anda berpikir: 'Kenapa aku tidak memikirkan itu?'. :)
Alex Thornton
1
Itu tidak benar-benar membersihkan layar menggunakan bash.
Darth Egregious
3
"Kode sumber Anda harus ditulis dalam bahasa pemrograman, bukan hanya file konfigurasi yang akan digunakan oleh program lain (seperti screen saver)."
Hannes Karppila
2
@hannes karppila Saya tidak mengubah file konfigurasi apa pun yang akan digunakan oleh program lain. Saya hanya memulai program lain, yang dilakukan sebagian besar skrip bash (kecuali ditulis dalam bash murni)
user12205
5
@ace, Golf: / * / * / gn * d bukannya gnome-screensaver-command akan menghemat sekitar 16 byte (ide oleh mniip)
Glenn Randers-Pehrson
31

Assembly (bootloader) dikompilasi 131 chars / 512 byte (sebenarnya lebih kecil, tetapi bootsector harus sepanjang 512 byte.)

Ini adalah boot loader sederhana. Ketika komputer mulai, BIOS akan memuatnya dari disk (floppy). Kemudian masuk ke mode grafis dan hanya hang. Ketika pengguna menekan tombol daya, program akan berakhir dan komputer akan masuk ke mode di mana sebelum menjalankan program.

Diuji dengan VirtualBox.

Ini akan dikompilasi dengan nasm:

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

Kode sumber:

[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
sumber
1
Cara menjalankan di VirtualBox: (kompilasi menggunakan nasm), VM baru, Tipe: Lainnya, versi: Lainnya / Tidak dikenal, tidak ada hard drive. Selanjutnya pergi ke pengaturan VM, pilih Storage, klik kanan dalam daftar, dan pilih "Add Floppy Controller". Pasang file img yang sudah dikompilasi ke floppy drive. Simpan, lalu Anda bisa menjalankannya. Nikmati!
Zach Mertes
Saya ingin melakukan hal yang sama dengan program dos, tetapi Anda lebih cepat. Pada dasarnya satu-satunya hal yang saya ingat dari assembler dari waaay kembali :)
Fels
Bisakah Anda jelaskan cara kerjanya?
Mega Man
Kenapa clidan sti? Bergerak untuk SSmenonaktifkan interupsi secara otomatis selama instruksi berikutnya, dan AXtidak akan diubah jika terjadi interupsi sebelumnya MOV SS,AX. Juga, mengapa tidak MOV AX, 0x13bukannya dua MOV?
Ruslan
Lebih muda saya tidak tahu bagaimana menulis kode dengan benar. Saat ini saya mungkin juga tidak tahu.
Hannes Karppila
15

QBASIC (31)

SCREEN 7
WHILE INKEY$=""
WEND
Darth Egregious
sumber
14
@TheGuywithTheHat Saya akhirnya menemukan kegunaan untuk windows 3.1 vm saya.
Darth Egregious
3
Wow melihat bahwa WEND membawa kembali kenangan
Claudiu
@ user973810 Maksud Anda QB64 .
nyuszika7h
14

Jawa: 165

Java sederhana, hanya menciptakan bingkai hitam layar penuh. Untuk keluar Anda harus Alt + Tab kembali ke konsol dan Ctrl-C, tetapi itu tampaknya cukup sederhana.

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();
    }
}
Geobit
sumber
11

Applesoft] [BASIC (17)

1 HGR2:GET X:TEXT
Geoff Reedy
sumber
Saya tidak berpikir ini sebenarnya 17 byte ... Saya pikir mungkin kurang. Jika saya ingat dengan benar, Applesoft tokenized kata kunci, sehingga setiap kata kunci sebenarnya satu byte ... jadi yang satu ini mungkin jauh lebih pendek. Ini +1 bagaimanapun.
Beska
11

Bash - 57 26

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

Pada laptop ini akan mengatur kecerahan lampu latar layar menjadi 0 via /sys/class/backlight, pada tablet atau ponsel ini akan mengatur kecerahan layar ke 0 melalui/sys/class/leds

mniip
sumber
2
“Dan tetap demikian sampai program keluar (tombol apa saja, atau alt + F4, gerakan mouse, dll.), Setelah itu semuanya akan kembali normal”
Ry-
1
Fn+F6, Fn+<up arrow>dan banyak kombinasi tombol lainnya jatuh ke "kunci apa saja" dan "dll.", dan itu adalah salah satu dari banyak untuk mengembalikan cahaya seperti sebelumnya.
Ismael Miguel
1
@minitech Oh. Ya sudah diperbaiki ...
mniip
Ini tidak bekerja sama sekali untuk saya. Jika saya melakukan "C = / s * / * / * / * / b ess; (A = $ (cat $ C); echo 0; cat; echo $ A) | tee $ C" dari bash prompt saya mendapatkan cat : / s * / * / * / * / b ess: Tidak ada file atau direktori tersebut tee: / s * / * / * / * / b * ess: Tidak ada file atau direktori seperti itu
@ Lembik Saya akan berasumsi bahwa Anda tidak memiliki pengontrol kecerahan atau yang ada kekurangan driver. Pikiran melewati batas find /sys/class/{backlight,leds}/*/?
mniip
8

Saya tahu ini tetapi saya tidak bisa menahannya.

Pastikan Anda tidak memiliki jendela browser yang terbuka (dalam hal ini, Chrome);

Jalankan PitchBlack.bat ini ( 31 24 byte) :

chrome --kiosk file:///1

Jika ditempatkan di direktori yang sama dengan file Chrome.exe Anda , kumpulan ini akan menjalankan Chrome dalam mode kios dan akan membuka file bernama / 1 ( 49 41 34 bytes) dalam layar penuh:

<body bgcolor=0 style=cursor:none>

Dan lagi!

Total jumlah byte: 80 72 58
Terima kasih kepada @ace :)

Untuk keluar dari program, Anda harus menggunakan ALT + F4 klasik ; Anda sebenarnya tidak perlu melakukan persiapan apa pun setelah program dimulai (tidak sebelumnya, Anda hanya perlu menempatkan /1dan file batch), jadi tidak apa-apa dengan aturan.

Harap perhatikan bahwa jika Anda mengarahkan kursor ke batas layar, kursor itu mungkin terlihat. OP tidak mengatakan ini tidak diizinkan, karena

Setelah program dimulai, layar harus dengan cepat berubah menjadi hitam sepenuhnya, dan tetap demikian sampai program keluar (tombol apa saja, atau alt + F4, gerakan mouse , dll.), Setelah itu semuanya akan kembali normal.

Jadi ini harus benar-benar baik-baik saja! : P

Vereos
sumber
1
Mungkin sesuatu seperti chrome --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>'dapat bekerja tanpa file tambahan?
Vi.
Berarti saat menggunakan file:shceme Anda tidak membuat bar URL terlihat, tetapi dengan data:skema ada URL bar?
Vi.
Pada sistem saya chromium-browser --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>memulai Chromium layar hampir penuh dengan halaman hitam tanpa bar.
Vi.
Diuji pada Ubuntu dan Chromium 34.0, berfungsi dengan baik file:///1jika html disimpan sebagai /1, dan file html dapat disingkat menjadi<body bgcolor=0 style=cursor:none>
user12205
1
Saya pikir Anda harus menggunakan chromejawaban Anda daripadachromium
user12205
7

C # - 211 202 200 196 179 byte

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

Menyembunyikan kursor dan menampilkan jendela hitam layar penuh. Dapat ditutup dengan Alt+F4

Hapus kode 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();
    }
}

Saya tidak perlu melanjutkan FormBorderStyle, karena itu tidak perlu jika bilangan bulat 0.

ProgramFOX
sumber
2
Anda dapat mengganti System.Drawing.Color.Black, FormWindowState.Maximized, FormWindowState.Maximizeddan FormBorderStyle.Nonedengan nilai-nilai yang sesuai mereka.
Ismael Miguel
@IsmaelMiguel: Terima kasih, saya memperbarui FormWindowState dan FormBorderStyle! Saya tidak dapat memperbarui Warna, karena itu bukan enum.
ProgramFOX
Coba Color.Black. Itu harus segera bekerja. Atau BackColor=This.ForeColor, yang MUNGKIN berfungsi juga.
Ismael Miguel
@ IsmaelMiguel: Yang pertama tidak berfungsi karena saya tidak menambahkan using System.Drawing;, dan yang kedua tidak berfungsi karena saya mengatur nilai variabel di dalam tanda kurung.
ProgramFOX
Coba using System;dulu new Windows.Forms.Formdan BackColor=Drawing.Color.Black. Ini MUNGKIN bekerja! Dan simpan beberapa byte.
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);}

Banyak jawaban di sini tidak benar-benar membuat layar menjadi hitam : pada layar LCD, lampu latar tetap menyala dan merembes, meninggalkan Anda dengan abu-abu gelap.

Cuplikan kecil ini sebenarnya memberitahu Windows untuk mematikan layar, sama seperti apa yang dilakukan timer tidak aktif (Catatan: ini tidak melanggar aturan "tidak mematikan" karena itu benar-benar hanya menyebabkan monitor masuk ke standby. Kebanyakan monitor akan hidupkan kembali ketika input dilanjutkan. Juga, niat aturan itu tampaknya untuk memastikan program dapat menyalakannya kembali - lihat di bawah.)

Gerakkan mouse atau tekan tombol untuk menghidupkan kembali layar.

Monitor matikan diadaptasi dari https://stackoverflow.com/a/713519/1030702

Bob
sumber
"Jadi mematikan komputer atau mematikan daya monitor TIDAK diperbolehkan ."
Ismael Miguel
1
@ IsmaelMiguel saya telah memberikan justifikasi saya. "sampai program keluar (tombol apa saja, atau alt + F4, gerakan mouse, dll.), setelah itu semuanya akan kembali normal. Jadi, menutup ..." - niat aturan telah terpenuhi. Ini akan "menyalakannya kembali". Mengesampingkan niat, itu juga memuaskan makna literal , karena, terlepas dari terminologi Microsoft, ini tidak benar-benar mematikannya (timeout pada proyektor, dll., Di samping), itu menempatkannya dalam keadaan siaga .
Bob
4

Perakitan Amiga

ASM-One - 228 219 karakter, 172 byte dikompilasi (dioptimalkan 168 byte)

Sudah 20 tahun sejak saya terakhir kali berkode satu baris dalam perakitan Amiga, jadi bersabarlah dengan saya. :-)

Amiga sedikit lebih terlibat daripada PC dalam hal pengaturan layar kosong, jadi cobalah untuk menyingkirkan sebanyak mungkin pengaturan dan teardown. Tidak ada penonaktifan interupsi atau multitasking; tidak ada WaitTOF ganda; tidak ada penggantian tampilan; dll. Saya bahkan tidak akan menulis ini untuk demo tercepat dan paling kotor. Yang artinya ini:

  • adalah praktik yang buruk
  • mungkin tidak sepenuhnya aman
  • mungkin tidak selalu berhasil
  • bahkan dengan penolakan itu, mungkin memiliki kesalahan bodoh karena 20 tahun perakitan yang diabaikan.

... meskipun sudah diuji pada A500 dan A1200 yang ditiru, dengan atau tanpa memori cepat. Mengkompilasi ke executable standar. Keluar klik mouse.

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

Kurang bermain 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
sumber
1
Aaaah, kenangan! Suka!
RobIII
Ya, ini lebih merupakan alasan untuk perjalanan nostalgia daripada upaya nyata di golf kode - Amiga jarang akan bersaing dengan Perl atau Python dalam hal jumlah karakter. Meskipun saya sedikit terkejut itu tidak bisa mengalahkan C # atau Java. :)
Jimmi
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()

Berkat beberapa tips dari ace.

Harry Beadle
sumber
Karena ALT + F4 menghitung, saya juga akan menghitung ^ C, jadi Anda bisa melewati banyak byte pada akhirnya.
o0 '.
1
Agar ^ C berfungsi, Anda harus fokus pada terminal, dan dalam program, jendela pygame selalu terfokus karena pygame.FULLSCREEN Edit: Salah satu alternatifnya adalah meninggalkan program tanpa keluar, yang akan membutuhkan pengeditan keyboard hingga OS Anda melihat ada sesuatu yang salah.
Harry Beadle
Anda dapat menyimpan beberapa byte dengan menggunakan from pygame import*gantinya. Juga, saya pikir fill((0,0,0))itu tidak perlu karena warna default adalah hitam. Kemudian Anda bisa menghapus ssemuanya. Saya pikir juga tidak display.flip()diperlukan. Selain itu, gunakan satu ruang untuk lekukan alih-alih 4 dapat menghemat lebih banyak ruang. Akhirnya, alih-alih FULLSCREENdan KEYDOWN, Anda dapat menggunakan nilai numeriknya, yaitu -1<<31(-2147483648) dan 2masing - masing.
user12205
4

TI-BASIC, 7 6

Shade(Ymin,Ymax

Bekerja baik di terminal (layar awal) atau sebagai program. Menekan ONatau sebagian besar tombol lainnya kembali ke layar terminal / beranda.

Timtech
sumber
Bisa satu byte lebih kecil (dan berfungsi bahkan jika jendela layar grafik diubah) sebagai Shade(Ymin,Ymax.
lirtosiast
@ ThomasKwa Anda benar, terima kasih atas tipnya!
Timtech
3

Commodore 64 (16 bytes)

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

Sudah lebih dari 20 tahun sejak saya menggunakan Turbo Assembler, jadi saya hanya bisa menyediakan sumber untuk digunakan di monitor VICE. Kumpulkan ini di $ 032C dan save[1] hingga $ 033B. Resetdan LOAD"PITCHDARK",8,1. Hit good ol ' Runstop+Restore[2] untuk kembali normal.

Bagaimana cara kerjanya?

Inilah sumber yang sebenarnya:

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 adalah vektor kernal CLALL atau "Tutup Semua Saluran Dan File". Sebagai bagian dari pembersihannya, LOADperintah BASIC melakukan CLRyang pada gilirannya memanggil CLALL. Kami mengganti CLALLvektor dengan pointer ke rutin kami sendiri segera setelah vektor. Kami mengatur perbatasan menjadi hitam dan menutupi layar dengan perbatasan, dan kemudian memanggil RESTOR$ FF8A. Vektor terakhir yang digantikan oleh RESTORadalah SAVEpada $ 0332-0333 yang berarti 8 byte terakhir tidak terganggu. Kami kemudian keluar melalui CLALLvektor yang dipulihkan untuk melanjutkan LOADeksekusi.

Terima kasih untuk ini, itu menyenangkan perjalanan menyusuri jalur memori, belajar kembali bagaimana melakukan program autorun :)

[1] gunakan save dan bukan bsave agar memuat, 1 bekerja dengan benar
[2] Escape + PageUp di x64, mungkin.

belut memiliki mata
sumber
3

sh / X11 di Arch Linux, 26

b=/b*/*ht;$b =0;read;$b =7
Ry-
sumber
Anda mungkin dapat mencukur beberapa karakter dengan alias dan mungkin menggunakan -setkeduanya
ardnew
1
Gunakan xbacklight = 0dan xbacklight + 7.
bb010g
1
29 byte:x=xbacklight;$x +0;read;$x +7
nyuszika7h
@ nyuszika7h: Terima kasih! (Sudah sampai 28, juga!)
Ry-
3

Bash, 37

Penggunaan unclutteruntuk menyembunyikan pointer mouse dan sesi layar penuh xtermuntuk menghitamkan layar. Kursor akan muncul kembali sejenak jika Anda memindahkannya, tetapi jika Anda membiarkannya saja layar akan menjadi hitam sampai Anda menekan Ctrl + C.

Butuh beberapa detik untuk kursor mouse menghilang (selama Anda tidak memindahkannya). Jika ini tidak cukup cepat, tambahkan -grabopsi ke unclutteruntuk 6 karakter tambahan.

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

PERINGATAN: ini akan meninggalkan proses unclutterberjalan bahkan setelah Anda menekan Ctrl + C, gunakan killall unclutteruntuk menghentikannya.

Penjelasan

unclutter &meluncurkan unclutter. Ada di &sana sehingga kita bisa melanjutkan dengan perintah berikutnya alih-alih menunggu yang satu ini berakhir.

xterm -fullscreen meluncurkan XTerm, yang latar belakangnya hitam secara default.

The -e yes ''pilihan menyebabkan xterm untuk menjalankan yes '', sehingga mencetak string kosong selamanya. Ini berfungsi untuk menyembunyikan kursor terminal, dan juga menyediakan fungsionalitas Ctrl + C.


sumber
Layar menjadi sangat putih di sistem saya.
Vi.
@ Vi. itu berarti warna latar belakang XTerm Anda putih.
Anda dapat menyingkat "-layar penuh" menjadi "-fu", dan menggunakan "-bg hitam" untuk memaksa warna latar belakang hitam terlepas dari preferensi pengguna.
semi-ekstrinsik
Anda dapat menghapus spasi di sekitar &untuk menghemat 2 byte.
nyuszika7h
3

Bash, 31 (atau 52)

Pada TTY, gunakan skrip berikut (dengan asumsi latar belakang TTY default Anda adalah hitam, yang benar setidaknya untuk Ubuntu 12.04 LTS):

setterm -foreground black
clear

TTY Anda akan tetap berfungsi penuh bahkan setelah menggunakan skrip ini :)

Jika ini tidak diizinkan, gunakan yang berikut (52 byte):

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

Dan tekan Enteruntuk mengakhiri skrip.

Terima kasih khusus kepada @ nyuszika7h.

pengguna12205
sumber
1
Untuk kasus kedua: x='setterm -foreground';$x black;clear;read;$x white(52 byte).
nyuszika7h
2

Memproses, 113

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

Saya mencoba meletakkan kode di atas ke draw () untuk menghemat beberapa byte, tetapi tidak berhasil. Tekan Alt-F4 untuk keluar.

segfaultd
sumber
2

ZX Spectrum Basic (29 byte)

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

Iterasi di atas layar, rencanakan piksel hitam yang secara otomatis dihapus saat program selesai.

Edisi dasar ZX Spectrum menggunakan byte tunggal sebagai perintah dan tanpa baris baru, jika menghitung karakter yang ditampilkan, Anda mendapatkan 61 karakter.

kitcar2000
sumber
2

Lua + LÖVE (50)

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

Kedua fungsi seharusnya mengambil argumen boolean, namun ini berhasil.

Seeker14491
sumber
2

QBasic, 9 byte

CLS:SLEEP

CLSmembersihkan layar, SLEEPtanpa ada argumen yang menahan eksekusi hingga tombol ditekan.

steenbergh
sumber
2

SmileBASIC, 15 byte

XSCREEN 4
EXEC.

Menekan START atau SELECT akan mengakhiri program.

XSCREEN 4mengatur mode tampilan untuk menampilkan gambar 320 * 480 yang membentang di kedua layar. Ini harus menghapus semuanya, jadi ACLStidak diperlukan. EXEC.membuat kode berulang dengan terus menjalankan program di slot 0. Saya tidak dapat melakukannya XSCREEN 4EXEC.karena Anda tidak dapat memiliki nomor secara langsung sebelumnyaE

12Me21
sumber
1

Sinclair BASIC - 28 karakter

BORDER 0:PAPER 0:CLS:PAUSE 0

Hal tentang Sinclair BASIC adalah setiap kata kunci memiliki kode karakter sendiri (mengambil satu byte), jadi ini sebenarnya akan mengambil 13 byte termasuk spasi.

Brian
sumber
Apakah ini mengembalikan layar ke normal setelah selesai?
kitcar2000
@ kitcar2000 - Berpikir tentang itu, tidak. Saya mungkin akan menambahkan ": BARU" pada akhirnya sebagai pengaturan ulang yang cepat dan kotor, membawanya hingga 32 karakter / 15 byte
Brian
Saya pikir itu hanya 10 byte (12 dengan :NEW) karena perintahnya adalah byte tunggal daripada kumpulan karakter.
kitcar2000
1

SmileBASIC, 23 byte

Berjalan selamanya sampai program ini dibunuh secara paksa dengan MULAI atau PILIH. Ini membuat kedua layar benar-benar hitam , sejauh ini menonaktifkan 3D (sehingga mematikan LED 3D pada o3DS.)

ACLS:XSCREEN 3@L GOTO@L
siput_
sumber
1

Sebagian besar kerang yang kompatibel dengan POSIX (setidaknya bashdan zsh), 21

Perlu dijalankan pada tty

tput civis;clear;read

Perintah pertama menyembunyikan kursor, perintah kedua membersihkan layar (duh) dan perintah ketiga membaca satu baris teks

di sanaarfarfd
sumber
0

BASH - 14 karakter

pmset sleepnow melakukan pekerjaan!

(diketik di Terminal Mac saya)

Max Chuquimia
sumber
Anda harus menentukan OS dan / atau prasyarat lain dalam jawaban Anda.
user12205
@ace jawaban diedit :)
Max Chuquimia
Tidak tidur mematikan monitor?
o0 '.
0

Bash: 48 karakter

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

CW karena tidak jelas apakah memenuhi syarat karena cara kerjanya:

  • Layar hitam yang dihasilkan adalah penghematan daya nyata: memotong pengiriman informasi ke tampilan 1.
  • Banyak komputer menampilkan ketika mendeteksi kehilangan sinyal, untuk sementara atau berkala akan menampilkan pemberitahuan mereka sendiri.

(Perhatikan bahwa DP1 adalah tampilan yang terhubung pertama . Jika Anda memiliki laptop, tampilan yang disematkan adalah eDP1.)

manatwork
sumber
0

Aplikasi HTML (.hta), 102 byte

<HTA:APPLICATION CAPTION=no innerborder=0 border=dialog scroll=0 windowstate=maximize><body bgcolor=0>
pengguna2428118
sumber
0

TI-80 BASIC, 5 byte

ZOOM OUT
ZOOM OUT
GRIDON
12Me21
sumber
0

Chip-8, 0 byte

[T] ia juru bahasa Chip-8 asli mulai eksekusi dari 0x01FC. Juru bahasa mencakup dua instruksi Chip-8 permanen di lokasi ini yang selalu dijalankan pada awal setiap program. Yang pertama, 0x00E0, menghapus RAM tampilan dengan mengatur semua bit ke nol. Yang kedua, 0x004B, memanggil rutin bahasa mesin dalam juru bahasa yang mengaktifkan tampilan VIP.

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

12Me21
sumber