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).
Jawaban:
Bash, 28 atau 12
Dengan asumsi instalasi default Ubuntu 12.04 LTS.
Secara otomatis memulai screensaver, yang merupakan layar hitam secara default.
Sunting : Seperti yang disarankan oleh @Glenn Randers-Pehrson, ini satu dengan 12 byte
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!
sumber
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:
Kode sumber:
sumber
cli
dansti
? Bergerak untukSS
menonaktifkan interupsi secara otomatis selama instruksi berikutnya, danAX
tidak akan diubah jika terjadi interupsi sebelumnyaMOV SS,AX
. Juga, mengapa tidakMOV AX, 0x13
bukannya duaMOV
?QBASIC (31)
sumber
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.
sumber
Applesoft] [BASIC (17)
sumber
Bash - 57
26Pada 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
sumber
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.find /sys/class/{backlight,leds}/*/
?Saya tahu ini golf kode tetapi saya tidak bisa menahannya.
Pastikan Anda tidak memiliki jendela browser yang terbuka (dalam hal ini, Chrome);
Jalankan PitchBlack.bat
ini (3124 byte) :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 (
494134 bytes) dalam layar penuh:Dan lagi!
Total jumlah byte:
807258Terima 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
/1
dan 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
Jadi ini harus benar-benar baik-baik saja! : P
sumber
chrome --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>'
dapat bekerja tanpa file tambahan?file:
shceme Anda tidak membuat bar URL terlihat, tetapi dengandata:
skema ada URL bar?chromium-browser --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>
memulai Chromium layar hampir penuh dengan halaman hitam tanpa bar.file:///1
jika html disimpan sebagai/1
, dan file html dapat disingkat menjadi<body bgcolor=0 style=cursor:none>
chrome
jawaban Anda daripadachromium
C # -
211202200196179 byteMenyembunyikan kursor dan menampilkan jendela hitam layar penuh. Dapat ditutup dengan Alt+F4
Hapus kode golf :
Saya tidak perlu melanjutkan
FormBorderStyle
, karena itu tidak perlu jika bilangan bulat0
.sumber
System.Drawing.Color.Black
,FormWindowState.Maximized
,FormWindowState.Maximized
danFormBorderStyle.None
dengan nilai-nilai yang sesuai mereka.Color.Black
. Itu harus segera bekerja. AtauBackColor=This.ForeColor
, yang MUNGKIN berfungsi juga.using System.Drawing;
, dan yang kedua tidak berfungsi karena saya mengatur nilai variabel di dalam tanda kurung.using System;
dulunew Windows.Forms.Form
danBackColor=Drawing.Color.Black
. Ini MUNGKIN bekerja! Dan simpan beberapa byte.C #
175171167Banyak 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
sumber
Perakitan Amiga
ASM-One -
228219 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:
... meskipun sudah diuji pada A500 dan A1200 yang ditiru, dengan atau tanpa memori cepat. Mengkompilasi ke executable standar. Keluar klik mouse.
Kurang bermain golf:
sumber
Python / Pygame
19912712592Berkat beberapa tips dari ace.
sumber
from pygame import*
gantinya. Juga, saya pikirfill((0,0,0))
itu tidak perlu karena warna default adalah hitam. Kemudian Anda bisa menghapuss
semuanya. Saya pikir juga tidakdisplay.flip()
diperlukan. Selain itu, gunakan satu ruang untuk lekukan alih-alih 4 dapat menghemat lebih banyak ruang. Akhirnya, alih-alihFULLSCREEN
danKEYDOWN
, Anda dapat menggunakan nilai numeriknya, yaitu-1<<31
(-2147483648) dan2
masing - masing.TI-BASIC,
76Bekerja baik di terminal (layar awal) atau sebagai program. Menekan
ON
atau sebagian besar tombol lainnya kembali ke layar terminal / beranda.sumber
Shade(Ymin,Ymax
.Commodore 64 (16 bytes)
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.Reset
danLOAD"PITCHDARK",8,1
. Hit good ol 'Runstop+Restore
[2] untuk kembali normal.Bagaimana cara kerjanya?
Inilah sumber yang sebenarnya:
$ 032C adalah vektor kernal
CLALL
atau "Tutup Semua Saluran Dan File". Sebagai bagian dari pembersihannya,LOAD
perintah BASIC melakukanCLR
yang pada gilirannya memanggilCLALL
. Kami menggantiCLALL
vektor dengan pointer ke rutin kami sendiri segera setelah vektor. Kami mengatur perbatasan menjadi hitam dan menutupi layar dengan perbatasan, dan kemudian memanggilRESTOR
$ FF8A. Vektor terakhir yang digantikan olehRESTOR
adalahSAVE
pada $ 0332-0333 yang berarti 8 byte terakhir tidak terganggu. Kami kemudian keluar melaluiCLALL
vektor yang dipulihkan untuk melanjutkanLOAD
eksekusi.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.
sumber
sh / X11 di Arch Linux, 26
sumber
-set
keduanyaxbacklight = 0
danxbacklight + 7
.x=xbacklight;$x +0;read;$x +7
Bash, 37
Penggunaan
unclutter
untuk menyembunyikan pointer mouse dan sesi layar penuhxterm
untuk 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
-grab
opsi keunclutter
untuk 6 karakter tambahan.PERINGATAN: ini akan meninggalkan proses
unclutter
berjalan bahkan setelah Anda menekan Ctrl + C, gunakankillall unclutter
untuk menghentikannya.Penjelasan
unclutter &
meluncurkanunclutter
. 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 menjalankanyes ''
, sehingga mencetak string kosong selamanya. Ini berfungsi untuk menyembunyikan kursor terminal, dan juga menyediakan fungsionalitas Ctrl + C.sumber
&
untuk menghemat 2 byte.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):
TTY Anda akan tetap berfungsi penuh bahkan setelah menggunakan skrip ini :)
Jika ini tidak diizinkan, gunakan yang berikut (52 byte):
Dan tekan Enteruntuk mengakhiri skrip.
Terima kasih khusus kepada @ nyuszika7h.
sumber
x='setterm -foreground';$x black;clear;read;$x white
(52 byte).Memproses, 113
Saya mencoba meletakkan kode di atas ke draw () untuk menghemat beberapa byte, tetapi tidak berhasil. Tekan Alt-F4 untuk keluar.
sumber
ZX Spectrum Basic (29 byte)
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.
sumber
Lua + LÖVE (50)
Kedua fungsi seharusnya mengambil argumen boolean, namun ini berhasil.
sumber
QBasic, 9 byte
CLS
membersihkan layar,SLEEP
tanpa ada argumen yang menahan eksekusi hingga tombol ditekan.sumber
SmileBASIC, 15 byte
Menekan START atau SELECT akan mengakhiri program.
XSCREEN 4
mengatur mode tampilan untuk menampilkan gambar 320 * 480 yang membentang di kedua layar. Ini harus menghapus semuanya, jadiACLS
tidak diperlukan.EXEC.
membuat kode berulang dengan terus menjalankan program di slot 0. Saya tidak dapat melakukannyaXSCREEN 4EXEC.
karena Anda tidak dapat memiliki nomor secara langsung sebelumnyaE
sumber
Sinclair BASIC - 28 karakter
Hal tentang Sinclair BASIC adalah setiap kata kunci memiliki kode karakter sendiri (mengambil satu byte), jadi ini sebenarnya akan mengambil 13 byte termasuk spasi.
sumber
:NEW
) karena perintahnya adalah byte tunggal daripada kumpulan karakter.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.)
sumber
Sebagian besar kerang yang kompatibel dengan POSIX (setidaknya
bash
danzsh
), 21Perlu dijalankan pada tty
Perintah pertama menyembunyikan kursor, perintah kedua membersihkan layar (duh) dan perintah ketiga membaca satu baris teks
sumber
BASH - 14 karakter
pmset sleepnow
melakukan pekerjaan!(diketik di Terminal Mac saya)
sumber
Bash: 48 karakter
CW karena tidak jelas apakah memenuhi syarat karena cara kerjanya:
(Perhatikan bahwa DP1 adalah tampilan yang terhubung pertama . Jika Anda memiliki laptop, tampilan yang disematkan adalah eDP1.)
sumber
Aplikasi HTML (.hta), 102 byte
sumber
TI-80 BASIC, 5 byte
sumber
Chip-8, 0 byte
Sumber: http://laurencescotford.co.uk/?p=75
sumber