অন্য জীবনে দেখা হবে, ব্রোথা!


12

আমাদের মধ্যে বেশিরভাগ ভক্তরা কম্পিউটারটি স্মরণ করেন যে ডেসমন্ড প্রতি 108 মিনিটে "4 8 15 16 23 42" অক্ষর টাইপ করতে হবে বা পৃথিবীটি শেষ হবে (বা এটি হবে?)।

এখানে চ্যালেঞ্জটি হ'ল এমন একটি প্রোগ্রাম তৈরি করা যা প্রতি 108 সেকেন্ডে ইনপুট 4 8 15 16 23 42প্রবেশ করানো হয় বা বার্তাটি প্রদর্শিত করবে এমনটি করে একই কাজ করবে

Sorry, the world has ended with status code -1

এটি ব্যবহারকারীকে 100 সেকেন্ডে সতর্ক করতে হবে যে তাদের বার্তা সহ একটি নম্বর প্রবেশ করা দরকার

Enter, Quick!

প্রোগ্রামটি অবশ্যই যে কোনও সময় ইনপুট পড়তে সক্ষম হবে এবং যদি এটি সঠিক ইনপুট হয় তবে এটি টাইমারটি পুনরায় সেট করবে। যদি ভুল ইনপুট দেওয়া হয় তবে কিছুই হয় না।

প্রোগ্রামটি অনির্দিষ্টকালের জন্য চলতে হবে। সুতরাং শেষ বৈধ ইনপুটটির পরে টাইমলাইনটি দেখে মনে হচ্ছে

কোন আউটপুট: 0 99 সেকেন্ড থেকে
100 সেকেন্ডের করুন: Enter, Quick!
108 সেকেন্ড করুন: Sorry, the world has ended with status code -1

এটি কোড গল্ফ তাই সংক্ষিপ্ত উত্তর (বাইটে) যা এই কার্যটি সম্পাদন করে! শুভকামনা!


আমি প্রশ্নটি কিছুটা সম্পাদনা করেছি। আপনি চান না এমন কোনও পরিবর্তন রোলব্যাক করুন
মার্টিন এন্ডার

2
সঠিক হায়ারোগ্লিফিক্স আউটপুট দেওয়ার জন্য বোনাস পয়েন্ট থাকতে হবে।
কৌতূহলনদী

চ্যালেঞ্জটি পুনরায় পড়ার পরে, আমি নিশ্চিত নই যে আমি এর সঠিক ব্যাখ্যা করেছি inter "দুনিয়া শেষ হয়ে" যাওয়ার পরে কী হবে?
ডেনিস

1
একটি হতাশাবাক হিসাবে, আমি এটি উল্লেখ করতে বাধ্য যে আমি ডেসমন্ডকে টাইমারটি ফুরিয়ে যাওয়ার আগে 4 মিনিট (240 সেকেন্ড) নাম্বার প্রবেশের বিষয়ে সতর্ক করা হবে।
জেমস

উত্তর:


10

বাশ, 160 বাইট

I()($s 100&&echo Enter, Quick!&$s 108&&echo Sorry, the world has ended with status code -1&)
i()(read r;[[ $r = '4 8 15 16 23 42' ]]&&pkill $s&&I;i)
s=sleep;I;i

"পৃথিবী শেষ হয়েছে" এর পরে প্রত্যাশিত আচরণটি কী তা আমি বর্তমানে অনিশ্চিত।

এভাবে চালান:

bash lost.sh 2>&-

2>&-ডিফল্টরূপে অনুমোদিত এসটিডিআরআর উপেক্ষা করা দরকার ।


2

আধুনিক ব্রাউজার জাভাস্ক্রিপ্ট, 252 247 242 বাইট

n=t=>Date.now()+(t?0:1e5)
d=n(i=f=0)
onkeyup=e=>{if("4 8 15 16 23 42".charCodeAt(i%15)==e.keyCode&&++i%15<1)d=n(f=0)}
setInterval('if(n(1)>d&&f<2)d=n(1)+8e3,console.log(f++?"Sorry, the world has ended with status code -1":"Enter, Quick!")',9)

নির্দেশাবলী: একটি ফাঁকা ট্যাবের কনসোলে এটি চালান, ফোকাস পেতে এবং বারবার স্ট্রিং টাইপ করা শুরু করতে তার দস্তাবেজে ক্লিক করুন। যতক্ষণ আপনি ভাল করছেন, আপনি কোনও প্রতিক্রিয়া পাবেন না। রিফ্রেশ করুন এবং জিনিসগুলিকে আরও আকর্ষণীয় করতে 1e5 থেকে 1e4 এ পরিবর্তন করুন।


1

গ্রোভি, 244 বা 228 বাইট

আমি জাভাকে ভুল করে মনে করেছি জাভাটির পরবর্তী লাইনের পদ্ধতিটি ছিল যা কতক্ষণ অপেক্ষা করতে হবে তার একটি যুক্তি নিয়েছিল, তাই আমি ভেবেছিলাম এটি সহজ হবে। এটি করার মতো কোনও পদ্ধতি আমি খুঁজে পেলাম না, তাই আমি এটি দুটি থ্রেড দিয়ে প্রয়োগ করেছি। এটি কিছুটা ভারী। আচ্ছা ভালো.

t=Thread.start{while(1)try{Thread.sleep(1e5);println "Enter, Quick!";Thread.sleep(8e3);println "Sorry, the world has ended with status code -1";System.exit(-1)}catch(e){}};while(1)if(System.console().readLine()=="4 8 15 16 23 42")t.interrupt()

এটি ধরে নিয়েছে যে বিশ্বের সমাপ্তির যথাযথ আচরণটি -1 এর স্থিতি কোড সহ প্রক্রিয়াটি প্রস্থান করার জন্য for যদি উদ্দেশ্যযুক্ত আচরণটি লুপিং রাখা এবং কোনও বাহ্যিক শক্তি পৃথিবী শেষ করার প্রত্যাশা করে (এবং এক্সটেনশন দ্বারা, প্রোগ্রাম), ;System.exit(-1)অংশটি বাদ দেওয়া যায় 16 বাইট সংরক্ষণ করতে। হ্যাঁ.

আমি মূলত এটি লিখেছিলেন স্ট্রিং এর হ্যাশকোড ব্যবহার করতে, কিন্তু যে ক্ষত আপ আর একটি সঠিক তুলনা স্ট্রিং এম্বেডিং চেয়ে কারণ hashCodeহল দীর্ঘ।


1

এপিএল (ডায়ালগ ইউনিকোড) , 144 বাইট এসবিসিএস

দেখা যাচ্ছে যে, উভয় পক্ষই এপিএল চালাচ্ছে…

:For t:In 100 8
:For s:Int
→{1E3::⍬⋄⍳⍞≡⍕4 8 15 16 23 42}⎕RTL1
:End
'Enter, Quick!' 'Sorry, the world has ended with status code -1'⌽⍨t=8
:End

এটি অনলাইন চেষ্টা করুন!

:For t:in 100 8 দু'বার লুপ, একবার t(টিমপুট) সত্তার সাথে 100এবং তারপরে tযেমন 8:

:For s:In⍳t জন্য s(econds) 1মাধ্যমে এবং সব ɩ ndices পর্যন্তt

  ⎕RTL←1 সেট আর esponse টি IME এল 1 imit (দ্বিতীয়)

  {} এটিতে নিম্নলিখিত বেনামে ল্যাম্বডা প্রয়োগ করুন (যদিও এই যুক্তিটি অব্যবহৃত)

   1E3:: নিম্নলিখিতটিতে, যদি কোনও ব্যতিক্রম ঘটে:

     প্রত্যাবর্তন []

    চেষ্টা করে দেখুন:

    ⍕4 8 15 16 23 42 প্রয়োজনীয় সংখ্যাগুলিকে শক্তিশালী করুন

    ⍞≡ ইনপুট জিজ্ঞাসা করুন এবং এর সাথে তুলনা করুন (0 বা 1 দেয়)

     প্রথমটি many n টি ( []বা [1] `)`

   সেই লাইনে যান (1 যদি [1], পরবর্তী লাইনে চালিয়ে যান তবে [])

:End অভ্যন্তরীণ লুপের শেষ; বর্তমান সময়সীমা পরবর্তী দ্বিতীয় সাথে এগিয়ে যান

t=3 এটি কি দ্বিতীয় সময়সীমা (0 বা 1)?

 … ⌽⍨ নিম্নলিখিত কয়েকটি পদক্ষেপটি ঘোরান:

  'Enter, Quick!' 'Sorry, the world has ended with status code -1' সুস্পষ্টভাবে উপযুক্ত পাঠ্য মুদ্রণ করুন

 প্রকাশ (শীর্ষস্থানীয় এবং পিছনে স্থান ছাড়াই মুদ্রণ করতে)

:End বাইরের লুপের শেষ: সতর্কতার পরে, লুপ; "দুঃখিত…" মুদ্রণের পরে, প্রোগ্রামটি শেষ করতে এগিয়ে যান


0

সি ++ (জিসিসি) , 395 বাইট

লিনাক্সে সংকলনের জন্য -pthreadসুইচ দরকার । MinGW ছাড়া করে।

#import<iostream>
#import<thread>
using namespace std;auto N=chrono::steady_clock::now;auto L=N();int w;int main(){thread A([]{for(;;){auto t=chrono::duration_cast<chrono::seconds>(N()-L).count();t>99&&!w?puts("Enter, Quick!"),w=1:t>107?exit(puts("Sorry, the world has ended with status code -1")),0:0;}}),B([]{for(string s;;s=="4 8 15 16 23 42"?L=N(),w=0:0)getline(cin,s);});A.join();B.join();}

এটি অনলাইন চেষ্টা করুন!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.