এসিমেশন জাম্পিং জ্যাকস


28

এটি আমার প্রথম চ্যালেঞ্জ, সুতরাং আমি এটি মোটামুটি সহজ রাখছি।

আপনি যদি কখনও telnet towel.blinkenlights.nlনিজের কমান্ড লাইনে টাইপ করেন এবং এন্টার টিপেন তবে আপনি দৃ .়তার আনন্দ উপভোগ করতে পারবেন। Asciimation হয়, বেশ সহজভাবে, ascii আর্ট সঙ্গে একটি অ্যানিমেশন। আজ আমরা একজন ব্যক্তির জাম্পিং জ্যাকগুলি করার একটি খুব প্রাথমিক মূল্যায়ন করব doing

দুটি আসকি ছবি থাকবে যা আমরা একত্রে তৈরি করব ci 1 নম্বর:

_o_
 0
/ \

২ নম্বর:

\o/
_0_
<blank line>

মনে রাখবেন যে দ্বিতীয়টির শেষে একটি ফাঁকা রেখা রয়েছে।

সুতরাং আপনার প্রোগ্রামটি এই পদক্ষেপগুলি করা উচিত:

  1. কনসোল স্ক্রিন সাফ করুন।
  2. সঠিক ascii আর্ট চিত্র মুদ্রণ করুন।
  3. একটি পতাকা বা কিছু সেট করুন যাতে আপনি পরের বার অন্য চিত্রটি করতে জানেন।
  4. এক মুহূর্ত অপেক্ষা করুন (প্রায় এক সেকেন্ড)।
  5. 1 এ চালিয়ে যান।

বিধি

  • আপনার প্রোগ্রাম অবশ্যই একটি (তাত্ত্বিকভাবে) অসীম লুপ হতে হবে।
  • আপনি যে প্রোগ্রামিং ভাষাটি ব্যবহার করেন তা অবশ্যই এই চ্যালেঞ্জ পোস্ট হওয়ার আগে তৈরি করা হয়েছিল।
  • এটি , তাই বাইট জেতে সংক্ষিপ্ততম কোড।
  • স্ট্যান্ডার্ড লুফোলস প্রযোজ্য।

উপভোগ করুন!


<ফাঁকা লাইন> তে কিছু জায়গা থাকতে পারে?
জাকুব

1
এটি কি প্ল্যাটফর্মটি স্বতন্ত্র হতে হবে কারণ লিনাক্স ক্লিয়ার কমান্ড ( clear) উইন্ডোজ একের চেয়ে আলাদা ( cls)
বিটা ডেকে

1
ফাঁকা রেখাটি কি কেবল অবস্থান নির্ধারণের জন্য? যদি স্ক্রিনের শীর্ষ থেকে মুদ্রণ করা হয় যাতে ফাঁকা রেখা কোনও দৃশ্যমান তাত্পর্য না করে, এটি কি বাদ দেওয়া যেতে পারে?
ট্রাইকোপলাক্স

@ জাকুব হ্যাঁ ফাঁকা জায়গা থাকতে পারে।
বিটসনবাইটস

1
পছন্দ করুন ফাঁকা লাইনটি কেবল এটিই নির্দেশ করতে পারে যে মাথাটি একই অবস্থানে থাকতে হবে।
বিটসনাইটস

উত্তর:


29

সিজেম, 51 45 42 38 36 বাইট

"c\o/
_0_""^[c_o_
 0
/ \^["{_o\6e4m!}g

উপরের ক্যারেট স্বরলিপি ব্যবহার করে; ক্রমটি ^[আসলে কোড পয়েন্ট 27 সহ ASCII অক্ষর।

আমি @ ডমহাস্টিংসের উত্তর ( তার অনুমতি সহ ) থেকে 4 টি বাইট সংরক্ষণের জন্য পালানোর ক্রম ( ^[c) ধার নিয়েছি

প্রতিপাদন

আপনি ফাইলটি আবার তৈরি করতে পারেন:

base64 -d > jj.cjam <<< ImNcby8KXzBfIiIbY19vXwogMAovIFwbIntfb1w2ZTRtIX1n

কোডটি চালাতে, সিজেএম ইন্টারপ্রেটার ডাউনলোড করুন এবং এটি সম্পাদন করুন :

java -jar cjam-0.6.5.jar jj.cjam

এটি কনসোল_কোড বা একটি উপযুক্ত উপসেট সমর্থন করে এমন কোনও টার্মিনালে কাজ করবে । 1

কিভাবে এটা কাজ করে

e# Push both jumping jacks on the stack.

"c\o/
_0_"

"^[c_o_
 0
/ \^["

e# When chained together, they contain two occurrences of the string "\ec",
e# which resets the terminal. Encoding the ESC byte in the second string
e# eliminates the need two escape a backslash before the string terminator.

{         e# Do:
  _o      e#   Copy the jumping jack on top of the stack and print the copy.
  \       e#   Swap the order of the jumping jacks.
  6e4m!   e#   Calculate the factorial of 60,000 and discard the result.
          e#   This takes "about a second".
}g        e# Since the discarded factorial was non-zero, repeat the loop.

1 আপনি প্রোগ্রামটি চালানোর আগে টার্মিনালের কার্সারটি লুকিয়ে রাখলে জাম্পিং জ্যাকগুলি আরও ভাল দেখায়। কনসোলে, উদাহরণস্বরূপ, আপনি পটভূমির রঙের সাথে মিল রাখতে কার্সারের রঙ সেট করতে পারেন। টার্মিনালটি ^[cপুনরায় সেট করার পরে এটি আপনার টার্মিনালের সেটিংসের মাধ্যমে করতে হবে rese


36
+1 কেবল এর জন্য Calculate the factorial of 60,000 and discard the result. This takes "about a second".;)
ETH প্রোডাকশন

"সংজ্ঞাহীন অপারেশনের জন্য 2Fm*একটি ভাল ও-বাইট-সংক্ষিপ্ত বিকল্প হতে পারে যা 6e4m!সত্যবাদী মান দেয় এবং গণনা করতে প্রায় এক সেকেন্ড সময় নেয়"।
লিন

@ মরিস আমি এর সাথে কিছু মিলিয়ে চেষ্টা করেছি e!, তবে তারা স্মৃতিচারণ করতে পারে বলে মনে হয়। প্রথম পুনরাবৃত্তির পরে, দরিদ্র জ্যাক হার্ট অ্যাটাক পান ...
ডেনিস

10

পাইথ - 41 40 39 বাইট

.VZ"\x1b[H\x1b[J"@c"_o_
 0
/ \\\o/
_0_"Tb .p9

( \x1bএসও বিশেষ অক্ষরগুলি নষ্ট করার কারণে আমি একটি বাইট হিসাবে গণনা করছি )।

স্পষ্টতই অনলাইনে কাজ করে না কারণ এটি) ক) অসীম লুপ এবং খ) টার্মিনাল এস্কেপ কোডগুলি ব্যবহার করে।

#                Infinite loop
 "..."           Print escape sequences to clear screen
 @               Modular indexing
  c     T        Chop at index ten into the constituent frames
   "..."         Frames 1 & 2 concatenated (Pyth allows literal newlines in strings)
  ~              Post assign. This is an assign that returns the old value.
   h             Increment function. Putting it after an assign makes it augmented assign.
   Z             Variable auto-initialized to zero.
 .p9             Permutations(range(9), 9). Takes about a second on my machine.

আমি অবাক হয়ে জানতে পারি যে অগমেন্ট-অ্যাসাইন পোস্ট-অ্যাসাইনমেন্টের সাথে কাজ করেছে। পাইথ দুর্দান্ত।


.V0অসীম লুপ হিসাবে ব্যবহার করুন
জাকুব

আপনি এখন একটি বাইট সংরক্ষণ করতে সক্ষম হবেন যে ওপি নিশ্চিত করেছে যে ফাঁকা রেখাটি স্পষ্টভাবে প্রিন্ট করার দরকার নেই
ট্রাইকোপল্যাক্স

@ জাকুব যা কিছু সংরক্ষণ করছে বলে মনে হয় না।
মালটিসেন

আপনার ব্যাখ্যাটি আপনার কোডের সাথে মিলে যায় না: পি
বিটা ডেকে

9

কিউবাসিক, 58 বাইট

কিউবি 64- তে পরীক্ষিত ।

CLS
?"_o_"
?0
?"/ \"
SLEEP 1
CLS
?"\o/"
?"_0_"
SLEEP 1
RUN

সমস্যাটির জন্য সঠিক ভাষাটি বিস্ময়করভাবে প্রতিযোগিতামূলক হতে পারে, যদিও এটি সাধারণত ভার্বোজ হয়। এর ?শর্টকাট PRINTঅবশ্যই অবশ্যই সহায়তা করে। CLSহয় CL কান গুলি creen; RUNযুক্তি ছাড়াই প্রোগ্রামটি পুনরায় আরম্ভ করে, যা একটি অসীম লুপ পাওয়ার সংক্ষিপ্ততম উপায়।

এখানে কেবলমাত্র অন্য কৌশলটি 0প্রথম ছবিটির মধ্যভাগের জন্য মুদ্রণ করছে। কিউ বেসিক প্রিন্ট করার সময় অ-নেজিটিভ সংখ্যাসূচক মানগুলির (এবং পরে) সামনে একটি স্থান রাখে, ফলস্বরূপ 0 । 3 টি অক্ষর ওপরে সংরক্ষণ করা হয়েছে " 0"

আমি আরও উল্লেখ করতে পারি যে এই কোডে বিলম্বটি আক্ষরিক অর্থেই দ্বিতীয় , এবং মেশিন-নির্ভর নয়। ; ^ পি


2
আমার মনে আছে বেসিকের বিভিন্ন সংস্করণে নম্বর প্রিন্ট করার সময় পার্শ্ববর্তী জায়গাগুলি দ্বারা বিরক্ত হওয়া। এটির জন্য ভাল ব্যবহার রয়েছে তা দেখে ভাল
লাগলো

7

পার্ল (* নিক্স) , 54 বাইট

sleep print"\x1bc",$-++%2?'\o/
_0_
':'_o_
 0
/ \
'while 1

( \x1b1 বাইট হিসাবে গণ্য করা হয়েছে তবে সহজ পরীক্ষার জন্য পালিয়ে গেছে)) উপরেরটি বাশের সাথে পরীক্ষা করা হয়েছে এবং @ ডেনিসকে ধন্যবাদ দিয়ে অন্য একটি বাইট দ্বারা সংক্ষিপ্ত করে দেওয়া হয়েছে !

পার্ল (উইন্ডোজ) , 56 বাইট

sleep print"\x1b[2J",$-++%2?'\o/
_0_
':'_o_
 0
/ \
'while 1

@ জারেক্সকে তার পরীক্ষা এবং পরামর্শের জন্য ধন্যবাদ !


2
আতঙ্কিত যা উইন্ডোজে কাজ করে না, তবে আপনি আরও 1 বাইট আরও দূরে পেতে পারেন: print"@[2J"@ এএসসিআইআই 27 এর সাথে কোটের ভিতরে প্রতিস্থাপন (পরীক্ষার উদ্দেশ্যে, print"\033[2J"আরও সহজ হতে পারে)।
জারমেক্স 21 '21

আপনি \eএকটি আক্ষরিক ESC বাইট সঙ্গে প্রতিস্থাপন করতে পারেন । - আমি \ecআমার উত্তরে যদি কৌশলটি ব্যবহার করি তবে আপনি কি আপত্তি করবেন ?
ডেনিস

@ ডেনিস অবশ্যই, কারণ "\e"যাইহোক এটির জন্য কেবল একটি শর্টকাট। এগিয়ে যান দয়া করে!
ডম হেস্টিংস

6

জাভাস্ক্রিপ্ট (ES6), 109 93 79 70 বাইট + এইচটিএমএল, 12 10 বাইট = 120 106 91 80 বাইট

মোটামুটি সহজবোধ্য. চিত্রগুলি সঞ্চয় করতে টেমপ্লেট স্ট্রিং ব্যবহার করে এবং কোনটি ব্যবহার করবেন তা নির্ধারণের জন্য বুলিয়ান মান টগল করে।

দ্রষ্টব্য: এই সমাধানটি বৈধ হতে পারে না, কারণ এটি আসলে কনসোল ব্যবহার করে না। তবে আমি বিশ্বাস করি না যে জেএস ব্যবহার করে কোনও ব্রাউজার কনসোল সাফ করা সম্ভব, ফায়ারফক্স ব্যবহার করার সময় অন্তত নয়।

a=!1,setInterval(_=>O.innerHTML=(a=!a)?`_o_ 
 0
/ \\`:`\\o/ 
_0_`,1e3)
<pre id=O>


1
@orlp কোড অ্যানিমেটেড ম্যান তৈরি করে। (ক্রোম @ উইন্ডোজ)। এটি তবে কনসোল ভিত্তিক GUI ভিত্তিক। এ জাতীয় হিসাবে বৈধ হিসাবে বিবেচনা করা যেতে পারে না।
জাস্টিন

3
১. আমার কম্পিউটারে, এটি ফায়ারফক্সে দুর্দান্ত কাজ করে তবে ক্রোমে নয়, তাই আমার ধারণা যে বিভ্রান্তি এড়াতে আপনার এটিকে ECMAScript 6 হিসাবে লেবেল করা উচিত। ২. আপনি যদি <pre id="a"/>এইচটিএমএল অংশ রাখেন তবে কোডে আপনার <pre>ট্যাগ লাগবে না ।
ডেনিস

1
অথবা, এখনো ভালো, এইচটিএমএল পরিত্রাণ পেতে এবং প্রতিস্থাপন document.getElementById`a` সঙ্গে document.body
নিনজাবিয়ারমোনকি

1
আমি HTML করে 87 বাইট পেয়েছিলাম <pre>এবং করছেন document.all[4]। এটি আপনাকে মোড়কের স্ট্রিং থেকে মুক্তি এবং কেবল এটি তৈরি করতে দেয় innerHTML=a?`...`:`...`}
নিনজাবিয়ারমোনকি

1
এটি ক্রোমে আমার জন্য কাজ করা বন্ধ করে দিয়েছে
বিটা

5

বাশ, 86 84 বাইট

while sleep 1;do printf "\e[2J_o_\n 0\n/ \\";sleep 1;printf "\r\e[2J\o/\n_0_\n";done

3

পাইথন 2, 99 বাইট

উইন্ডোজ চলমান

import os,time
g=0
while 1:os.system("cls");print["\\o/\n_0_","_o_\n 0 \n/ \\"][g];time.sleep(1);g=~g

ইউনিক্স মেশিনের জন্য, দুটি বাইট যুক্ত করুন:

import os,time
g=0
while 1:os.system("clear");print["\\o/\n_0_","_o_\n 0 \n/ \\"][g];time.sleep(1);g=~g

3

awk - 95 92 86 84 83

END{
    for(;++j;)
        system("clear;printf '"(j%2?"_o_\n 0\n/ \\":"\\o/\n_0_")"';sleep 1")
}

খুব ভাল ওয়ার্কআউট: ডি এইটা সম্ভব কিনা তা ভেবে অবাক হলেন। লাভের জন্য কোনও দাম নেই যদিও ...;)

যদি কেউ এটি পরীক্ষা করতে চায়: আপনি প্রোগ্রামটি চালানোর পরে আপনাকে অবশ্যই শেষের ব্লকটি শুরু করতে Ctrl + D (ইনপুটটির শেষ) টিপতে হবে। এটি শেষ করতে আমাকে Ctrl + Z ব্যবহার করতে হবে।

আমার কাছে এটিও রয়েছে, যা মাত্র by৪ বাইট, তবে এটি শুরু হয় এক সেকেন্ড বিরতি দিয়ে যা আমার মনে হয় এমন আচরণ নয়

END{
    for(;1;print++j%2?"_o_\n 0\n/ \\":"\\o/\n_0_")
        system("sleep 1;clear")
}

1
ঘুম কি তিন সেকেন্ডের ব্যবধানকে পরিমাপ করে?
ট্রিকোপলাক্স

হে ভগবান. ইঙ্গিতটির জন্য ধন্যবাদ :) বা এটি কোনও ইঙ্গিত না হলে: না, এটি কেবল 0.33 সেকেন্ড ঘুমিয়েছিল।
ক্যাবি 407

আমি অজানা জানি না তবে মনে হয়েছিল এটি কয়েক সেকেন্ডের মধ্যে পরিমাপ করবে। :)
ট্রাইকোপল্যাক্স

1
এটি আরও বেশি মজাদার দেখায় যদি এটি দ্রুত গতিতে চলেছে, আমি সেখানে গল্ফিংয়ের কথা ভুলে গিয়েছিলাম; ডি
ক্যাব্বি 407

স্লিপ কমান্ড
অদ্ভুত

2

ব্যাচ - 82 বাইট

সম্পাদনা করুন: টাইমআউট কমান্ড নিঃশব্দ করা হয়েছে এবং অতিরিক্ত নতুনলাইন সরানো হয়েছে।

cls&echo _o_&echo  0&echo / \&timeout>nul 1&cls&echo \o/&echo _0_&timeout>nul 1&%0

আমি 2 টি অনুরূপ ব্যাচের উত্তর দেখেছি তাই আমি সত্যিই এটি পোস্ট করতে চাইনি, তবে এটি আমার প্রথম গল্ফ।


1
তবে একটি খালি timeout 1কনসোলে
প্রচুর অপ্রত্যাশিত

সত্য, আমার অতিরিক্ত আউটপুট ছিল। সম্পাদনা করা হয়েছে।
পিটার লেনকেফি

1
হতে >mulপারে এটি টাইপ ত্রুটি, বা সম্ভবত আপনি কি জানেন না nulen.wikipedia.org/wiki/Null_device
edc65

@ edc65 অনুলিপি-অনুলিপি এবং অনুলিপি পরীক্ষা না। ধন্যবাদ!
পিটার লেনকেফি

2

বিবিসি বেসিক, 75 বাইট

নোট করুন যে টোকেনাইজেশন এটিকে নীচে 75 বাইটে নামিয়েছে। সাদা স্থান আইডিই দ্বারা যুক্ত করা হয়।

      g=0
   10 IFg=0THENPRINT"\o/":PRINT"_0_"ELSEPRINT"_o_":PRINT" 0 ":PRINT"/ \"
      g=1-g:WAIT 100CLS:GOTO10

প্রোগ্রাম আকার দেখানো বৈশিষ্ট্য


2

জাভাস্ক্রিপ্ট ES6, 100 95 বাইট

(f=_=>{console.log(_?`_o_
 0
/ \\`:`\\o/
_0_`)
(b=setTimeout)(q=>(clear(),b(b=>f(!_))),1e3)})()

কনসোলে লগ হয়। সাফারি নাইটলি পরীক্ষিত


2

ব্যাচ, 151 130 118 বাইট

cls
@echo _o_
@echo  0
@echo / \
@PING -n 2 127.0.0.1>NUL
cls
@echo \o/
@echo _0_
@PING -n 2 127.0.0.1>NUL
%0

আপনি এখন কয়েকটি বাইট সংরক্ষণ করতে সক্ষম হবেন যে ওপি নিশ্চিত করেছে যে ফাঁকা লাইনটি স্পষ্টভাবে প্রিন্ট করার দরকার নেই
ট্রিকোপল্যাক্স

@PING 127.0.0.1 -n 2>NULপরিবর্তে ব্যবহার করে আপনার 12 টি চরিত্রের গল্ফ বন্ধ হওয়া উচিত । চেষ্টার মধ্যে একটি সেকেন্ডের জন্য অপেক্ষা করতে পিং ডিফল্ট, সুতরাং এটি সঠিক হওয়ার কয়েক মিলিসেকেন্ডের মধ্যে, এই চ্যালেঞ্জের জন্য যথেষ্ট পরিমাণে কাছাকাছি। তথ্যসূত্র
অ্যাডমবর্কবার্ক

গল্ফড 12 টি বাইট অফ টিমমিডকে ধন্যবাদ
সর্বোচ্চ

2

সিবিএম 64 বেসিক ভি 2, 121 119 112 117 বাইট

2?CHR$(147)+"\o/":?" 0":?"/ \"
3GOSUB7
4?CHR$(147)+"_o_":?"_0_"
5GOSUB7
6RUN
7A=TI
8IFTI-A<60THENGOTO8
9RETURN

না ?CHR$(147)পর্দা পরিষ্কার? যদি তাই হয় তবে আপনি এখন 2 বাইট সংরক্ষণ করতে সক্ষম হবেন যে ওপি নিশ্চিত করেছে যে ফাঁকা লাইনটি স্পষ্টভাবে প্রিন্ট করার দরকার নেই
ট্রাইকোপল্যাক্স

এটি প্রথম অ্যানিমেশন ফ্রেম তৈরি করে না (অর্থাত্ অস্ত্রগুলি যেখানে স্তর রয়েছে)।
সাইকোনট

তুমি ঠিক আছো ... আমি এটা ঠিক করতে যাচ্ছি!
সর্বোচ্চ

1

জুলিয়া, 70 বাইট

( উইন্ডোজে , এর clearসাথে প্রতিস্থাপন করে cls, আন্ডারগ্রাউন্ডোমোনরাইলকে ধন্যবাদ)

n(i=1)=(sleep(1);run(`cls`);print(i>0?"_o_
 0
/ \\":"\\o/
_0_");n(-i))

লিনাক্সে, 72 বাইট

n(i=1)=(sleep(1);run(`clear`);print(i>0?"_o_
 0
/ \\":"\\o/
_0_");n(-i))

এটি \nএকটি বাইট সংরক্ষণ করার চেয়ে প্রকৃত নিউলাইনগুলি ব্যবহার করে ; অন্যথায়, এটি iপতাকা হিসাবে 1 বা -1 হয় এবং এটি অসীম লুপটি অর্জন করতে পুনরাবৃত্তি ব্যবহার করে। একে একে n(1)বা ন্যায়সঙ্গত হিসাবে কল করুন n()

এছাড়াও, run(`clear`)/ run(`cls`)উইন্ডোটি সাফ করতে শেল কমান্ড ব্যবহার করে, কারণ জুলিয়ার একটি বিল্ট-ইন উইন্ডো-ক্লিয়ার কমান্ড নেই।


আপনি যদি উইন্ডোতে এটি চালান তবে আপনি দুটি বাইট সংরক্ষণ করে পরিবর্তন clearকরে cls(আমি ধরে নিচ্ছি, জুলিয়া সম্পর্কে আমি কিছুই জানি না)।
আন্ডারগ্রাউন্ডোমোনাইল

@underlandmonorail - ধন্যবাদ, তবে আমি উবুন্টু ব্যবহার করি, ক্লাস কাজ করে না। আশা করি জুলিয়া একটি আসল টার্মিনাল-ক্লিয়ারিং ফাংশন বাস্তবায়নের সিদ্ধান্ত নিয়েছে।
গ্লেন ও

উইন্ডোতে উইন্ডোতে clsকাজ করা (আমার উত্তর দেখুন)
বিটা

1

উইন্ডোজ ব্যাচ, 83 89

ওপি দ্বারা স্পষ্ট করার পরে সম্পাদনা খালি লাইনটি সরিয়ে ফেলল

@cls&echo _o_&echo  0&echo./ \&timeout>nul 1&cls&echo \o/&echo _0_&timeout>nul 1&%0

যদি আপনি জাম্পিং ম্যানের খালি লাইনটি থেকে মুক্তি পান (তবে এটি কোনওভাবে দেখা যায় না), স্কোরটি 83

দ্রষ্টব্য: timeoutউইন্ডোজ এক্সপিতে উপস্থিত নেই। এটি ভিস্তা বা আরও নতুন সংস্করণে কাজ করে। তদুপরি timeoutদ্বিতীয়টির সাথে সুনির্দিষ্ট নয়, সুতরাং এটি ধাপ 4 বাস্তবায়নের জন্য উপযুক্ত পছন্দ (এক মুহুর্তের জন্য অপেক্ষা করুন ( প্রায় এক সেকেন্ড ))


1

জাভাস্ক্রিপ্ট (ES6), 82 বাইট

আমার পূর্ববর্তী উত্তরের একটি পরিবর্তন যা কনসোল ব্যবহার করে। ফায়ারফক্সে আংশিকভাবে কাজ করে, তবে কেবল ক্রোম, এএফআইএকে কনসোল সাফ করে।

a=!0,c=console,setInterval(_=>c.log(c.clear(a=!a)|a?`_o_
 0
/ \\`:`\\o/
_0_`),1e3)

সর্বদা হিসাবে, পরামর্শ স্বাগত!


এটা ভালবাসা! আমি এর মাধ্যমে লক্ষ্য করছি যে ক্রোম এখন আমার জন্যও ES6 চালাচ্ছে!
ডোম হেস্টিংস

@ ডোমহাস্টিংস আমি আগে কখনও ক্রোমে ডেভলপ করি নি, তবে শুনেছি এটি ডিফল্টরূপে ES6 সমর্থন করে না, তাই আমি আপনার মতোই অবাক হয়েছিলাম! :)
ETH প্রোডাকশনগুলি

1

জাভাস্ক্রিপ্ট, 92 91 89 বাইট

x=0;setInterval(function(){console.log("\033c"+["_o_\n 0\n/ \\","\\o/\n_0_"][x^=1])},1e3)
  • কোনও ES6 বৈশিষ্ট্য নেই (তবে তাদের সাথে উল্লেখযোগ্যভাবে খাটো হবে)
  • লিনাক্সে নোড.জেএস নিয়ে কাজ করে (অন্যান্য পরিবেশ সম্পর্কে জানেন না)
  • ক্রোমের কনসোলে আংশিকভাবে কাজ করে ( cআউটপুট ভেঙে কনসোল সাফ করার পরিবর্তে প্রদর্শিত হয়)

"\033c"+উপরের কোড থেকে সরানো , নিম্নলিখিত ব্রাউজারে কাজ করে, তবে কনসোল সাফ করে না।

x=0;setInterval(function(){console.log(["_o_\n 0\n/ \\","\\o/\n_0_"][x^=1])},1e3)


চিত্তাকর্ষক কাজ! ES6 বৈশিষ্ট্যগুলি ব্যবহার করে, আমি 77 পেয়েছি: x=0;setInterval(_=>console.log("\033c"+[`_o_<line break> 0<line break>/ \\`,`\\o/<line break>_0_`][x^=1]),1e3)কোনও কারণে, জেএস আমাকে console.logফাংশন হিসাবে এবং এএসসিআইআই লোককে অতিরিক্ত পরম হিসাবে পাস করতে দেবে না ।
ETH প্রোডাকশনস

@ ইথ প্রডাকশন ধন্যবাদ! আমি এটি ES6 এ করার বিষয়ে ভেবেছিলাম, তবে এটি কখনও ব্যবহার না করে এবং io.js ইনস্টল না করার সিদ্ধান্ত নিয়েছি। যতদূর না পাস করতে সক্ষম হচ্ছে হিসাবে console.logথেকে setInterval, কারণ আমরা ফাংশন ক্ষণস্থায়ী করছি না, কিন্তু এটা কল করছে। setIntervalডাকা হওয়ার আগে এটি মূল্যায়ন করা হবে , এবং যেহেতু console.logফিরে আসে না, এটি মূলত পাস undefinedহবে setInterval। ধারণা তৈরী কর? এবং এটি সংক্ষিপ্ত করার জন্য ধন্যবাদ!
নাটোয়ামি

আপনি যা বলছেন তা আমি বুঝতে পেরেছি তবে এই পৃষ্ঠা অনুসারে এই কোডটি কাজ করা উচিত: x=0;setInterval(console.log,1e3,"\033c"+[_o_ <লাইন ব্রেক> 0 <লাইন ব্রেক> / \ `, \\o/<line break>_0_] [x ^ = 1])` আসলে, এটি আনেনি আমি console.logসঙ্গে প্রতিস্থাপন করা হলে একটি ত্রুটি আপ alert
ETH প্রোডাকশনস

আহ, আমি যা বলছি তা পেয়েছি। আমি মনে করি যদিও সমস্যাটি হ'ল আমাদের প্রতিবারই আলাদা কিছু লগ করা দরকার, তবে "\033c"+[`_o_<line break> 0<line break>/ `,\\o/<line break>_0_`][x^=1]কল করার আগেই মূল্যায়ন হয়ে যায় setInterval
নাটোয়ামি


0

চতুর্থ, 86 বাইট

পালানো স্ট্রিংগুলির জন্য জিএনইউ ফরথের প্রয়োজন। একটি নন-জিএনইউ ফোর্থে চালানোর জন্য, কেবলমাত্র এতে পরিবর্তন S\"করুন S"এবং পালানো অক্ষরগুলি সঠিকভাবে মুদ্রণ করবে না।

: P PAGE TYPE CR 999 MS ;
: R BEGIN S\" \\o/\n_0_" P S\" _o_\n 0 \n/ \\" P 0 UNTIL ; R


0

সিবিএম বেসিক ভি 2.0 (68 টি অক্ষর)

0?"S_o_q||0q||N M":goS1:?"SMoN":?"_0_":goS1:gO
1wA161,255,pE(161):reT

উপরেরটির কিছু ব্যাখ্যা প্রয়োজন, যেহেতু স্ট্যাক এক্সচেঞ্জের মার্কআপটি সঠিকভাবে PETSCII অক্ষরকে উপস্থাপন করে না:

  • প্রোগ্রামটি এখানে ছোট হাতের অক্ষরে সুবিধার জন্য দেখানো হয়েছে তবে কমোডোর 64৪ এ বড় হাতের অক্ষরে প্রবেশ করে চালানো যেতে পারে এবং করা উচিত।
  • প্রথম এবং তৃতীয় "এস" অক্ষরগুলি আসলে বিপরীত ভিডিওতে রয়েছে এবং CLRকী ( SHIFT+ HOME) টিপে উত্পাদিত হয় ।
  • "কিউ" অক্ষরগুলি আসলে বিপরীত ভিডিওতে থাকে এবং ডাউন কার্সার ( CRSR ⇓) টিপে উত্পাদিত হয় ।
  • "|" অক্ষরগুলি আসলে বিপরীত ভিডিওতে থাকে এবং বাম কার্সার ( SHIFT+ CRSR ⇒) টিপে উত্পাদিত হয় ।

0

মোম ,119 113 বাইট

ph0`J2[`}ghq'-<gh0N}`0`}gN`/o\`Ngh0`J`<
>g}`o`}N` `0>'d`0 `N`/ \`0hg>-'phg}`[2`b
dF1f+5~Zzf(.FP9f..F3_#     d   <

প্রোগ্রামের গুরুত্বপূর্ণ অংশগুলির ব্যাখ্যা:

left to right  right to left

3FBf   or       fBF3          27       ASCII code for (esc)
3             [x,x,3]•        set lstack 1st to 3
 F            [3,3,3]•        set lstack to 1st
  B           [3,3,27]•       1st=1st^2nd
   f                          push lstack 1st on gstack
——————
9PF.(f   or    f(.FP9         102400   counter to roughly match a wait time
                                       of 1 s on my i5 2410M Laptop
9             [x,x,9]•        set lstack 1st to 9
 P            [x,x,10]•       increment 1st
  F           [10,10,10]•     set lstack to 1st
   .          [10,10,100]•    1st=1st*2nd
    (         [10,10,102400]• 1st=1st<<2nd (100<<10=102400, arithmetic shift left)
     f                        push lstack 1st on gstack
——————
zZ~5+f   or    f+5~Zz         95       ASCII for '_'
z             [0,0,0]•        initialize lstack to zero
 Z            [0,0,90]•       get value from relative coordinate (0,0),
                              which is the location of `Z` itself, ASCII(Z)=90
  ~           [0,90,0]•       flip 1st and 2nd lstack values
   5          [0,90,5]•       set lstack 1st to 5 
    +         [0,90,95]•      1st = 1st+2nd
     f                        push lstack 1st on gstack

fএর পরে ব্যবহার করার জন্য gstack (গ্লোবাল স্ট্যাক) এ মান ধাক্কা। এই মানগুলি 0gh(বা মিরর করা hg0) এবং hg( gh) নির্দেশাবলী দ্বারা অ্যাক্সেস করা হয় । hগস্ট্যাকটিকে উপরের দিকে ঘোরায়, গস্টাকের gশীর্ষ মানটি পড়ে এবং মৌমাছির (নির্দেশ নির্দেশক) লাস্টাক (স্থানীয় স্ট্যাক) এর উপরে চাপ দেয়।

}`o`}N` 0 `N`/ \`                      sequence to print the standing man

N`\o/`Ng}`0`}N                         sequence to print the jumping man

}`[2J`                        equivalent to the ANSI escape sequence (esc)[2J
                              to clear the screen
>-'p  or >-'q  or >  p        loop for counting down (wait 1 s)
d  <      b  <    d'-<

গভীরতার ব্যাখ্যা পরে প্রয়োজন, যদি প্রয়োজন হয়। অ্যানিমেশন সহ।


0

ডেডফিশ , অ-প্রতিযোগিতা (658 বাইট)

iiisisdddddoiiiiiiiiiiiiiiiioddddddddddddddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddsddddoiiiiiiiiiiiiiiiioddddddddddddddddoddddddddddddddddddddddodddsddodddddddddddddddoddddddddddddddddddddddsddddddddoddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoosddddddddoiiiiiiiiiiiiiiiiiiioddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddddddddddddddddosdddddodddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddddddddddddddddsdddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoo

এটি একটি প্রতিদ্বন্দ্বিতামূলক সমাধান , কারণ এটি চ্যালেঞ্জের প্রয়োজনীয়তাগুলি পুরোপুরি পূরণ করে না। ডেডফিশ একটি খুব অদ্ভুত ব্যাখ্যা করা ল্যানুগেজ, যার কেবল 4 টি কমান্ড এবং একটি সঞ্চালক রয়েছে। সঞ্চালকটি একটি একক বাইট পরিবর্তনশীল 0 এ আরম্ভ করা হয় 4 টি কমান্ডটি হ'ল:

  • i = সঞ্চালক বৃদ্ধি a = a + 1
  • d = সঞ্চয়কারী হ্রাস a = a - 1
  • s = সংগ্রহকারীকে স্কোয়ার করুন a = a * a
  • o = সংগ্রহকারী আউটপুট print(a)

যেহেতু ভাষার পুনরাবৃত্তি, পর্দা সাফ করা বা বিলম্ব অন্তর্ভুক্ত নয়, এটি প্রয়োজনীয়তা পূরণ করে না। প্রত্যাশিত আউটপুট:

_o_
 0 
/ \
(Blank line, not from the program)
\o/
_0_
(Blank line, not from the program)
(Blank line, not from the program)

কোড ব্যাখ্যা:

_  iiisisdddddo
o  iiiiiiiiiiiiiiiio
_  ddddddddddddddddo
\n dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddo
   ddddsddddo
0  iiiiiiiiiiiiiiiio
   ddddddddddddddddo
\n ddddddddddddddddddddddo
/  dddsddo
   dddddddddddddddo
\  ddddddddddddddddddddddsddddddddo
\n ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddo
\n o
\  sddddddddo
o  iiiiiiiiiiiiiiiiiiio
/  ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddo
\n dddddddddddddddddddddddddddddddddddddo
_  sdddddo
0  dddddddddddddddddddddddddddddddddddddddddddddddo
_  ddddddddddddddddddddddddddddddddddddddsdddddo
\n dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddo
\n o

পাইথন 3-এ ডেডফিশ ব্যাখ্যামূলক:

c=input()
o=""
a=0
for p in range(0,len(c)):
    i=c[p]
    if i=="i":
        a += 1
    if i=="d":
        a+=-1
    if i=="s":
        a=a*a
    if i=="o":
        o+=chr(a)
print(o)

0

নুডেল , 24 বাইট বিহীন

চ্যালেঞ্জ তৈরি হওয়ার পরে নুডেলের জন্ম হয়েছিল বলে নন-কেপটেটিং :)

”ṛ|ọBCḊCBCḣ“\o/¶_0_ḷėçḍs

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

কিভাবে এটা কাজ করে

”ṛ|ọBCḊCBCḣ              # Creates a string that gets decompressed into "_o_¶¤0¤¶/¤\" and places it into the pipe.
           “\o/¶_0_      # Creates a string and places it into the pipe.
                   ḷ     # Unconditionally loop the code up to a new line or end of program.
                    ė    # Takes what is in the front of the pipe and puts it into the back.
                     ç   # Clears the screen and prints.
                      ḍs # Delays for one second.

নুডেলের কোনও সংস্করণ বর্তমানে নেই যা এই চ্যালেঞ্জটিতে ব্যবহৃত সিনট্যাক্সকে সমর্থন করে। এখানে এমন একটি সংস্করণ দেওয়া আছে:

24 বাইট

\o/¶_0_ _o_¶¤0¤¶/¤\ḷçėḍs

<div id="noodel" code="\o/¶_0_ _o_¶¤0¤¶/¤\ḷçėḍs" input="" cols="5" rows="5"></div>

<script src="https://tkellehe.github.io/noodel/noodel-latest.js"></script>
<script src="https://tkellehe.github.io/noodel/ppcg.min.js"></script>

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