ASCII कला कैलेंडर


54

आइए एक ASCII कला घड़ी और कैलेंडर बनाएं जो हमें वर्तमान महीने, महीने का दिन, सप्ताह का दिन, घंटा, मिनट और यह बताता है कि यह रात या दिन है (लेकिन वर्ष या दूसरा नहीं)।

किसी भी विशेष समय पर कैलेंडर कुछ इस तरह दिखाई देगा: (यह कम लाइन रिक्ति के साथ बेहतर दिखता है)

 ________________________________________________________________
|\ ____________________________________________________________ /|
| |                  ___                                       | |
| |                _(   )                                      | |
| |               (___)__)           -.-                       | |
| |                                                            | |
| |                                                            | |
| |      -.-                                                   | |
| |         -.-                                                | |
| |                     ___                                    | |
| |                   _(   )                                   | |
| |                  (___)__)                                  | |
| |                                                            | |
| |                                          ___               | |
| |                                        _(   )              | |
| |    _                                  (___)__)             | |
| |   /|\                                                      | |
| |  / | \                                                     | |
| | /__|__\                                                    | |
| |____|____                                                   | |
| |\_______/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~-~~~~~| |
| |____________________________________________________________| |
|/______________________________________________________________\|

यह हमेशा एक 66 से 23 चरित्र "पिक्चर फ्रेम" है जिसकी सीमा कभी नहीं बदलती है।

फ्रेम के भीतर की छवि हमें समय और तारीख बताती है:

  • दिन के दौरान (सुबह 6:00 - शाम 5:59 बजे) महीना -.-आकाश में पक्षियों ( ) की संख्या से निर्धारित होता है । जनवरी = 1 पक्षी, फरवरी = 2 पक्षी, आदि।
  • रात के दौरान (शाम 6:00 - 5:59 बजे) पक्षियों को 3 बार कई सितारों ( *) के साथ बदल दिया जाता है । जनवरी = 3 तारे, फरवरी = 6 तारे आदि। पक्षी और तारे एक ही समय में आकाश में कभी नहीं होते हैं।
  • महीने का दिन -पानी पर दो डैश ( ) के बीच वर्णों की संख्या से निर्धारित होता है। उदाहरण के लिए ~~-~~~~-~~यह महीने का चौथा दिन है। मिनट के आधार पर, नाव को डैश के बीच होने की आवश्यकता हो सकती है (डैश चारों ओर लूप नहीं करते हैं)।
  • सप्ताह का दिन आकाश में बादलों की संख्या से निर्धारित होता है (सभी बादल समान दिखते हैं)। रविवार = 0 बादल , सोमवार = 1 बादल, ..., शनिवार = 6 बादल।
  • घंटा पानी (और नाव) के स्तर से निर्धारित होता है। अपने सबसे कम (ऊपर के रूप में) यह 1 बजे है, 2 बजे के दौरान यह एक वर्ण अधिक होता है, और इसलिए 12 बजे तक, फिर 1 ओ-क्लॉक पर वापस आ जाता है। (यह 12 घंटे की 24 घंटे की घड़ी नहीं है।)
  • मिनट नाव की क्षैतिज स्थिति से निर्धारित होता है। घंटे के शीर्ष पर नाव फ्रेम के बाएं किनारे को छूती है (ऊपर के रूप में)। प्रत्येक बाद के मिनट में नाव एक पात्र द्वारा दाईं ओर चलती है। 51 से 59 मिनट में यह फ्रेम के दाईं ओर से वापस बाईं ओर लूप करता है।

तो, यह देखते हुए कि ऊपर दिए गए उदाहरण में 3 पक्षी, 3 बादल, डैश के बीच 2 चार्ट, सबसे निचले स्तर पर पानी है, और सबसे बाईं ओर नाव हम बता सकते हैं कि तारीख बुधवार 2 मार्च है, और समय 1 है: 12:00।

यहाँ रविवार 25 अप्रैल को 3:58 बजे से एक और उदाहरण दिया गया है:

 ________________________________________________________________
|\ ____________________________________________________________ /|
| |                                                            | |
| |                                                     * *    | |
| |                            *       *                 *     | |
| |               *                                            | |
| |                                                            | |
| |                           *                                | |
| |         *                      *                           | |
| |                                                            | |
| |                                 *                          | |
| |                                                            | |
| |                                 *                          | |
| |  _                                                         | |
| | /|\                          *                             | |
| |/ | \                                                       | |
| |__|__\                                                     /| |
| |__|____                                                   __| |
| |______/~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~\_| |
| |                                                            | |
| |                                                            | |
| |____________________________________________________________| |
|/______________________________________________________________\|

लक्ष्य

आपका लक्ष्य संभवतया सबसे छोटा प्रोग्राम लिखना है जो इन ASCII कला "कैलेंडर" को उस समय का उपयोग करके स्टडआउट करने के लिए आउटपुट करता है।

कार्यक्रम के प्रत्येक रन को एक बार के दृश्य का उत्पादन करना चाहिए। अपडेट स्वचालित (या एनिमेटेड) नहीं होना चाहिए।

बादलों, सितारों और पक्षियों को आकाश में बेतरतीब ढंग से रखा जाना चाहिए (इसलिए हर रन, यहां तक ​​कि एक ही समय में अलग-अलग होने की संभावना है)। उन्हें नाव या एक दूसरे को ओवरलैप नहीं करना चाहिए। (इसके अलावा पानी के डैश को नाव के पतवार को ओवरलैप नहीं करना चाहिए।)

ध्यान दें कि मैंने जो कुछ भी वर्णित किया है वह पानी के नीचे दिखाई देता है। यह आपको करना है। हर सप्ताह (आपकी पसंद) के एक पूर्व निर्धारित घंटे के दौरान, कुछ दिलचस्प पानी के नीचे खींचा जाना चाहिए। यह एक समुद्री राक्षस या धँसा जहाज या कुछ भी हो सकता है, यह आपके ऊपर है। उस घंटे के दौरान आप बाकी दृश्य के डिजाइन (फ्रेम सीमा में रहना) को भी बदल सकते हैं।

स्कोरिंग

यह एक कोड-गोल्फ लोकप्रियता-प्रतियोगिता कॉम्बो है।

आपका स्कोर है (bytes in program) - 4 * (upvotes - downvotes)। सबसे कम स्कोर जीतता है।

यदि आप गैर- ASCII वर्णों का उपयोग करते हैं, तो एक बाइट काउंटर के रूप में http://mothereff.in/byte-counter का उपयोग करें ।

नोट्स और अपडेट

  • आप डैश के बजाय buoys का उपयोग कर सकते हैं, क्योंकि, इसका सामना करने देता है, वे बहुत अधिक उपयुक्त हैं:

       |     |
    ~~(_)~~~(_)~~ (3rd of the month)
    
  • डैश (या buoys) यादृच्छिक होना ज़रूरी नहीं है लेकिन अगर वे होते तो अच्छा होता।

  • आपका "विशेष घंटा" घंटे के शीर्ष से अगले मिनट से 1 मिनट पहले 60 मिनट तक चलना चाहिए।
  • विशेष घंटे के दौरान आप जो पानी के नीचे की चीजें खींचते हैं, वे हिल सकते हैं और सतह और आकाश को बदल सकते हैं जब यह समझ में आता है (जैसे समुद्री राक्षस नाव को खा रहा है, समुद्र तल पर ब्लैक होल का निर्माण, आदि)

21
जब तक आप 4k से कम नहीं हो जाते, तब तक आपके सभी सवालों / जवाबों को दरकिनार करना शुरू करना गलत होगा?
काइल कानूनोस

4
यह ऐसा लगता है जैसे शीत युद्ध द्वारा गुप्त बैठक के समय का संचार करने के लिए इस्तेमाल की जाने वाली किसी चीज़ से।
NinjaBearMonkey

3
डैश के बजाय दो बुवाई क्यों नहीं? वे अधिक दिखाई देंगे और जगह-जगह कम दिखेंगे :) "> |> \ n ~ (_) ~ \ n °"
क्वेंटिन

4
1. हां कृपया सैंडबॉक्स में किसी भी अतिरिक्त विचारों को डंप करें
ट्राइकोप्लाक्स

7
2. हर बार अक्सर, अप्रत्याशित रूप से मिथक के एक प्राणी की तरह वापस आ जाते हैं
ट्राइकोप्लाक्स

जवाबों:


21

रूबी, एट वर्ल्ड्स एंड, 1260 1070 967 बाइट्स

किसी को याद है कि पाइरेट्स ऑफ द कैरेबियन फिल्म?

c=("   #{?_*60}   
")*2
c+="| |#{' '*60}| |
"*19+c
[67,132,-2,-66,-67,-69,-71,-132,-134].map{|i|c[i]=?|}
a=c[68]=c[-3]=?\\
e=c[131]=c[-66]=?/
[1,2,-4,-65,63,64].map{|i|c[i]=?_}
t=Time.now
w,_,n,l,d,m=t.wday,*t.to_a
p=l>11
q=(l-1)%12+1
h=(20-(l-1)%12)*67+3
c[h,60]=?~*60
f=(n+9)%60
f=f+d>58?n>d+2?0:n-12:f
c[h+f]=c[h+f+d+1]=?-
s=l==18&&w==0
z=->s{s.chars.map(&:to_i)}
b={?_=>z['5410110125'+g='020304050607121315161718222326'],e=>z['08213243'],a=>z['00273645'],?|=>z['14243444'],?#=>[3,3,3,5]}
b={?_=>z[g+'272855140824'].map{|i|i-1},a=>b[e],e=>b[a],?|=>z['142434']}if s
b.each{|k,v|v.each_slice(2){|j,i|c[h-67*j*(s ?-1:1)+(i+n)%60]=k}}
r=->(m,t){k=0
(x=rand(53)
y=rand(19-q)
m.values.flatten.each_slice(2).any?{|j,i|c[h-(y+j)*67+i+x]!=' '}? next: m.each{|k,v|v.each_slice(2){|j,i|c[h-(y+j)*67+i+x]=k}}
k+=1)while k<t}
r[{?(=>[1,0,2,2],?)=>z['141726'],?_=>z['111213151621333435'],?#=>z['232425']},w]
r[l>5&&l<18?{?-=>[1,0,1,2],?.=>[1,1]}:{?*=>[1,0]},m]
puts c.tr(?#,' ')

वहाँ अभी भी गोल्फ में सुधार के लिए बहुत जगह है, लेकिन यह एक शुरुआत है।

अब फिल्म के संदर्भ में क्या है? जाहिरा तौर पर यह है कि जैक स्पैरो की तुलना में ग्रीन फ्लैश बहुत अधिक बार होता है जो हमें विश्वास करना चाहता है। वास्तव में, यह हर दस साल में एक बार के बजाय सप्ताह में एक बार होता है। हर रविवार को सूर्यास्त के समय, ब्लैक रूबी (घंटा) मृतकों की भूमि में एक चक्कर लगाती है:

 ________________________________________________________________
|\ ____________________________________________________________ /|
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| | *                          *                       *       | |
| |                     *                            *         | |
| |         *  *                  *             _______        | |
| |-~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/_______\~~~~~~~| |
| |                                             ___|___        | |
| |                                             \  |  /        | |
| |                                              \ | /         | |
| |                                               \_/          | |
| |                                                            | |
| |____________________________________________________________| |
|/______________________________________________________________\|

13

जावा - प्यारा क्रैकन (बहुत सारे बाइट्स)

EDIT: पक्षियों / सितारों में और अधिक सुधार ऊपर और बादलों को लाता है, अब सबसे व्यस्त कैलेंडर (12pm, शनिवार, दिसंबर) लगभग 70% समय काम करता है। अन्य 30% मुझे एक मिलता है (इसके लिए तैयार हो जाओ) ढेर अतिप्रवाह त्रुटि क्योंकि मैं पुनरावर्ती का उपयोग करता हूं। सबसे व्यस्त कैलेंडर और नई क्रैकन तस्वीर के नए चित्र, जो सितारों / बादलों के चढ़ाव / ऊंचाइयों को दर्शाता है।

अब बेहतर तरीके से उन स्थितियों को संभालता है जिसमें सितारों / पक्षियों का यादृच्छिक बिखरना बादलों के यादृच्छिक सम्मिलन को रोकता है। जब चीजें बहुत भीड़ होती हैं और यह 200 कोशिशों के बाद भी काम नहीं करता है, तो हम तारों / पक्षियों को इस उम्मीद में फिर से करते हैं कि अगला कॉन्फ़िगरेशन बादलों को कुछ व्यक्तिगत स्थान की अनुमति देगा।

कौन एक प्यारा भंगुर है? कौन एक प्यारा भंगुर है? तुम हो! तुम हो!

मामूली संपादन, फिर भी कोई गोल्फ नहीं। क्वेकन 9 पर दिखाता है क्योंकि वह जानता है कि हर कोई आधी रात को उससे उम्मीद करता है। वह अब छोटा और शर्मीला है, लेकिन एक दिन वह जहाज खाने की उम्मीद करता है।

आकाश में बादल कम होते हैं, जबकि तारे और पक्षी उनके ऊपर उड़ना पसंद करते हैं; चीजें हालांकि 8 बजे के आसपास थोड़ी भीड़ हो जाती हैं।

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class TimeFlies
{
   static char[][] frame = new char[23][66];
   static char[] bird = new char[] {'-', '.', '-'};
   static char[][] boat = new char[][]{
   {' ', ' ', ' ', ' ', '_', ' ', ' ', ' ', ' '}, 
   {' ', ' ', ' ', '/', '|', '\\', ' ', ' ', ' '},
   {' ', ' ', '/', ' ', '|', ' ', '\\', ' ', ' '},
   {' ', '/', '_', '_', '|', '_', '_', '\\', ' '},
   {'_', '_', '_', '_', '|', '_', '_', '_', '_'},
   {'\\', '_', '_', '_', '_', '_', '_', '_', '/'},
   };
   static char[][] cloud = new char[][]{
   {' ', ' ', ' ', '_', '_', '_', ' ', ' '},
   {' ', '_', '(', ' ', ' ', ' ', ')', ' '},
   {'(', '_', '_', '_', ')', '_', '_', ')'},
   };
   static char[][] kraken = new char[][]{
   {' ', ' ', ' ', '_', '_', '_', '_', '_', '_', '_', '_', ' ', ' ', ' ', ' '},
   {' ', ' ', '/', ' ', ' ', '_', ' ', ' ', ' ', '_', ' ', '\\', ' ', ' ', ' '},
   {' ', '|', ' ', ' ', '|', '_', '|', ' ', '|', '_', '|', ' ', '|', ' ', ' '},
   {' ', ' ', '\\', '_', '_', '_', '\\', ' ', '/', '_', '_', '/', ' ', ' ', ' '},
   {' ', ' ', ' ', '/', '|', ' ', '|', ' ', '|', ' ', '|', '\\', ' ', ' ', ' '},
   {'_', '_', '/', ' ', '|', ' ', '|', ' ', '|', ' ', '|', ' ', '\\', '_', '_'},
   {' ', ' ', '_', '/', ' ', ' ', '|', ' ', '|', ' ', ' ', '\\', '_', ' ', ' '},
   {' ', ' ', ' ', ' ', ' ', '/', ' ', ' ', ' ', '\\', ' ', ' ', ' ', ' ', ' '}}; 

   static int day, month, hours, minutes, weekday, attempts = 0;
   static boolean isFirstTime, birds = true;
   static String timeStamp;

   public static void main()
   {
       timeStamp = new SimpleDateFormat("MMddHHmm").format(Calendar.getInstance().getTime());
       isFirstTime = true;
       retry();
   }

   public static void retry()
   {

       day = Integer.parseInt(timeStamp.substring(2, 4));
       month = Integer.parseInt(timeStamp.substring(0, 2));
       hours = Integer.parseInt(timeStamp.substring(4, 6));
       minutes = Integer.parseInt(timeStamp.substring(6, 8));

       Calendar c = Calendar.getInstance();
       c.set(2014, month, day);
       weekday = c.get(Calendar.DAY_OF_WEEK) - 1; 

       int timeTemp = hours*60 + minutes;
       if(timeTemp < 360 || timeTemp > 1080)
       {
           birds = false;
           month *= 3;
       }
       if(hours > 12) 
           hours -= 12;
       initiateFrame();

       if(isFirstTime)
       {
           printFrame();
           isFirstTime = false;
       }
   }

   public static void insertStuff()
   {
       for(int i = 0; i < boat.length; i++)
           for(int k = 0; k < boat[0].length; k++)
           {
               if(3+k+minutes > 62)
                   frame[15 + i - hours][3 + k + minutes-60] = boat[i][k];
               else
                   frame[15 + i - hours][3 + k + minutes] = boat[i][k];
           }

       boolean beganDayCount = false;
       for(int i = 0; i <= 22; i++)
           for(int k = 0; k <=65; k++)
               if(i == (20 - hours) && (k > 2 && k < 63) && frame[i][k] == ' ')
               {
                   if(!beganDayCount)
                   {
                       frame[i][k] = '-';
                       beganDayCount = true;
                   }
                   else 
                   {
                       if(day > 0)
                           frame[i][k] = '~';
                       if(day == 0)
                           frame[i][k] = '-';
                       else
                           frame[i][k] = '~';
                       day--;
                   }
               }
       putInBirdsOrStars();
       putInClouds();
       if(hours == 9)
           putInKraken();
   }

   public static void putInKraken()
   {
       for(int i = 0; i < kraken.length; i++)
           for(int k = 0; k < kraken[0].length; k++)
               frame[i + 12][k + 20] = kraken[i][k];
   }

   public static void putInClouds()
   {
       int x = (int)(Math.random() * 7) + (14-hours);
       int y = (int)(Math.random() * 54) + 2;
       boolean noFreeSpace = true;

       for(int i = 0; i < cloud.length; i++)
       {
           for(int k = 0; k < cloud[0].length; k++)
           {
               if(frame[x + i][y + k] == ' ' )
                   noFreeSpace = false;
               else
               {
                   noFreeSpace = true;
                   break;
               }
           }
           if(noFreeSpace)
               break;
       }

       if(x + 2 > 20 - hours)
           noFreeSpace = true;

       if(!noFreeSpace)
       {
           for(int i = 0; i < cloud.length; i++)
               for(int k = 0; k < cloud[0].length; k++)
                   frame[x + i][y + k] = cloud[i][k];
           weekday--;
       }

       attempts++;
       if(attempts > 200)
       {
           attempts = 0;
           retry();
       }
       if(weekday > 0)
           putInClouds();
   }

   public static void putInBirdsOrStars()
   {
       int x = (int)(Math.random() * 5) + (12 - hours);
       int y = (int)(Math.random() * 60) + 2;
       boolean freeSpace = false;

       for(int i = 0; i < bird.length; i++)
           if(frame[x][y] == ' ' && frame[x][y + 1] == ' ' && frame[x][y + 2] == ' ')
               freeSpace = true;

       if(x > 20- hours)
           freeSpace = false;
       if(birds && freeSpace)
       {
           for(int i = 0; i < bird.length; i++)
               frame[x][y++] = bird[i];
           month--;
       }
       else if(freeSpace)
       {
          frame[x][y] = '*';
          month--;
       }
       if(month > 0)
           putInBirdsOrStars();
   }

   public static void initiateFrame()
   {
       for(int i = 0; i <= 22; i++)
           for(int k = 0; k <=65; k++)
           {
               if(((k == 0 || k == 65) && (i > 0)) || ((k == 2 || k == 63) && (i > 1 && i < 22)))
                   frame[i][k] = '|';
               else if((i == 0 && (k > 0 && k < 65)) || ((i == 1 || i == 21) && (k > 2 && k < 63)) || (i == 22 && (k > 1 && k < 64)))
                   frame[i][k] = '_';
               else
                   frame[i][k] = ' ';
           }

       frame[1][1] = '\\'; frame[1][64] = '/'; frame[22][1] = '/';frame[22][64] = '\\';
       insertStuff();
   }        


   public static void printFrame()
   {
       for(int i = 0; i <= 22; i++)
       {
           for(int k = 0; k <=65; k++)
               System.out.print(frame[i][k]);
           System.out.println();
       }
   }
}

आकस्मिक उत्पादन

 ________________________________________________________________  
|\ ____________________________________________________________ /| 
| |                                                      -.-   | | 
| |                                   -.-                      | | 
| |                                                            | | 
| |      -.-                                                   | | 
| |                                                            | | 
| |               -.-                                          | | 
| |                                                            | | 
| |                     -.-                           -.-      | | 
| |    -.-                                  ___                | | 
| |            -.-                        _(   )      ___      | | 
| |             ___                      (___)__)   _(   )     | | 
| |           _(   )        ___               _    (___)__)    | | 
| |          (___)__)     _(   )             /|\               | | 
| |     ___              (___)__)   ___     / | \              | | 
| |   _(   )                      _(   )   /__|__\             | | 
| |  (___)__)                    (___)__) ____|____            | | 
| |-~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~\_______/~~~~~~~~~~~~| | 
| |                                                            | | 
| |                                                            | | 
| |____________________________________________________________| | 
|/______________________________________________________________\| 

सुपर व्यस्त उत्पादन

 ________________________________________________________________ 
|\ ____________________________________________________________ /|
| |  *  * **    * *        *  *    **       * *   *    * *  *  | |
| |*  _   *  *       **  *        *         *   *  *      *    | |
| |  /|\*    ___  *  **  *     *        *      ___  *     *    | |
| | / | \  _(   )    ___      ___       ___  _(   )    ___     | |
| |/__|__\(___)__) _(   )   _(   )    _(   )(___)__) _(   )    | |
| |___|____       (___)__) (___)__)  (___)__)       (___)__)  _| |
| |_______/-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~\| |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |____________________________________________________________| |
|/______________________________________________________________\|

यदि हम कुछ मूल्यों को कूट-कूट कर हमारे क्रैकन का परिचय दें, तो हम ...

 ________________________________________________________________ 
|\ ____________________________________________________________ /|
| |                                                            | |
| |*           *  *     *                                   *  | |
| |  *       *                                    *   *   *    | |
| |*          ___      *  *                   *    *           | |
| |         _(   )  _         ___      *   *                   | |
| |     *  (___)__)/|\*     _(   )  *   *    *   ___   *   *   | |
| |   ___         / | \    (___)__)   ___      _(   )    ___   | |
| | _(   )       /__|__\            _(   )    (___)__) _(   )  | |
| |(___)__)     ____|____          (___)__)           (___)__) | |
| |-~~~~~~~~~~~~\_______/~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| |
| |                    ________                                | |
| |                   /  _   _ \                               | |
| |                  |  |_| |_| |                              | |
| |                   \___\ /__/                               | |
| |                    /| | | |\                               | |
| |                 __/ | | | | \__                            | |
| |                   _/  | |  \_                              | |
| |                      /   \                                 | |
| |                                                            | |
| |____________________________________________________________| |
|/______________________________________________________________\|

5
प्यार कि
स्क्विडवर्ड

11

पायथन 3 - समुद्री डाकू और जेलिफ़िश: 1580 1472 बाइट्स

हर बुधवार आधी रात को एक समुद्री डाकू जहाज हमारी नाव को डुबो देता है। शोर एक विशाल जेलीफ़िश को जगाता है जो एक घंटे के लिए फ्रेम को बेतरतीब ढंग से घूमता है।

from random import*
from datetime import*
l=len;r=range
n=randint
def f(s,p,*a):
 global c,o;j=l(s[0])
 while 1:
  x=n(3,63-j);y=n(3,p);g=y+l(s);h=x+j
  if not(o[y][x]or o[g][h]or o[g][x]or o[y][h]):break
 if l(a)!= 0:x,y=a
 for w in r(l(s)):
  for m in r(j):c[y+w][x+m]=s[w][m];o[y+w][x+m]=1
E=datetime.now();D=(E.weekday()+1)%7
h=E.hour;M=E.month
t=6<h<18;N=(3*M,M)[t]
H=9if h==0 else 21-h%12
s=min(H-1,12)
o=[[0]*66 for i in r(23)]
c=[['']*66 for i in r(23)]
c[0]=[' ']+['_']*64+[' ']
c[1]=['|','\\']+['_']*62+['/','|']
for i in r(2,21):c[i]=['|',' ','|']+[' ']*60+['|',' ','|'] 
c[21]=['|',' ','|']+['_']*60+['|',' ','|']
c[22]=['|','/']+['_']*62+['\\','|']
for i in r(3,63):c[H][i]='~'
Z=(D!=3or h!=0)
B=(['    _~_      ','  __)__)__   ','  )_))_))_)  ','.--:--:--:-=/',' \\_o__o__o_/ '],['    _    ','   /|\\   ','  / | \  ',' /__|__\\ ','____|____','\\_______/'])[Z]
j=l(B[0]);y=H-l(B)+1;x=E.minute 
while 1:
 b=n(3,63)
 if b<x or b>(x+j):break
z=E.day+1;d=b+z
if b<x<d:d+=j
if d>63:d=b-z
if d<x<b:d-=j
c[H][b]=c[H][d]='-'
for w in r(l(B)):
 for m in r(j):
  g=x+m;k=y+w
  if g>59:c[k][g-57]=B[w][m];o[k][g-57]=1
  else:c[k][g+3]=B[w][m];o[k][g+3]=1
f((["  ,'',  ",".°____°."," :::::: ",",';:::'."," ,';:'. "],[''])[Z],s,n(3,50),n(10,13))
f((['  o  ° o °','°________°','/___°____\\'],[''])[Z],s,15,18)
for i in r(D):f(['   ___  ','  (   ) ','(___)__)'],s-3)
for i in r(N):f(('*',['-.-'])[t],s)
for w in r(23):
 for m in r(66):print(c[w][m],end='')
 print('')

उदाहरण मंगलवार 19 अगस्त 23:27 पर

यहाँ छवि विवरण दर्ज करें

बुधवार आधी रात के आसपास:

यहाँ छवि विवरण दर्ज करें


6

कोबरा - 994

बिना लड़कों के: 994

class P
    def main
        r,d=Random(),DateTime.now
        h,y,t,a=(d.hour+23)%24+1,d.day,d.month,d.dayOfWeek to int
        u,i,q=18-(h-1)%12,List<of String>[](20),1-(h+7)%24//13
        for p in 20
            i[p],s=['| |\n'],'__'
            for x in 60,i[p],s=[if(p-u,'[' _'[p//19]]','~')]+i[p],s+'_'
        for g in 6,for c in 9,i[u-g][(d.minute+c)%60]='[r'\_______/____|____ /__|__\   /#|#\     /|\       _    '[g*9+c]]'
        while x,if'~'==i[u][p-=p-r.next(60-y)]==i[u][p+y+1],i[u][p],i[u][p+y+1],x='-','-',0
        while g+c
            o,c,g=i,a,t+t*q*2
            for z in 99,if if(c,o[y-=y-r.next(u-2)][x-=x-r.next(52):x+8]+o[y+1][x:x+8]+o[y+2][x:x+8],o[y-=y-r.next(u)][x-=x-r.next(60-3+3*q):x+4-3*q]).join('').trim==''and g,for m in 3-(p-=p-if(c,0,1))*2,for n in 8-p*5,o[y+m][x+n-p*n*q],c,g=if(c,'['   ___   _(###) (___)__)'[m*8+n]]',['['-.-'[n]]','*'][q]),c-(m+n)//9,g-p*n//2
        print' _[s]_ \n|\\[s]/|'
        for l in o,for k in['| |']+l
            Console.foregroundColor=if(k<>'~'or h+a>1,7,9)to ConsoleColor
            Console.write(if(k=='#',' ',k))
        print'|/[s]\\|'

लड़कों के साथ: 1084

class P
    def main
        r,d=Random(),DateTime.now
        h,y,t,a=(d.hour+23)%24+1,d.day,d.month,d.dayOfWeek to int
        u,i,q=18-(h-1)%12,List<of String>[](20),1-(h+7)%24//13
        for p in 20
            i[p],s=['| |\n'],'__'
            for x in 60,i[p],s=[if(p-u,'[' _'[p//19]]','~')]+i[p],s+'_'
        for g in 6,for c in 9,i[u-g][(d.minute+c)%60]='[r'\_______/____|____ /__|__\   /#|#\     /|\       _    '[g*9+c]]'
        while x<>3,if''==(i[u][p-=p-r.next(58-y):p+3]+i[u][p+y+3:p+y+7]).join('').trim(c'~')
            i[u-1][p+1]=i[u-1][p+y+4]='|'
            for x in 3,i[u][p+x]=i[u][p+y+3+x]='['(_)'[x]]'
        while g+c
            o,c,g=i,a,t+t*q*2
            for z in 99,if if(c,o[y-=y-r.next(u-2)][x-=x-r.next(52):x+8]+o[y+1][x:x+8]+o[y+2][x:x+8],o[y-=y-r.next(u)][x-=x-r.next(60-3+3*q):x+4-3*q]).join('').trim==''and g,for m in 3-(p-=p-if(c,0,1))*2,for n in 8-p*5,o[y+m][x+n-p*n*q],c,g=if(c,'['   ___   _(###) (___)__)'[m*8+n]]',['['-.-'[n]]','*'][q]),c-(m+n)//9,g-p*n//2
        print' _[s]_ \n|\\[s]/|'
        for l in o,for k in['| |']+l
            Console.foregroundColor=if(k<>'~'or h+a>1,7,9)to ConsoleColor
            Console.write(if(k=='#',' ',k))
        print'|/[s]\\|'

प्रत्येक रविवार को दोपहर 1 बजे, टिल्ड समुद्र का अंतहीन विस्तार चमकदार नीली चमक के साथ जीवित हो जाता है। आशा है कि उजाड़ खोल-दुनिया के लोगों के लिए लौट आए।

यहाँ छवि विवरण दर्ज करें


5

C # 1124 1128bytes

सप्ताह में एक बार, एक घटिया ASCII पनडुब्बी को पानी के नीचे एक घंटे के लिए दिखाई देना चाहिए, और मेरे बाइट की संख्या को ध्यान से बढ़ाना चाहिए, उम्मीद है कि यह कोड वास्तव में अब काम करेगा । मुझे लगता है कि दिसंबर में 11:00 बजे शनिवार को क्या होता है ...

using System;class P{static string G(DateTime t){Func<int,int>K=new Random().Next;int i,j,D=t.Day,H=t.Hour,W=19-H%12,E=(int)t.DayOfWeek;var M=new char[60,19];Func<int,int,int,string,bool>T=(x,y,w,s)=>{for(i=0;i<s.Length;)if(M[(x+i%w)%60,y+i++/w]>0)return 0>1;for(;i-->0;)M[(x+i%w)%60,y+i/w]=s[i];return 1>0;};T(t.Minute,W-5,9,@"    _       /|\     / | \   /__|__\ ____|____\_______/");while(M[j=K(59-D),W]+M[j+D+1,W]>0){}M[j+D+1,W]=M[j,W]='-';for(j=60;j-->0;)T(j,W,1,"~");for(;++j<E;)while(!T(K(53),K(W-3),8,"   ___   _(   ) (___)__)")){}var N=H<6|H>=18;for(j=0;j++<t.Month*(N?3:1);)while(!T(K(60-(N?1:3)),K(W-1),3,N?"*":"-.-")){}if(H==18&E==4)T(K(59),W+2,17,@"    __            __/  \_________ (_______________)");var res=" ________________________________________________________________\n|\\ ____________________________________________________________ /|\n| |";for(j=0;j<19;j++){for(i=0;i<60;i++)res+=M[i,j];res+="| |\n| |";}return res+"____________________________________________________________| |\n|/______________________________________________________________\\|";}static void Main(){Console.Write(G(DateTime.Now));}}

कुछ स्वरूपित कोड (जो हर 15 सेकंड में फिर से ड्रा होता है क्योंकि मैं कल्पना को गलत तरीके से पढ़ता हूं):

using System;

class P
{
    static string G(DateTime t)
    {
        Func<int,int>K=new Random().Next;
        int i,j,D=t.Day,H=t.Hour,W=19-H%12,E=(int)t.DayOfWeek;
        var M=new char[60,19];

        Func<int,int,int,string,bool>T=(x,y,w,s)=>
        {
            for(i=0;i<s.Length;)
                if(M[(x+i%w)%60,y+i++/w]>0)
                    return 0>1;
            for(;i-->0;)
                M[(x+i%w)%60,y+i/w]=s[i];
            return 1>0;
        };

        T(t.Minute,W-5,9,@"    _       /|\     / | \   /__|__\ ____|____\_______/");

        while(M[j=K(59-D),W]+M[j+D+1,W]>0){}
        M[j+D+1,W]=M[j,W]='-';

        for(j=60;j-->0;)
            T(j,W,1,"~");

        for(;++j<E;)
            while(!T(K(53),K(W-3),8,"   ___   _(   ) (___)__)")){}

        var N=H<6|H>=18;
        for(j=0;j++<t.Month*(N?3:1);)
            while(!T(K(60-(N?1:3)),K(W-1),3,N?"*":"-.-")){}

        if(H==18&E==4)
            T(K(59),W+2,17,@"    __            __/  \_________ (_______________)");

        var res=@" ________________________________________________________________
|\ ____________________________________________________________ /|
| |";

        for(j=0;j<19;j++)
        {
            for(i=0;i<60;i++)
                res+=M[i,j];
            res+="| |\n| |";
        }

        return res+@"____________________________________________________________| |
|/______________________________________________________________\|";
    }

    static void Main()
    {
        for(;;)
        {
            Console.Clear();
            Console.Write(G(DateTime.Now));
            System.Threading.Thread.Sleep(15000);
        }
    }
}

उदाहरण आउटपुट (3:31, बुधवार, 13 अगस्त को पढ़ना चाहिए):

 ________________________________________________________________
|\ ____________________________________________________________ /|
| |                                                            | |
| |         *  *                                               | |
| |                         *                                  | |
| |      *                 *                                   | |
| |                     *                                      | |
| |            ___                        * *                  | |
| |          _(   )                                            | |
| |        *(___)__)      *                   *                | |
| |                                  *                         | |
| |           ___    *                                      *  | |
| |     *   _(   )  *                             ___    *     | |
| |      * (___)__)                   _         _(   )         | |
| |        *             *           /|\       (___)__)  *  *  | |
| |                                 / | \     *           *    | |
| |                                /__|__\                     | |
| |                               ____|____                    | |
| |~~-~~~~~~~~~~~~~-~~~~~~~~~~~~~~\_______/~~~~~~~~~~~~~~~~~~~~| |
| |                                                            | |
| |                                                            | |
| |____________________________________________________________| |
|/______________________________________________________________\|

3

लुआ - सितारों से अधिक

मेरा हो गया!

खैर, किया नहीं गया। मैं इस कोड और चुनौती के साथ कर रहा हूँ। यह गोल्फ नहीं है, यह महीने के संकेतक को याद कर रहा है। कोई परहेज नहीं है ... मैं इसे केवल इसलिए पोस्ट कर रहा हूं ताकि ऑफ चांस में कोई भी इस चैंलेज को पूरा न करे, कम से कम आपने कुछ देखा, अंदाजा लगा लिया।

--Halfed Assed Calender
math.randomseed(os.time())
math.randomseed(os.time())
math.randomseed(os.time())
local bh=os.date("%I")
local bm=os.date("%m")
local wdm=os.date("%d")
local cdw=os.date("%w")
local bsm=os.date("%M")
local hh=tonumber(os.date("%H"))
local function tp(t)
    for i=1,#t do
        for k= 1, #t[i] do
            io.write(t[i][k])
        end
        print()
    end
end

local function s2a(s)
    local ns = {}
    for i=1, table.getn(s) do
        local nns={}
        for k = 1, string.len(s[i]) do
            table.insert(nns, string.sub(s[i],k,k))
        end
        table.insert(ns,nns)
    end
    return ns
end



function ca(bg, a, x,y)
    ntb={} lbg=#bg la=#a lax=#a[1] lbgx=#bg[1]
    if lbgx-((lax+y)-1)<0 then
    elseif lbg-((la+x)-1)<0 then
    else
        for i=1,la do
            for j = 1, lax do
                if " "==a[i][j] then
                else
                    table.remove(bg[x+(i-1)],y+(j-1))
                    table.insert(bg[x+(i-1)],y+(j-1), a[i][j])
                end
            end
        end
    end
    return bg
end
f=s2a({" ________________________________________________________________ ","|\\ ____________________________________________________________ /|","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |                                                            | |","| |____________________________________________________________| |","|/______________________________________________________________\\|"})
boat=s2a({"    _    ","   /|\\     ","  / | \\   "," /__|__\\  ","____|____ ","\\_______/  "})
ccc=s2a({"   ___  "," _(   ) ","(___)__)"})
water=s2a({"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"})
tblock=s2a({"xxx","xxx","xxx"})
temp=ca(f,water,19-bh,4)
if hh<18 and hh>= 6 then
    n=bm sb = {{"-",".","-"}}
else
    n=3*bm sb={{"*"}}
end

for i = 1,n do
    r1=math.random(14 -bh)
    r2=math.random(59)
    temp=ca(temp,sb,r1+3,r2+3)
end
if cdw==0 then
else
    for i=1,cdw do
        r1=math.random(11-bh)
        r2=math.random(52)
        temp=ca(temp,ccc,r1+3,r2+3)
    end
end
temp=ca(temp,boat,14-bh, bsm)
tp(temp)

आप इसे यहां देख सकते हैं


|\ ____________________________________________________________ /|
| |                                                            | |
| |       -.-                                                  | |
| |                                                            | |
| |                                        ___                 | |
| |                                      _(   )                | |
| |                  -.-   -.-          (___)__)               | |
| |                                                            | |
| |                            -.-             _        ___    | |
| |          -.-                              /|\     _(   )   | |
| |              -.-                         / | \   (___)__)  | |
| |                                         /__|__\ -.-.-      | |
| |                                        ____|____           | |
| |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\_______/~~~~~~~~~~~| |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |                                                            | |
| |____________________________________________________________| |
|/______________________________________________________________\|

5
यहां एक उदाहरण आउटपुट जोड़ना भी अच्छा होगा (विशेषकर सप्ताह में एक बार के लिए)।
ट्राइकोप्लाक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.