Tugas Anda adalah menulis program yang membuat layar Anda tampak memiliki piksel buruk.
Anda harus memilih tepat satu piksel pada layar, dan tepat satu saluran antara merah, hijau dan biru, dan menjadikan nilainya selalu 0 atau selalu maksimum (biasanya 255). Nilai saluran lain harus sama seperti jika program Anda tidak berjalan.
Anda dapat memilih piksel dan saluran dengan cara apa pun, seperti hardcoding atau menghasilkannya secara acak di setiap proses. Tetapi harus selalu terlihat pada perangkat yang cukup modern.
Jika warna yang semula ditampilkan pada piksel itu telah berubah, program Anda harus memperbarui dalam waktu kurang dari 0,5 detik ketika sistem cukup cepat.
Anda tidak dapat membuat asumsi tentang apa yang sedang ditampilkan di layar (seperti taskbar menggunakan tema default).
Program Anda tidak perlu bekerja ketika screensaver, layar masuk, efek dari manajer jendela, dll, aktif.
Kode terpendek menang.
sumber
Jawaban:
Bash di Linux - 25 byte Latin-1
+3 dari @wyldstallyns / -2 dari menghapus tanda kutip / -1 karena saya lupa bagaimana ini bekerja / -9 dari @Dennis
Asumsikan / dev / fb0 ada (ada di sistem Linux Arch saya, dan saya pikir seharusnya ada di sistem Linux lainnya). Membutuhkan akses root juga. Ini tidak berfungsi untuk saya ketika X sedang berjalan. Di sistem saya, ini hanya secara konstan mengatur saluran biru dari piksel kiri atas menjadi penuh (
ÿ
adalah 255).sumber
printf ÿ>/dev/fb0;exec $0
menghemat beberapa byte.yes
Pendekatannya tidak berhasil./dev/fb0
harus dibuka kembali setelah menulis satu saluran piksel.Visual C ++,
1021009998 byteBerjalan di Windows, langsung menggunakan Win32 API dengan kompiler Visual C ++ yang menargetkan subsistem konsol. Gunakan konteks perangkat "layar" untuk mengatur saluran merah piksel pada (9,9) menjadi
0xFF
.Tidur diperlukan untuk memungkinkan program lain menarik di antara get / set - dan 9ms terlalu pendek, yang menyebabkan piksel macet 1 pada warna awalnya.
1 Sayangnya, tidak cukup jenis pixel yang macet, pertanyaan ini mencari ...
sumber
HolyC, 13 byte
Letakkan titik hitam pada lapisan persisten secara langsung.
Seperti apa rupanya.
sumber
C #,
247244371366354352 byteBerjalan di Windows. Mendapat konteks perangkat untuk seluruh layar, dan berulang kali memaksimalkan saluran merah di (9,9).
Saya awalnya tidak ingin mengimpor
GetPixel
/SetPixel
, tetapi tidak ada cara yang sangat mudah untuk membaca satu piksel dariGraphic
. Jadi sekarang ini secara efektif sama dengan upaya VC ++ saya . Mungkin menyimpan ke bitmap akan lebih pendek ...-5 byte berkat @TuukkaX
sumber
SetPixel
.9ms
daripada99ms
0x1FFFFFFF
iterasi dalam loop sibuk alih-alih tidur, tetapi ini harus disetel agar setiap mesin tetap dalam batas 0,5s.SmileBASIC, 20 byte
Pembaruan terus-menerus.
Atur sprite
0
ke area1
x1
pada299
,99
pada sprite sheet (yang merupakan piksel merah).33
adalah atribut tampilan, yaitu1
(tampilan aktif) +32
(campuran aditif).sumber
Java 7, 266 byte
Saya menjalankan ini pada windows 7. Membuka Java Applet yang memiliki latar belakang putih secara default. Menambahkan label dengan tanda titik dan kemudian mengubah warna label ad nauseum.
sumber
Tcl / Tk, 61
Pada gambar ada piksel hitam di dekat sudut kiri atas ikon Vivaldi:
Jika pada shell interaktif, ada singkatan dari perintah yang tersedia:
Tcl / Tk, 57
Ada piksel hitam di atas area V putih ikon Vivaldi:
sumber