আমাকে কিছু আতশবাজি দেখান!


16

প্রদত্ত, যে কোনও উপায়ে এবং অর্ডার,

  • মাত্রা (আপনি যে কোনও আদেশে চান)

  • একটি সম্ভাবনা (যাই হোক না কেন বিন্যাসে আপনি চান)

  • পুনরাবৃত্তির সংখ্যা (আপনি প্রাথমিক অবস্থায় গণনা করবেন কিনা তা চয়ন করতে পারেন)

কি এক নিচের:

  • প্রাণবন্ত, বা

  • বা প্রতিটি পদক্ষেপ আউটপুট

  • রাজ্যের একটি তালিকা ফেরত

এই মাত্রার একটি শূন্যস্থান পূর্ণ আকাশ।

প্রতিটি পুনরাবৃত্তির জন্য:

  • প্রতিটি আকাশের চরিত্রের একটি হওয়ার সম্ভাব্যতা রয়েছে *

  • আটটি চরিত্র যে কোনও চারপাশে *পরিণত হয়
    \ | /
    -      -
    / | \, তারা তারা না হয়ে তবে,

  • যদি একটি অক্ষর দুটি *স এর মধ্যে থাকে তবে এটিকে একটি করুনX

উদাহরণ

7 × 22 আকাশ (কেবল স্বচ্ছতার জন্য ফ্রেম - ফ্রেম আউটপুট করবেন না)

┌──────────────────────┐
│                      │
│                      │
│                      │
│                      │
│                      │
│                      │
│                      │
└──────────────────────┘

1% সম্ভাবনা হয়ে যেতে পারে

┌──────────────────────┐
│  *                   │
│                      │
│                      │
│                      │
│                      │
│           *          │
│                      │
└──────────────────────┘

এবং পরবর্তী পদক্ষেপ

┌──────────────────────┐
│ - - *                │
│ /|\                  │
│          *           │
│                      │
│          \|/         │
│          - -         │
│          /|\         │
└──────────────────────┘

এবং তারপর

┌──────────────────────┐
│    - -               │
│    /|\  \|/          │
│         - -          │
│         /|\          │
│                      │
│      * *             │
│                      │
└──────────────────────┘

এবং

┌──────────────────────┐
│                      │
│                      │
│                      │
│                      │
│     \|X|/            │
│     - X -            │
│     /|X|\          * │
└──────────────────────┘

ইত্যাদি

┌──────────────────────┐
│                      │
│                      │
│                      │
│                   *  │
│                      │
│                   \|/│
│                   - -│
└──────────────────────┘

5
এটি দেখার কেউ যদি ইউএসএ সংস্কৃতি সম্পর্কে মোটেই পরিচিত না হন তবে তারা 4 জুলাই কেন আপনি আতশবাজি চালাচ্ছেন তা নিয়ে তারা বিভ্রান্ত হতে পারে।
Okx

@ অক্স যারা অবশ্যই বিরোধিতা করে তাদের ধ্বংস করতে!
ম্যাজিক অক্টোপাস উরন 21

উত্তর:


5

ES6, 520 496 বাইট

ক্লিপিং এবং অন্যান্য সমস্ত কিছু এখনই কাজ করা উচিত।

(w,h,p,i,r=0,s=($=>{while(++r<i)for(j=0,_=$[r]=[],z=$[r-1]||[];j<w*h;){k=j+1,l='*',c=0
n=(j%w&&z[j-1]==l&&++c)|(k%w&&z[k]==l&&++c)?'-':' '
n=(z[j-w]==l&&++c)|(z[j+w]==l&&++c)?'|':n
n=(j%w&&z[j-w-1]==l&&++c)|(k%w&&z[k+w]==l&&++c)?'\\':n
n=(k%w&&z[k-w]==l&&++c)|(j%w&&z[j+w-1]==l&&++c)?'/':n
_[j++]=Math.random()<p?l:c>1?'X':n}})(x=[])||x)=>{c=document.body.children[0],r=0;while(++r<i)setTimeout((k=0)=>{for(r++,c.innerHTML='';k<h;)c.innerHTML+=s[r].slice(k*w,++k*w).join('')+'\n'},90*r);r=0}

অ্যানিমেশন দেখুন!

জাকারির ডগায় 24 বাইট সংরক্ষণ করা হয়েছে।

ওল্ড সলিউশন, 478 বাইট (ক্লিপিং বাগ সহ)

আমি মনে করি আমি সমস্ত বিধিগুলি সঠিকভাবে পেয়েছি, তবে সমাধানটিতে একটি ক্লিপিংয়ের সমস্যা রয়েছে যেখানে ডান / বাম থেকে বেরিয়ে আসা সমস্ত কিছু বিপরীত দিকে নীচের / উচ্চতর এক লাইনের চারপাশে আবৃত হয়।

(w,h,p,i,r=0,s=($=>{while(++r<i)for(j=0,_=$[r]=[],z=$[r-1]||[];j<w*h;){c=0
n=(z[j-1]=='*'&&++c)|(z[j+1]=='*'&&++c)?'-':' '
n=(z[j-w]=='*'&&++c)|(z[j+w]=='*'&&++c)?'|':n
n=(z[j-w-1]=='*'&&++c)|(z[j+w+1]=='*'&&++c)?'\\':n
n=(z[j-w+1]=='*'&&++c)|(z[j+w-1]=='*'&&++c)?'/':n
_[j++]=Math.random()<p?'*':c>1?'X':n}})(x=[])||x)=>{c=document.body.children[0],r=0;while(++r<i)setTimeout((k=0)=>{for(r++,c.innerHTML='';k<h;)c.innerHTML+=s[r].slice(k*w,++k*w).join('')+'\n'},90*r);r=0}

পুরানো দেখুন।


সুন্দরভাবে সম্পন্ন. আপনি উভয়দিকে ফাঁকা কলাম যুক্ত করে ক্লিপিং ঠিক করতে পারবেন না, সঞ্জীবন করতে পারেন এবং তারপরে কেটে ফেলতে পারেন?
অ্যাডাম

আপনি '*'প্রায়শই এটি ব্যবহার করার কারণে আপনি কোনও ভেরিয়েবলকে সংজ্ঞায়িত করতে পারেন না?
Zacharý

@ জ্যাচারý ভাল টিপ, আমি ভেরিয়েবলগুলি '*'এবং অন্যান্য ব্যবহৃত ব্যবহৃত জিনিসের সংজ্ঞা দেব ।
য় এস্টেম্ট

যদি কেবল জেএসেরই ম্যাক্রোগুলি ছিল।
জাকারি

2

এপিএল (ডায়ালগ) , 65 টি চর বা 71 বাইট *

মাত্রা (সারি, কলাম), তারপর পুনরাবৃত্তিও জন্য (প্রাথমিক অবস্থায় বেড়ে চলেছে নয়) অনুরোধ জানানো, তারপর সম্ভাব্যতা জন্য (যেমন এন মধ্যে ¹/ )।

⎕{1=?⍺⍺:'*'2≤+/b←'*'=1↓4⌽,⍵:'X'⋄⊃b/'-/|\\|/-'}⌺3 3{⍺⍺⎕←⍵}⍣⎕⊢⎕⍴''

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

⎕⍴'' ইনপুট এবং ব্যবহারের জন্য প্রম্পট যে হিসাবে প্রয়োজন একটি খালি স্ট্রিং eshape, স্পেস দিয়ে প্যাডিং প্রয়োগ

 যে ফলন

ইনপুটটির⍣⎕  জন্য অনুরোধ করুন এবং উপরের ( ) এর উপরে নিম্নলিখিত ফাংশনটি প্রয়োগ করুন যা বহুবার:

 ... {... } একটি ফাংশন প্রতীক (যেমন ফাংশন নিচে ব্যবহার আহরণ ⍺⍺ ) নিম্নরূপ,:

  ⎕←⍵ যুক্তি মুদ্রণ করুন

  ⍺⍺ নিম্নলিখিত ফাংশন প্রয়োগ:

   … ⌺3 3 প্রতিটি উপাদানের 3 × 3 মুর পাড়ায় নিম্নলিখিত ফাংশনটি প্রয়োগ করুন:

    ⎕{} ইনপুট পান এবং নতুন ক্রিয়াকলাপটি আবিষ্কার করতে এটি অপারেন্ড ( ⍺⍺ ) হিসাবে ব্যবহার করুন

     ?⍺⍺ প্রথম মধ্যে র্যান্ডম পূর্ণসংখ্যা ⍺⍺ পূর্ণসংখ্যার

     1= সমান হলে বুলিয়ান

     : যদি সত্য:

      '*' একটি তারা ফিরে

      অন্য:

      ,⍵ কৌতুক (সমতল) আর্গুমেন্ট (মুর পাড়া)

      4⌽ বাম দিকে চক্রাকারে চারটি ধাপে এটি ঘোরান

      1↓ একটি উপাদান ড্রপ (মূল কেন্দ্র)

      '*'= বুলিয়ান তালিকা যেখানে তারার সমান

      b←  হিসাবে সংরক্ষণ করুন

      +/ যোগফল

      2≤ দুই বা তার বেশি হলে বুলিয়ান

      : যদি সত্য:

       'X' একটি এক্স ফিরে

       অন্য:

       b/'-/|\\|/-'স্ট্রিং ফিল্টার করতে বি  ব্যবহার করুন

        প্রথমটি বেছে নিন, যদি না থাকে তবে প্রোটোটাইপটি বেছে নিন (একটি স্থান)


* Dyalog ক্লাসিক চালানোর জন্য, কেবল প্রতিস্থাপন সঙ্গে⎕U233A

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