गहरा अंधेरा (पृथ्वी घंटे स्मरण)


31

आपका लक्ष्य सरल है: कार्यक्रम को आपके कंप्यूटर की स्क्रीन को पूरी तरह से काला करना चाहिए ।

कार्यक्रम शुरू होने के बाद, स्क्रीन को जल्दी से पूरी तरह से काला होना चाहिए, और तब तक रहें जब तक कि कार्यक्रम बाहर न हो जाए (कोई भी कुंजी, या alt + F4, माउस आंदोलन, आदि), जिसके बाद चीजें सामान्य हो जाएं। इसलिए कंप्यूटर को बंद करने या मॉनिटर की शक्ति को बंद करने की अनुमति नहीं है । इस दौरान एक भी गैर-काला पिक्सेल दिखाई नहीं देना चाहिए, ब्लिंकिंग कर्सर भी नहीं।

उपयोगकर्ता को कोई तैयारी नहीं करनी चाहिए (स्क्रीन के बाहर माउस को ले जाना, केबल को डिस्कनेक्ट करना, आदि या प्रोग्राम शुरू होने के बाद उपयोगकर्ता इनपुट), बस कार्यक्रम शुरू करें।

आप सुरक्षित रूप से मान सकते हैं कि कंप्यूटर में केवल एक मॉनिटर जुड़ा हुआ है। हम एक मानक डेस्कटॉप या नोटबुक कंप्यूटर भी मानते हैं, क्योंकि एक सामान्य मॉनिटर के बिना एक विशिष्ट डिवाइस पर ऐसा करना बहुत सरल होगा।

यदि आप किसी बाहरी संसाधन (एक काली छवि, एक GUI फ़ाइल, आदि) का उपयोग करते हैं, तो बाइट्स में उनका आकार आपके कोड आकार में जोड़ा जाता है।

यह ठीक है अगर यह केवल एक ओएस परिवार पर काम करता है, या यदि इसे opengl आदि की आवश्यकता होती है, लेकिन एक बहुत ही विशिष्ट हार्डवेयर कॉन्फ़िगरेशन की आवश्यकता होती है।

आपके स्रोत कोड को एक प्रोग्रामिंग भाषा में लिखा जाना चाहिए, न कि केवल एक कॉन्फ़िगरेशन फ़ाइल कुछ अन्य प्रोग्राम (जैसे स्क्रीन सेवर) का उपयोग करेगी।


9
अटक स्क्रीन के साथ स्क्रीन पर काम नहीं करेगा ...
इस्माईल मिगुएल

21
@IsmaelMiguel: आप सही कार्य स्थिति में स्क्रीन को सुरक्षित रूप से मान सकते हैं। अन्यथा हम "एएलयू में एक ट्रांजिस्टर बाहर जला दिया जाता है और मेरा कंप्यूटर एक तैरता गणित नहीं कर सकता है तो क्या होगा?" :)
vsz

5
मजेदार तथ्य: स्क्रीन पर जो न तो CRT और न ही डायनेमिक कॉन्ट्रास्ट का उपयोग करते हैं, इससे थोड़ी अधिक बिजली का उपयोग होगा!
Ry-

2
असली दुनिया आवेदन: खगोल विज्ञान! lists.apple.com/archives/Carbon-dev/2008/May/msg00005.html
नहीं कि चार्ल्स

2
सभी उत्तरों को स्वचालित रूप से अयोग्य घोषित कर दिया गया है - मेरे एक मॉनिटर में एक पिक्सेल है जिसका लाल मूल्य हमेशा 255 है!
द गाईड विथ द हेट

जवाबों:


22

28 या 12 को बैश करें

उबंटू की डिफ़ॉल्ट स्थापना मानकर 12.04 LTS।

gnome-screensaver-command -a

स्क्रीनसेवर को स्वचालित रूप से शुरू करता है, जो डिफ़ॉल्ट रूप से एक काली स्क्रीन है।

संपादित करें : जैसा कि @Glenn Randers-Pehrson द्वारा सुझाया गया है, यहाँ 12 बाइट्स के साथ एक है

/*/*/gn*d -a

ध्यान दें कि यह काम नहीं कर सकता है यदि आपके पास आपके सिस्टम पर एक और फ़ाइल है जो इस नाम को संतुष्ट करती है, कहो /tmp/1/gndलेकिन यह कोड-गोल्फ है, कौन परवाह करता है?


की जाँच करें मेरे दूसरे बैश जवाब अगर आप ग्नोम स्क्रीनसेवर का उपयोग नहीं करते!


1
इस तरह का जवाब जो आपको लगता है कि: 'पृथ्वी पर मैंने ऐसा क्यों नहीं सोचा?'। :)
एलेक्स थॉर्नटन

1
यह वास्तव में बैश का उपयोग करके स्क्रीन को साफ नहीं कर रहा है।
डार एग्रीशियस

3
"आपका स्रोत कोड एक प्रोग्रामिंग भाषा में लिखा जाना चाहिए, न कि एक कॉन्फ़िगरेशन फ़ाइल कुछ अन्य प्रोग्राम (जैसे स्क्रीन सेवर) का उपयोग करेगी।"
हनीस करप्पिला

2
@hannes karppila मैंने किसी भी कॉन्फ़िगरेशन फ़ाइल को नहीं बदला जो किसी अन्य प्रोग्राम का उपयोग करेगा। मैंने केवल एक और कार्यक्रम शुरू किया , जो अधिकांश बैश स्क्रिप्ट करते हैं (जब तक कि शुद्ध बैश में नहीं लिखा जाता है)
pastebin.com 19

5
@ गेस, गोल्फ: / * / * / gn * d के बजाय gnome-स्क्रीनसेवर-कमांड से लगभग 16 बाइट्स बचेंगे (mniip द्वारा विचार)
Glenn Randers-Pehrson

31

असेंबली (बूटलोडर) 131 चार्ट्स / 512 बाइट्स संकलित (वास्तव में छोटा है, लेकिन बूटशूटर 512 बाइट्स लंबा होना चाहिए।)

यह एक साधारण बूट लोडर है। जब कंप्यूटर शुरू होता है, तो BIOS इसे डिस्क (फ्लॉपी) से लोड करेगा। फिर यह ग्राफिक्स मोड में प्रवेश करता है और बस हैंग होता है। जब उपयोगकर्ता पावर बटन दबाएगा, तो प्रोग्राम समाप्त हो जाएगा और कंप्यूटर उस मोड में प्रवेश करेगा जहां प्रोग्राम चलाने से पहले था।

VirtualBox के साथ परीक्षण किया गया।

यह नास्म के साथ संकलित होगा:

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

सोर्स कोड:

[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

1
वर्चुअलबॉक्स पर कैसे चला जाए: (nasm का उपयोग कर संकलन), नया VM, प्रकार: अन्य, संस्करण: अन्य / अज्ञात, कोई हार्ड ड्राइव नहीं। आगे वीएम की सेटिंग में जाएं, स्टोरेज चुनें, सूची में राइट क्लिक करें, और "फ्लॉपी कंट्रोलर जोड़ें" चुनें। फ्लॉपी ड्राइव पर संकलित आईएमजी फ़ाइल को माउंट करें। सहेजें, और फिर आप इसे चला सकते हैं। का आनंद लें!
ज़च मर्टेस

मैं एक डॉस प्रोग्राम के समान काम करना चाहता था, लेकिन आप तेज थे। मूल रूप से केवल एक चीज जो मुझे वाया बैक से असेंबलर की याद दिलाती है :)
फेल्स

क्या आप बता सकते हैं कि यह कैसे काम करता है?
मेगा मैन

cliऔर क्यों sti? SSअगले निर्देश की अवधि के लिए व्यवधान को स्वचालित रूप से अक्षम करने के लिए ले जाता है , और AXयदि पहले कोई व्यवधान होता है तो उसे बदला नहीं जाएगा MOV SS,AX। इसके अलावा, MOV AX, 0x13दो MOVएस के बजाय क्यों नहीं ?
रुस्लान

छोटे मुझे कोड कैसे ठीक से लिखने के लिए पता नहीं था। वर्तमान में शायद मुझे पता नहीं है।
हेंस कारपिला

15

QBASIC (31)

SCREEN 7
WHILE INKEY$=""
WEND

14
@ TheGuywithTheHat मैंने आखिरकार मेरी विंडोज़ 3.1 वीएम के लिए एक उपयोग पाया।
डार्थ एग्रीगियस

3
वाह यह देखकर कि WEND ने यादें वापस ला दीं
क्लाउडी

@ user973810 आपका मतलब QB64 है
nyuszika7h

14

जावा: १६५

सिंपल जावा, बस एक फुलस्क्रीन ब्लैक फ्रेम बनाता है। बाहर निकलने के लिए आपको Alt + Tab को कंसोल और Ctrl-C पर वापस करना होगा, लेकिन यह काफी सरल लगता है।

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

11

अप्लेसॉफ्ट] [बुनियादी (17)

1 HGR2:GET X:TEXT

मुझे नहीं लगता कि यह वास्तव में 17 बाइट्स है ... मुझे लगता है कि यह कम हो सकता है। अगर मुझे सही से याद है, तो Applesoft ने अपने कीवर्ड को टोकन कर दिया, ताकि प्रत्येक कीवर्ड वास्तव में एक बाइट था ... इसलिए यह काफी छोटा हो सकता है। यह +1 है।
बस्का

11

बैश - 57 26

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

एक लैपटॉप पर यह स्क्रीन बैकलाइट ब्राइटनेस को 0 के माध्यम /sys/class/backlightसे सेट करेगा, एक टैबलेट या फोन पर, यह स्क्रीन को 0 से ब्राइटनेस की ओर ले जाएगा।/sys/class/leds


2
"और कार्यक्रम के बाहर होने तक ऐसा ही रहे (किसी भी कुंजी, या alt + F4, माउस आंदोलन, आदि), जिसके बाद चीजें वापस सामान्य हो जाएं"
Ry-

1
Fn+F6, Fn+<up arrow>और कई अन्य प्रमुख संयोजन "किसी भी कुंजी" और "आदि" में आते हैं, और वे उन कई में से एक हैं जो प्रकाश को वापस डालते थे।
इस्माइल मिगुएल

1
@ मिनिटेक ओह। खैर, तय ...
मनिीप

यह मेरे लिए बिल्कुल काम नहीं करता है। अगर मैं "C = / s * / * / * / * / b Ess; (A = $ (cat $ C); echo 0; cat; echo $ A) | tee $ C" को bash प्रॉम्प्ट से प्राप्त करता हूं। : / s * / * / * / * / b निबंध: ऐसी कोई फ़ाइल या निर्देशिका नहीं है: / s * / * / * / * / b *

@ लेम्बिक मुझे लगता है कि आपके पास कोई चमक नियंत्रक नहीं है या जो मौजूद हैं उनमें ड्राइवरों की कमी है। मन चंचलता find /sys/class/{backlight,leds}/*/?
14'14

8

मुझे पता है कि यह लेकिन मैं विरोध नहीं कर सकता।

बस सुनिश्चित करें कि आपके पास कोई ब्राउज़र विंडो नहीं है (इस मामले में, क्रोम);

इस PitchBlack.bat ( 31 24 बाइट्स) को निष्पादित करें :

chrome --kiosk file:///1

यदि आपकी Chrome.exe फ़ाइल की समान निर्देशिका में रखा गया है , तो यह बैच Chrome को कियोस्क मोड में निष्पादित करेगा और यह पूर्ण स्क्रीन में / 1 ( 49 41 34 बाइट्स) नामक एक फ़ाइल खोलेगा :

<body bgcolor=0 style=cursor:none>

Et voilà!

कुल बाइट संख्या: 80 72 58
@ धन्यवाद :)

कार्यक्रम से बाहर निकलने के लिए, आपको क्लासिक ALT + F4 के लिए जाना चाहिए ; कार्यक्रम शुरू होने के बाद आपको वास्तव में कोई तैयारी नहीं करनी है (न पहले, आपको बस जगह /1और बैच फ़ाइल करनी है ), इसलिए यह नियमों के साथ ठीक है।

कृपया ध्यान दें कि यदि आप अपने कर्सर को स्क्रीन की सीमाओं की ओर ले जाते हैं, तो यह दिखाई दे सकता है । ओपी ने कहा कि यह अनुमति नहीं थी, तब से

कार्यक्रम शुरू होने के बाद, स्क्रीन को जल्दी से पूरी तरह से काला होना चाहिए, और तब तक रहें जब तक कि कार्यक्रम बाहर न हो जाए (कोई भी कुंजी, या alt + F4, माउस आंदोलन , आदि), जिसके बाद चीजें वापस सामान्य हो जाएं।

तो यह पूरी तरह से ठीक होना चाहिए! : पी


1
शायद कुछ chrome --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>'अतिरिक्त फ़ाइल के बिना काम कर सकता है ?
वि।

इसका मतलब यह है कि जब file:आपको कोई URL बार दिखाई नहीं देता है, लेकिन data:स्कीम के साथ URL बार होता है?
वि।

मेरे सिस्टम पर chromium-browser --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>बिना किसी सलाखों के काले पृष्ठ के साथ लगभग-पूर्ण स्क्रीन क्रोमियम शुरू होता है।
वि।

उबंटू और क्रोमियम 34.0 पर परीक्षण किया गया, यह file:///1HTML के रूप में सहेजे जाने पर काम करता है /1, और html फ़ाइल को छोटा किया जा सकता है<body bgcolor=0 style=cursor:none>
pastebin.com स्लैश 0mr8spkT

1
मुझे लगता है कि आपको chromeअपने उत्तर में उपयोग करना चाहिएchromium
pastebin.com स्लैश 0mr8spkT

7

सी # - 211 202 200 196 179 बाइट्स

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

कर्सर छुपाता है और एक पूर्ण स्क्रीन काली खिड़की दिखाता है। Alt+ के साथ बंद किया जा सकता हैF4

गैर-गोल्फ कोड :

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

मुझे डालने की आवश्यकता नहीं है FormBorderStyle, क्योंकि पूर्णांक है तो यह आवश्यक नहीं है 0


2
आप बदल सकते हैं System.Drawing.Color.Black, FormWindowState.Maximized, FormWindowState.Maximizedऔर FormBorderStyle.Noneउनके इसी मूल्यों के साथ।
इस्माइल मिगुएल

@IsmaelMiguel: धन्यवाद, मैंने FormWindowState और FormBorderStyle को अपडेट किया है! मैं रंग अपडेट नहीं कर सका, क्योंकि यह एक एनम नहीं है।
प्रोग्रामफॉक्स

कोशिश करो Color.Black। इसे तुरंत काम करना चाहिए। या BackColor=This.ForeColor, जो MIGHT काम करती है।
इस्माइल मिगुएल

@IsmaelMiguel: पहला इसलिए काम नहीं करता क्योंकि मैंने जोड़ा नहीं था using System.Drawing;, और दूसरा काम नहीं करता क्योंकि मैं ब्रैकेट के अंदर चर मान सेट करता हूं।
प्रोग्रामफॉक्स

using System;फिर new Windows.Forms.Formऔर कोशिश करो BackColor=Drawing.Color.Black। यह शायद काम करते हैं! और कुछ बाइट्स बचाएं।
इस्माइल मिगुएल

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);}

यहाँ बहुत सारे उत्तर वास्तव में स्क्रीन को काला नहीं बनाते हैं : एक एलसीडी स्क्रीन पर, बैकलाइट चालू रहता है और एक गहरे भूरे रंग के साथ आपको छोड़ देता है।

यह छोटा-सा स्निपेट वास्तव में विंडोज बताता है कि निष्क्रियता टाइमर (नोट करता है के रूप में ही, स्क्रीन बंद करने:। इस नियम "बंद कोई शक्ति" का उल्लंघन नहीं करता है क्योंकि यह वास्तव में सिर्फ अतिरिक्त में जाने के लिए पर नजर रखने का कारण बनता है अधिकांश पर नज़र रखता है होगा इनपुट फिर से शुरू होने पर वापस चालू करें। इसके अलावा, नियम का इरादा यह सुनिश्चित करने के लिए प्रतीत होता है कि कार्यक्रम इसे वापस नीचे - नीचे कर सकता है।)

माउस को स्थानांतरित करें या स्क्रीन को वापस चालू करने के लिए एक कुंजी दबाएं।

Https://stackoverflow.com/a/713519/1030702 से अनुकूलित बिजली बंद करें


"इसलिए कंप्यूटर को बंद करना या मॉनिटर की शक्ति को बंद करने की अनुमति नहीं है ।"
इस्माइल मिगुएल

1
@IsmaelMiguel मैंने अपना औचित्य प्रदान किया है। "जब तक कार्यक्रम बाहर नहीं किया जाता है (कोई भी कुंजी, या alt + F4, माउस आंदोलन, आदि), जिसके बाद चीजें वापस सामान्य होनी चाहिए। इसलिए बंद करना ..." - शासन का इरादा संतुष्ट हो गया है। यह "इसे वापस चालू करेगा"। इरादे को पीछे छोड़ते हुए, यह शाब्दिक अर्थ को भी पूरा करता है, क्योंकि, Microsoft की शब्दावली के बावजूद, यह वास्तव में इसे बंद नहीं कर रहा है (प्रोजेक्टर, इत्यादि पर एक तरफ टाइमआउट), इसे स्टैंडबाय में रखा जा रहा है
बॉब

4

अमीगा विधानसभा

एएसएम-वन - 228 219 चार्ट, 172 बाइट संकलित (168 बाइट्स अनुकूलित)

20 साल हो गए हैं जब मैंने आखिरी बार अमीगा असेंबली में एक ही लाइन को कोड किया था, इसलिए मेरे साथ सहन किया। :-)

एमिगा खाली स्क्रीन स्थापित करने के मामले में पीसी की तुलना में थोड़ा अधिक शामिल था, इसलिए जितना संभव हो उतना सेटअप और फाड़ से छुटकारा पाने की कोशिश की। इंटरप्ट या मल्टीटास्किंग की कोई अक्षमता नहीं है; कोई डबल WaitTOF नहीं; कोई दृश्य प्रतिस्थापन नहीं; आदि। मैंने इसे सबसे तेज और गंदे डेमो के लिए भी नहीं लिखा। जिसका अर्थ है:

  • बुरा अभ्यास है
  • पूरी तरह से सुरक्षित नहीं हो सकता है
  • हमेशा काम नहीं हो सकता
  • यहां तक ​​कि उन अस्वीकरणों के साथ, संभवतः 20 साल की उपेक्षित विधानसभा के कारण बेवकूफ गलतियां हैं।

... यद्यपि इसका परीक्षण तेज मेमोरी के साथ या इसके बिना, A500 और A1200 के अनुकरण पर किया गया है। एक मानक निष्पादन योग्य के लिए संकलित। माउस क्लिक निकास।

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

कम गोल्फ वाला:

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

1
आआआह, यादें! इसे प्यार करना!
रोबेथ

हाँ, यह कोड गोल्फ में एक वास्तविक प्रयास की तुलना में एक उदासीन यात्रा के लिए एक बहाना था - अमीगा विधानसभा चरित्र गिनती के मामले में शायद ही कभी पर्ल या पायथन के साथ प्रतिस्पर्धा करेगा। हालाँकि मैं थोड़ा हैरान था कि यह C # या Java को हरा नहीं सकता। :)
जिम्मी त्ह

4

पायथन / पायगेम 199 127 125 92

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

ऐस से कुछ टिप्स के लिए धन्यवाद।


चूंकि ALT + F4 मायने रखता है, मैं भी ^ C मायने रखता हूं, इसलिए आप अंत में बहुत सारे बाइट्स छोड़ सकते हैं।
ओ ० '।

1
^ C के लिए काम करने के लिए आपको टर्मिनल पर ध्यान केंद्रित करने की आवश्यकता होती है, और प्रोग्राम में pygame विंडो हमेशा pygame के कारण केंद्रित होती है। FULLSCREEN संपादित करें: एक विकल्प यह होगा कि प्रोग्राम को बिना किसी निकास के साथ छोड़ दें, जिससे कीबोर्ड तक स्पैमिंग की आवश्यकता होगी आपका OS कुछ गलत है
हैरी बीडल

आप from pygame import*इसके बजाय का उपयोग करके कुछ बाइट्स बचा सकते हैं । इसके अलावा, मुझे नहीं लगता fill((0,0,0))कि डिफ़ॉल्ट रंग काला है, इसलिए यह आवश्यक है। तब आप sपूरी तरह से हटा सकते हैं। मुझे नहीं लगता कि display.flip()इसकी जरूरत भी है। इसके अलावा, 4 के बजाय इंडेंटेशन के लिए एक स्थान का उपयोग करें जो आपको अधिक रिक्त स्थान बचा सकता है। अंत में, के बजाय FULLSCREENऔर KEYDOWN, आप क्रमशः -1<<31(-2147483648) और उनके संख्यात्मक मानों का उपयोग कर सकते 2हैं।
pastebin.com 0mr8spkT

4

टीआई-बेसिक, 7 6

Shade(Ymin,Ymax

टर्मिनल (होम स्क्रीन) या एक कार्यक्रम के रूप में दोनों काम करता है। ONटर्मिनल या होम स्क्रीन पर दबाने या अधिकांश अन्य बटन वापस आ जाते हैं।


एक बाइट छोटी हो सकती है (और ग्राफ़ स्क्रीन विंडो बदल जाने पर भी काम कर सकती है) Shade(Ymin,Ymax
lirtosiast

@ThomasKwa तुम सही हो, टिप के लिए धन्यवाद!
टाइमटेक

3

कमोडोर 64 (16 बाइट्स)

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

टर्बो असेम्बलर का उपयोग करते हुए मुझे 20 साल से अधिक हो गया है, इसलिए मैं केवल VICE के मॉनिटर में उपयोग के लिए स्रोत प्रदान कर सकता हूं। इसे $ 032C और save[1] $ 033B के माध्यम से इकट्ठा करें । Resetऔर LOAD"PITCHDARK",8,1। अच्छे ओएल को मारो Runstop+Restore[2] वापस सामान्य करने के लिए।

यह कैसे काम करता है?

यहाँ सही स्रोत है:

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 है kernal CLALL या "बंद सभी चैनल और फ़ाइलें" वेक्टर। इसके क्लीनअप के हिस्से के रूप में, BASIC LOADकमांड CLRबारी-बारी से कॉल करता है CLALL। हम CLALLवेक्टर के तुरंत बाद वेक्टर को अपनी खुद की दिनचर्या के लिए पॉइंटर से बदल देते हैं । हम बॉर्डर को ब्लैक में सेट करते हैं और स्क्रीन को बॉर्डर से कवर करते हैं, और फिर RESTOR$ FF8A पर कॉल करते हैं। अंतिम वेक्टर को $ 0332-0333 पर प्रतिस्थापित किया गया RESTORहै SAVEजिसका अर्थ है कि पिछले 8 बाइट्स अनस्टर्डबर्ड हैं। हम फिर CLALLसे जारी वेक्टर के माध्यम से LOADनिष्पादन को जारी रखने के लिए बाहर निकलते हैं ।

इसके लिए धन्यवाद, यह स्मृति लेन नीचे मजेदार यात्रा थी, एक ऑटोरन प्रोग्राम को कैसे करना है, इसे पुनः जारी करना :)

[१] सेव और bsave का उपयोग करें ताकि लोड के साथ, १ सही ढंग से काम करे
[२] X64 में एस्केप + पेजअप, शायद।


3

sh / X11 आर्च लिनक्स पर, 26

b=/b*/*ht;$b =0;read;$b =7

आप शायद कुछ उर्फ ​​के साथ कुछ शेव कर सकते हैं और शायद -setदोनों के लिए इस्तेमाल कर रहे हैं
ardnew

1
का उपयोग करें xbacklight = 0और xbacklight + 7
bb010g

1
29 बाइट्स:x=xbacklight;$x +0;read;$x +7
nyuszika7h

@ nyuszika7h: धन्यवाद! (28 को भी मिल गया!)
Ry-

3

बैश, ३,

unclutterस्क्रीन xtermको ब्लैक करने के लिए माउस पॉइंटर और फुलस्क्रीन सेशन को छुपाने के लिए उपयोग करता है । यदि आप इसे स्थानांतरित करते हैं तो कर्सर एक पल के लिए फिर से दिखाई देगा, लेकिन यदि आप इसे अकेले छोड़ देते हैं तो स्क्रीन काली हो जाएगी जब तक आप Ctrl + C दबाते हैं।

माउस कर्सर को गायब होने में कुछ सेकंड लगेंगे (जब तक आप इसे स्थानांतरित नहीं करते)। यदि यह पर्याप्त तेज़ नहीं है, तो अतिरिक्त 6 वर्णों के लिए -grabविकल्प जोड़ें unclutter

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

चेतावनी: यह unclutterआपके Ctrl + C दबाने के बाद भी चलने की एक प्रक्रिया को छोड़ देगा , killall unclutterइसे रोकने के लिए उपयोग करें।

व्याख्या

unclutter &लॉन्च किया गया unclutter। ऐसा नहीं &है इसलिए हम इसे समाप्त करने के लिए इंतजार करने के बजाय अगले आदेश के साथ मिल सकते हैं।

xterm -fullscreen XTerm लॉन्च किया है, जिसकी पृष्ठभूमि डिफ़ॉल्ट रूप से काली है।

-e yes ''विकल्प चलाने के लिए XTerm का कारण बनता है yes ''जिससे हमेशा के लिए रिक्त स्ट्रिंग मुद्रण,। यह टर्मिनल कर्सर को छिपाने का कार्य करता है, और Ctrl + C कार्यक्षमता भी प्रदान करता है।


मेरे सिस्टम में स्क्रीन पूरी तरह से सफेद हो जाती है।
वि।

@Vi। इसका मतलब है कि आपका XTerm बैकग्राउंड का रंग सफेद है।

आप "-fullscreen" को "-fu" संक्षिप्त कर सकते हैं, और उपयोगकर्ता की प्राथमिकताओं की परवाह किए बिना काली पृष्ठभूमि के रंग को मजबूर करने के लिए "-bg काले" का उपयोग कर सकते हैं।
अर्ध-बाहरी

आप &2 बाइट्स को बचाने के लिए रिक्त स्थान को निकाल सकते हैं ।
nyuszika7h

3

बैश, 31 (या 52)

TTY पर, निम्न स्क्रिप्ट का उपयोग करें (अपनी डिफ़ॉल्ट TTY पृष्ठभूमि को काला मानते हुए, जो कम से कम Ubuntu 12.04% S के लिए सही है):

setterm -foreground black
clear

इस स्क्रिप्ट का उपयोग करने के बाद भी आपका TTY पूरी तरह कार्यात्मक होगा :)

यदि इसकी अनुमति नहीं है, तो निम्नलिखित (52 बाइट्स) का उपयोग करें:

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

और Enterस्क्रिप्ट को समाप्त करने के लिए दबाएं ।

@ Nyuszika7h के लिए विशेष धन्यवाद।


1
दूसरे मामले के लिए: x='setterm -foreground';$x black;clear;read;$x white(52 बाइट्स)।
nyuszika7h

2

प्रसंस्करण, 113

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

मैंने कुछ बाइट्स को बचाने के लिए ऊपर दिए गए कोड को ड्रॉ पर डालने की कोशिश की, लेकिन यह काम नहीं किया। छोड़ने के लिए Alt-F4 दबाएं।


2

ZX स्पेक्ट्रम बेसिक (29 बाइट्स)

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

स्क्रीन पर Iterates, काले पिक्सेल की साजिश रचते हैं जो प्रोग्राम समाप्त होने पर स्वचालित रूप से साफ़ हो जाते हैं।

ZX स्पेक्ट्रम के मूल संस्करण का उपयोग एकल बाइट्स कमांड के रूप में करता है और कोई नईलाइन नहीं होती है, अगर गिनती वाले वर्ण आपको 61 वर्ण मिलते हैं।


2

Lua + LuaVE (50)

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

दोनों फ़ंक्शन बूलियन तर्क लेने वाले हैं, फिर भी यह काम करता है।


2

QBasic, 9 बाइट्स

CLS:SLEEP

CLSस्क्रीन को साफ करता है, SLEEPबिना किसी तर्क के तब तक निष्पादन होता है जब तक कि एक कुंजी को दबाया नहीं जाता है।


2

स्माइलबासिक, 15 बाइट्स

XSCREEN 4
EXEC.

START या SELECT को दबाने से प्रोग्राम समाप्त हो जाएगा।

XSCREEN 4दोनों स्क्रीन पर फैले 320 * 480 की छवि दिखाने के लिए डिस्प्ले मोड सेट करता है। यह सब कुछ स्पष्ट होना चाहिए, इसलिए ACLSइसकी आवश्यकता नहीं है। EXEC.कोड को लगातार स्लॉट the में प्रोग्राम को चलाकर कोड को दोहराता है। मैं ऐसा करने में सक्षम नहीं था XSCREEN 4EXEC.क्योंकि आपके पास पहले सीधे नंबर नहीं हो सकता हैE


1

सिंक्लेयर बेसिक - 28 वर्ण

BORDER 0:PAPER 0:CLS:PAUSE 0

सिनक्लेयर बेसिक के बारे में बात यह थी कि प्रत्येक कीवर्ड का अपना चरित्र कोड (एक बाइट लेना) था, इसलिए यह वास्तव में रिक्त स्थान सहित 13 बाइट्स लेगा।


क्या यह परिष्करण के बाद स्क्रीन को सामान्य में वापस करता है?
kitcar2000

@ kitcar2000 - इसके बारे में सोचकर, नहीं। मैं शायद एक त्वरित और गंदे रीसेट के रूप में अंत में ": NEW" जोड़ूंगा, इसे 32 चार्ट्स / 15 बाइट्स तक ले जाऊंगा
ब्रायन

मुझे लगता है कि यह केवल 10 बाइट्स (12 के साथ :NEW) है क्योंकि कमांड पात्रों के संग्रह के बजाय एकल बाइट्स हैं।
किटकार्ने २२

1

स्माइलबासिक, 23 बाइट्स

जब तक कार्यक्रम START या SELECT के साथ बल-मारा नहीं जाता तब तक हमेशा चलता है। यह दोनों स्क्रीन को पूरी तरह से काला बनाता है , 3 डी को निष्क्रिय करने के लिए इतनी दूर जा रहा है (इस प्रकार ओ 3 डीएस पर 3 डी एलईडी बंद कर रहा है।)

ACLS:XSCREEN 3@L GOTO@L

1

अधिकांश POSIX संगत गोले (कम से कम bashऔर zsh), 21

जरूरत है एक टट्टी पर चलने की

tput civis;clear;read

पहला कमांड कर्सर को छुपाता है, दूसरा कमांड स्क्रीन (duh) को क्लियर करता है और तीसरा कमांड टेक्स्ट की एक पंक्ति को पढ़ता है


0

BASH - 14 वर्ण

pmset sleepnow काम करता है!

(मेरे मैक टर्मिनल में टाइप किया गया)


आपको अपने उत्तर में OS और / या अन्य आवश्यक शर्तें निर्दिष्ट करनी चाहिए।
pastebin.com 0mr8spkT

@ace उत्तर संपादित किया गया :)
मैक्स चुक्विमिया

नींद की निगरानी बंद नहीं करता है?
ओ ० '।

0

बैश: 48 अक्षर

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

सीडब्ल्यू क्योंकि यह स्पष्ट नहीं है कि यह जिस तरह से काम करता है, उसके कारण यह योग्य है:

  • निर्मित काली स्क्रीन वास्तविक बिजली की बचत है: यह 1 प्रदर्शित करने के लिए भेजने की सूचना को काट देती है।
  • सिग्नल के नुकसान का पता लगाने पर कई कंप्यूटर प्रदर्शित करते हैं, अस्थायी रूप से या समय-समय पर अपना स्वयं का नोटिस दिखाएंगे।

(ध्यान दें कि DP1 पहला कनेक्टेड डिस्प्ले है। यदि आपके पास लैपटॉप है, तो इसका एम्बेडेड डिस्प्ले eDP1 है।)




0

चिप -8, 0 बाइट्स

[टी] उन्होंने मूल चिप -8 दुभाषिया को ० एक्स ०१ सी ० एफ ० से निष्पादित करना शुरू किया। दुभाषिया में इस स्थान पर दो स्थायी चिप -8 निर्देश शामिल हैं जिन्हें हमेशा हर कार्यक्रम की शुरुआत में निष्पादित किया जाता है। इनमें से पहला, 0x00E0, सभी बिट्स को शून्य पर सेट करके रैम को प्रदर्शित करता है। दूसरा, 0x004B, वीआईपी के प्रदर्शन को स्विच करने वाले दुभाषिया के भीतर एक मशीन भाषा की दिनचर्या कहता है।

स्रोत: http://laurencescotford.co.uk/?p=75

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.