একটি 2 ডি ট্রাফিক জাম


17

Biham-মিডলটন-লেভাইন ট্রাফিক মডেল একটি স্ব-সংগঠিত সেলুলার যন্ত্রমানব যে সরলীকৃত ট্রাফিক মডেলের হয়।

এটি একটি এলোমেলো প্রারম্ভিক অবস্থানের সাথে জাল পয়েন্টগুলিতে প্রতিনিধিত্ব করে এমন অনেকগুলি গাড়ি নিয়ে গঠিত যেখানে প্রতিটি গাড়ি দুটি ধরণের একটি হতে পারে: যেগুলি কেবল নীচের দিকে চলে যায় (এই নিবন্ধে নীল হিসাবে দেখানো হয়েছে) এবং কেবল যেগুলি কেবল দিকে অগ্রসর হয় ডান (এই নিবন্ধে লাল হিসাবে দেখানো হয়েছে)। দুটি ধরণের গাড়ি চলাচল করতে মোড় নেয়। প্রতিটি পালা চলাকালীন, সংশ্লিষ্ট ধরণের সমস্ত গাড়ি অন্য ধরণের গাড়ি দ্বারা অবরুদ্ধ না হলে এক ধাপে অগ্রসর হয়।

আপনার কাজ হ'ল এই মডেলটিকে অ্যানিমেশন হিসাবে কল্পনা করা। এখানে কিছু ভাল বিক্ষোভ আছে।

এখানে চিত্র বর্ণনা লিখুন

ইনপুট

ঘনত্বের প্রতিনিধিত্ব করে 0 এবং 1 এর মধ্যে একটি ভাসমান পয়েন্ট সংখ্যা এবং প্রদর্শিত গ্রিডের উচ্চতা এবং প্রস্থকে উপস্থাপন করে দুটি পূর্ণসংখ্যা। ধরুন ইনপুটগুলি বৈধ, এবং কোনও ফাংশনের প্যারামিটারগুলি বা ব্যবহারকারীর ইনপুট থেকে পড়া উভয়ই ঠিক আছে।

উদাহরণ: 0.38 144 89(উপরের চিত্রের সাথে মিলে যায়)

আউটপুট

একটি গ্রিড, কমপক্ষে 80x80, যা এই মডেলটির চলমান অ্যানিমেশন প্রদর্শন করে। শুরুতে, গাড়িগুলি এলোমেলোভাবে গ্রিডে স্থাপন করা হয় যতক্ষণ না গ্রিডটি ইনপুট ডেনসিটিতে অর্ধেক লাল এবং অর্ধ নীল রঙের সাথে পৌঁছায় (এটি আপনার পছন্দমতো বৃত্তাকার গ্রিড স্কোয়ারের ঘনত্বের বার)) ঘনত্বটি অবশ্যই এই মান হতে হবে যার অর্থ আপনি সম্ভাব্যতা হিসাবে প্রতিটি ঘন ঘনত্ব পূরণ করতে পারবেন না। প্রতিটি পদক্ষেপের জন্য, এক ধরণের গাড়ি হয় নীচের দিকে বা ডানে চলে যায়, প্রান্তটি পেরিয়ে গেলে তারা চারদিকে জড়িয়ে। যে ধরণের গাড়িটি প্রতিটি পদক্ষেপে পরিবর্তিত হয়। অ্যানিমেশনটি দেখতে পারা যায়, প্রতিটি ধাপের মধ্যে কমপক্ষে 10 এমএস থাকতে হবে।

বিধি

  • একে অপরের এবং পটভূমি থেকে পৃথক হওয়া পর্যন্ত গাড়িগুলি যে কোনও রঙ বা প্রতীক হতে পারে এবং প্রতিটি গাড়ির ধরণ একই রঙ বা প্রতীক।

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

  • আপনার যদি স্ক্রিনশট বা জিআইফ না থাকে তবে আপনি কী ধরণের আউটপুট তৈরি করেছেন তা নির্দিষ্ট করুন specify

  • সিমুলেশন চিরকাল চলতে হবে।

আউটপুটটি কিছুটা জটিল, সুতরাং আপনার যদি কোনও প্রশ্ন থাকে তবে মন্তব্য করুন।


অ্যানিমেশনটি কীভাবে আস্তে আস্তে বা দ্রুত চালানো উচিত সে সম্পর্কে কোনও বিধিনিষেধ?
xnor

সম্ভবত এটি নির্দিষ্ট করার মতো যে গাড়ীটির ধরণ যা প্রতিটি পদক্ষেপকে পরিবর্তিত করে।
গ্রেগ মার্টিন

@ এক্সনোর আমি প্রতি লুপ কমপক্ষে 5 বা 10 এমএস ভাবছিলাম, তবে এটি পরিমাপ করা আমার পক্ষে খুব কঠিন কিনা তা আমি নিশ্চিত নই।
qwr

3
ঘনত্ব মানে ঘনত্ব দেয় হয়েছে , যে মান হতে বা শুধু একটি সম্ভাব্যতা ঘ পূরণ করা যে প্রতিটি পিক্সেল করেছে? এছাড়াও, আমাদের এলোমেলোভাবে গাড়িগুলির রঙ নির্ধারণ করতে হবে বা না? যদি এলোমেলোভাবে আবার হয় তবে তা ঠিক আছে যদি তাদের কেবল হয় রঙ হওয়ার 50-50 সম্ভাবনা থাকে?
জেএডি

1
@ জারকো ডাবল্ডাম ঘনত্বের সেই মান হতে হবে। তাদের প্রতিটি রঙ হওয়ার 50-50 সম্ভাবনা রয়েছে। তবে আমি দেরিতে উত্তর দিয়েছি যাতে উত্তর আলাদা হতে পারে। গাড়িগুলি উপরে বা বাম দিকে যেতে পারে।
qwr

উত্তর:


5

আর, 350 338 293 291 273 268 264 বাইট

function(d,x,y){f=function(w){v=length(w);for(j in which(w>0&!w[c(2:v,1)]))w[c(j,j%%v+1)]=0:1;w};m=matrix(sample(c(rep(1,q<-floor(d*y*x/2)),rep(-1,q),rep(0,x*y-2*q))),x);p=animation::ani.pause;o=image;a=apply;repeat{o(m<-t(a(m,1,f)));p();o(m<--1*a(-1*m,2,f));p()}}

Ungolfed:

function(d,x,y){
  q=floor(d*y*x/2)

  m=matrix(sample(c(rep(1,q),rep(-1,q),rep(0,x*y-2*q))),x)

  f=function(w){
    v=length(w)
    for(j in which(w>0&!w[c(2:v,1)])){
      w[c(j,j%%v+1)]=0:1
    }
    w
  }


  library(animation)
  repeat{
    m=t(apply(m,1,f))
    image(m)
    m=-1*apply(-1*t(m),2,f))
    ani.pause()
    image(m)  
    ani.pause()
  }
}

ফাংশন যা 3 টি আর্গুমেন্ট নেয়: dঘনত্ব এবং মাত্রা হিসাবে x,yqপ্রতিটি রঙে গাড়ির সংখ্যা। mএটি গাড়ি সহ ম্যাট্রিক্স, যা প্রথমদিকে গাড়ি এবং খালি জায়গাগুলির একটি এলোমেলো ক্রম গ্রহণ করে পূরণ করা হয়। গাড়ি হয় হয় 1বা -1, খালি স্থান হয় 0

fএকটি ফাংশন যে কার এক সারি চলে আসে, যেমন কোডেড কার দিকে তাকিয়ে নেই 1। এটি পরীক্ষা করে গাড়ি 1অনুসরণ করে চলতে পারে কিনা তা পরীক্ষা করে 0। আমরা প্রতিটি সারি বা কলামে applyচালাতে ব্যবহার করি f, কোন গাড়ীগুলির উপর নির্ভর করে।

f1গাড়ির -1চলন পরিচালনা করে , গাড়িগুলি সরানোর জন্য , আমরা ম্যাট্রিক্স স্থানান্তর করি, চলাচলের দিকটি উচ্চারণ করে ম্যাট্রিক্সকে গুণিত করি-1 , তাই -1কার হয়ে 1কার, এবং VV এবং তার ফলে ম্যাট্রিক্স আবার রুপান্তরিত করা হয়।

এটি imageতিনটি মানের জন্য 3 টি ডিফল্ট রঙ ব্যবহার করে প্লট তৈরি করতে ব্যবহার করে। animationঅ্যানিমেশনগুলি ডিফল্ট বিকল্পগুলি ব্যবহার করে হ্যান্ডেল করতে প্যাকেজটি ব্যবহার করে, যা 1 fps।

0.38, 144, 89:

জিআইএফ-র লিঙ্ক

0.2, 144, 89:

জিআইএফ-র লিঙ্ক

0.53, 144, 89:

জিআইএফ-র লিঙ্ক


আপনার অ্যানিমেশনটি দেখতে দুর্দান্ত দেখাচ্ছে - আপনি কোন ঘনত্ব ব্যবহার করেছেন? দেখে মনে হচ্ছে পুরো জিনিসটি খুব খালি জায়গা দিয়ে খুব দ্রুত জ্যাম হয়ে গেছে
qwr

@ কিউইউআরটি আসলে এমন কিছু যা আমাকে বিরক্ত করেছিল। আমার প্রোগ্রামটিতে আপনি সংযুক্ত উদাহরণের চেয়ে পুরো জিনিসটি কম ঘনত্বের দিকে। আমি যদিও প্লটের জন্য ব্যবহৃত সঠিক পরামিতিগুলি মনে করতে পারি না 0.38 144 89তবে উদাহরণ থেকে এটি খুব ভাল হতে পারে ।
জেএডি

বর্গক্ষেত্র গ্রিডগুলি নিয়ে ঘুরে বেড়াতে আমি জ্যাসন্ডাভিজেস / বিএমএল /#0.35/100/100 থেকে 0.35 এর ঘনত্ব পেয়েছিলাম তবে এটি প্রায় সবসময় পাতলা তির্যক লাইনের পরিবর্তে একটি পুরু 45 ডিগ্রি লাইন। যেহেতু আপনার লাইনগুলি আরও উল্লম্ব দেখায় আমি মনে করি দুটি ধরণের গাড়ি দিয়ে কিছু বন্ধ রয়েছে
qwr

আমি এখন সমস্যা দেখতে। কারা কেবল তখনই অগ্রসর হতে পারে যদি তারা অন্য গাড়ি দ্বারা অবরুদ্ধ না হয়। সুতরাং উইকিপিডিয়া উদাহরণগুলিতে সমস্ত চলমান গাড়িগুলির সামনে একটি স্থান রয়েছে। তবে আপনার অ্যানিমেশনে গাড়িগুলি একটি লাইন হিসাবে চলে। মজাদার.
qwr

আহ, এটা করতে হবে।
জেএডি

5

গণিত, 237 228 203 198 181 বাইট

(b=RandomSample@ArrayReshape[Table[{0,i=2},##/2],{1##2},1]~Partition~#2;Dynamic@Colorize[i=-i;b=CellularAutomaton[{193973693,{3,{a=0{,,},{3,9,1},a}},{1,1}},b];If[i>0,b,2-b]])&

আউটপুট একটি গতিশীল Image। পটভূমি হালকা সবুজ এবং গাড়িগুলি তাদের দিকের উপর নির্ভর করে কালো বা ম্যাজেন্টা।

ব্যাখ্যা

b=RandomSample@ArrayReshape[Table[{i=1,2},##/2],{1##2},1]~Partition~#2

প্রাথমিক বোর্ড তৈরি করুন:

Table[{0,i=2},##/2]

সেট iকরুন 2। একটি তৈরি করুন Listএর {0, 2}, যার দৈর্ঘ্য হল মেঝে (ঘনত্ব * প্রস্থ * উচ্চতা / 2) (দুই দ্বারা বিভক্ত কারণ {0, 2}দৈর্ঘ্য-2) হয়।

ArrayReshape[ ... ,{1##2},1]

ফলস্বরূপ 2-ডি List(2 x কিছু) 1-ডি List(দৈর্ঘ্য = প্রস্থ * উচ্চতা) এ পুনরায় আকার দিন। 1পর্যাপ্ত মান না থাকলে প্যাড ।

RandomSample@ ...

(সিউডো-) এলোমেলোভাবে ফলাফলটি সাজান।

... ~Partition~#2

দৈর্ঘ্য (প্রস্থ) মধ্যে ফলাফল যা পার্টিশন।

b= ...

যে স্টোর b


Dynamic@Colorize[i=-i;b=CellularAutomaton[{193973693,{3,{a=0{,,},{3,9,1},a}},{1,1}},b];If[i>0,b,2-b]]

একটি তৈরি করুন Dynamic Image:

i=-i;

এর সাইন ফ্লিপ করুন i

b=CellularAutomaton[{193973693,{3,{a=0{,,},{3,9,1},a}},{1,1}},b]

ট্রান্সপোজড করার জন্য নিয়ম 193973693এবং প্রতিবেশী ওজনের সাথে সেলুলার অটোমেটন প্রয়োগ করুন । সমান সেট করুন ।{{0, 0, 0}, {3, 9, 1}, {0, 0, 0}}bb

If[i>0,b,2-b]

যদি iইতিবাচক হয় তবে bএকা ছেড়ে যান। যদি তা না হয় তবে স্থানান্তরিত করুন b( 2-আমি CellularAutomatonকিছুটা গল্ফ করেছিলাম বলেই আছে )। মূলত, এটি bপ্রতিটি অন্যান্য পুনরাবৃত্তি স্থানান্তর করে (স্থানান্তর পূর্বাবস্থায় ফেলার জন্য)

Colorize[ ... ]

অ্যারেটিকে রঙিনে রূপান্তর করুন Image

Dynamic@ ...

ভাব প্রকাশ করুন Dynamic । অর্থাৎ উপরের ফাংশনগুলি বারবার চালিত হয়।

আউটপুট

এখানে একটি নমুনা আউটপুট (ইনপুটস: 0.35, 192, 108 2000 ফ্রেমের (ম্যাগনিফাইড 2 এক্স) জন্য ইনপুটস) দেওয়া আছে।

https://i.imgur.com/zmSyRut.mp4


হু, বিল্ট-ইন ব্যবহার করা না ব্যবহারের চেয়ে বেশি দীর্ঘ ?!
অ্যাডম

3

ডায়ালগ এপিএল , 190 108 115 112 বাইট

সমাধান

S←{⍉⍣⍺⊢d[⍺]↑d[⍺]↓⍉↑(⍺⊃'(↓+) ' '(→+) ')⎕R' \1'↓(,⍨,⊢)⍉⍣⍺⍉⎕←⍵⊣⎕DL÷4}
{1S 0S⍵}⍣≡' ↓→'[d⍴{⍵[?⍨⍴⍵]}c1 2⍴⍨⌊⎕×c←×/d←⎕]

ট্রাইএপিএল অনলাইনে (অনলাইন সীমাবদ্ধতার কারণে কিছুটা সংশোধিত):

  1. সেট করুন ⎕IO←0, ফাংশন এস সংজ্ঞায়িত করুন , এবং তারপরে একটি এলোমেলো 38% 14 × 29 গ্রিড সংজ্ঞা এবং প্রদর্শন করুন, জি

  2. একটি নিচে সরানো করুন।

  3. ডানদিকে একটি সরান।

  4. পদক্ষেপ 2 এ যান।

    ট্রাফিক
    পূর্ববর্তী অ্যালগরিদমের অ্যানিমেশন, যা ঘনত্বের গ্যারান্টি দেয় না।

ব্যাখ্যা

S←{ডাইরেক্ট ফাংশন এস (ডান থেকে বামে এখানে ব্যাখ্যা করা হয়েছে):

÷4 4 (0.25) এর পারস্পরিক

⎕DL অপেক্ষা করুন যে কয়েক সেকেন্ড (আসল সময় কেটে গেছে)

⍵⊣ এটি ⍵ (সঠিক যুক্তি; গ্রিড) এর পক্ষে বাতিল করুন

⎕← আউটপুট যে

 TRANSPOSE

⍉⍣⍺ আবার স্থানান্তর করুন যদি argument (বাম আর্গুমেন্ট; 0 = ডাউন, 1 = ডান)

( ফাংশন ট্রেন প্রয়োগ করুন (বাম থেকে ডানে এখানে ব্যাখ্যা করা হয়েছে):

  ,⍨ যুক্তি নিজেই সংযুক্ত

  , সংযুক্ত

   নিজেই

)

 তালিকার তালিকায় ম্যাট্রিক্স বিভক্ত করুন

( অনুসন্ধান রেজেক্স (বাম থেকে ডানে এখানে ব্যাখ্যা করা হয়েছে):

  ⍺⊃ ⍺ (0 = নীচে / প্রথম, 1 = ডান / সেকেন্ড) এর উপর ভিত্তি করে নিম্নলিখিত দুটির মধ্যে একটি বেছে নিন

  '(↓+) ' '(→+) ' নীচে এবং বাম তীর সিকোয়েন্সগুলির পরে একটি স্থান রয়েছে

)⎕R' \1' সন্ধানের ক্রম অনুসারে একটি স্থানের সাথে প্রতিস্থাপন করুন

 ম্যাট্রিক্সে তালিকার তালিকা মিশ্রিত করুন

 TRANSPOSE

d[⍺]↓ height (বাম আর্গুমেন্ট) 0 (নীচে) বা width 1 (ডান) হলে "প্রস্থ" সারি হলে "উচ্চতা" সারিগুলি ফেলে দিন

d[⍺]↑ তাহলে অনেকগুলি সারি নিন take

 মাধ্যমে পাস (বিভাজক হিসাবে কাজ করে)

⍉⍣⍺ ⍺ (বাম আর্গুমেন্ট; 0 = ডাউন, 1 = ডান) হলে স্থানান্তর করুন

}


' ↓→'[ এর সাথে স্ট্রিংটি ইনডেক্স করুন (ডান থেকে বামে এখানে ব্যাখ্যা করা হয়েছে):

 সংখ্যা ইনপুট (মাত্রা)

d← এটিকে ডি

×/ মাত্রাগুলি বৃদ্ধি করুন (কোষের গণনা সন্ধান করুন)

c← দায়িত্ব অর্পণ যে

⎕× সংখ্যাযুক্ত ইনপুট (ঘনত্ব) দিয়ে এটিকে গুণান

 নিচে সুসম্পন্ন

1 2⍴⍨ চক্রাকারে দৈর্ঘ্য পর্যন্ত এক এবং দুটি পুনরাবৃত্তি করুন

c↑ দৈর্ঘ্য সি পর্যন্ত এটি প্রসারিত করুন , জিরোগুলির সাথে প্যাডিং করুন

d⍴পুনরায় আকার দিতে d (মাত্রা)  ব্যবহার করুন

{ এই বেনামে ফাংশনটি প্রয়োগ করুন (এখানে বাম থেকে ডানদিকে ব্যাখ্যা করেছেন):

  ⍵[ যথাযথ আর্গুমেন্ট (শূন্য, এর তালিকা এবং দ্বিগুণের তালিকা) দ্বারা সূচকযুক্ত

   ?⍨ পরিবর্তিত সূচকগুলি

   ⍴⍵ তর্কের দৈর্ঘ্য

  ]

}

]

{ নিম্নলিখিত বেনামী ফাংশন প্রয়োগ করুন (ডান থেকে বামে ব্যাখ্যা করা হয়েছে):

0S⍵বাম আর্গুমেন্ট হিসাবে 0 (নিচে) এবং গ্রিডকে ডান আর্গুমেন্ট হিসাবে এস  প্রয়োগ করুন

1S ডান আর্গুমেন্ট হিসাবে এটি, বাম আর্গুমেন্ট হিসাবে 1 (ডান) দিয়ে এস প্রয়োগ করুন

}⍣≡ যতক্ষণ না ক্রমিক দুটি পুনরাবৃত্তি অভিন্ন হয় (ট্র্যাফিক জ্যাম)

মন্তব্য

  1. প্রয়োজনীয় ⎕IO←0, যা অনেক সিস্টেমে ডিফল্ট।

  2. (উচ্চতা, প্রস্থ) এবং তার পরে ঘনত্বের জন্য প্রম্পট দেয়।

  3. কোনও বিল্ট-ইন অটোমেটন ব্যবহার করে না।

  4. অন্তর্নির্মিত রেজেক্স সমর্থন ব্যবহার করে।

  5. ট্র্যাফিক জ্যাম থাকলে থামে (কোনও গাড়ি চলাচল করতে পারে না)।

  6. আউটপুট চরিত্রের ম্যাট্রিকগুলি যেখানে গাড়িগুলি ডানদিকে চলমান প্রতিনিধিত্ব করে, নীচে চলমান গাড়িগুলিকে উপস্থাপন করে এবং স্পেসগুলি খালি রাস্তা।

  7. উপরে হিসাবে, এটি 4 হার্জে হার্জে অধিবেশন আউটপুট, তবে ফ্রিকোয়েন্সি পরিবর্তন করে সামঞ্জস্য করা যেতে পারে ÷4; উদাঃ ÷33 হার্জ এবং .3³⁄₁₀ হার্জ

  8. ]Box on -s=max -f=onপ্রথমে কার্যকর করলে কী চলছে তা দেখা সহজ see

  9. প্রয়োজনীয় বিতরণটি এখন গ্যারান্টিযুক্ত এবং দুটি ধরণের গাড়ি হ'ল 50-50 এর মধ্যে ঘটে, এটি গোলাকার জন্য সংরক্ষণ করে।


আপনার প্রাথমিক বোর্ড প্রজন্ম কোনও বোর্ডের গ্যারান্টি দেয় না যার ইনপুট ঘনত্ব রয়েছে। আমি অনুমান করি যে এটি অনুমতি দেয় বা না দেয় সে ক্ষেত্রে এটি ওপির পছন্দ।
জংহওয়ান মিন

ওহ, @ জারকো ডাবডেলডাম এটি ইতিমধ্যে জিজ্ঞাসা করেছেন।
জংহওয়ান মিন

@ জংহওয়ানমিন কীভাবে? ঘনত্বটি ঘ। প্রতিটি অবস্থান 0 এবং 1 এর মধ্যে একটি মান পায় যদি 0 এবং between এর মধ্যে এটি একটি হয় ,। যদি ᵈ⁄₂ এবং d এর মধ্যে হয় তবে এটি একটি হয় । যদি d এবং 1 এর মধ্যে থাকে তবে এটি খালি থাকে।
অ্যাডম

ভাল, একটি চরম কেস হবে: প্রতিটি অবস্থান একরকম মান পায় 0(কারণ তারা (ছদ্ম) - স্বতঃস্ফূর্তভাবে উত্পাদিত (ছদ্ম) - নির্ভরশীল; খুব অসম্ভব তবে সম্ভাব্য)। তারপরে আপনার বোর্ডটি পূর্ণ
জংহওয়ান মিন

@ জংহওয়ানমিন আহ, আমি আপনাকে বোঝাতে চাইছি।
অ্যাডাম

1

জাভা (645 বাইট + 18 বাইট জাভা.ওট। * = 642 বাইট)

static void k(double b,final int c,final int d){final int[][]a=new int[c+1][d+1];int i=0,j;for(;i<c;i++){for(j=0;j<d;j++){a[i][j]=Math.random()<b?Math.random()<0.5?1:2:0;}}Frame e=new Frame(){public void paint(Graphics g){setVisible(1>0);int i=0,j;for(;i<c;i++){for(j=0;j<d;j++){g.setColor(a[i][j]==2?Color.BLUE:a[i][j]==1?Color.RED:Color.WHITE);g.drawLine(i,j,i,j);}}for(i=c-1;i>=0;i--){for(j=d-1;j>=0;j--){if(a[i][j]==1&&a[i][(j+1)%d]==0){a[i][(j+1)%d]=1;a[i][j]=0;}else if(a[i][j]>1&&a[(i+1)%c][j]==0){a[(i+1)%c][j]=2;a[i][j]=0;}}}}};e.show();while(1>0){e.setSize(c,d+i++%2);try{Thread.sleep(400L);}catch(Exception f){}}}

Ungolfed:

static void k(double b,final int c,final int d){
        final int[][]a=new int[c+1][d+1];
        int i=0,j;
        for(;i<c;i++) {
            for(j=0;j<d;j++) {
                a[i][j]=Math.random()<b?Math.random()<0.5?1:2:0;
            }
        }

        Frame e=new Frame(){
            public void paint(Graphics g){
                setVisible(1>0);
                int i=0,j;
                for(;i<c;i++) {
                    for(j=0;j<d;j++) {
                        g.setColor(a[i][j]==2?Color.BLUE:a[i][j]==1?Color.RED:Color.WHITE);
                        g.drawLine(i,j,i,j);
                    }
                }
                for(i=c-1;i>=0;i--) {
                    for(j=d-1;j>=0;j--) {
                        if(a[i][j]==1&&a[i][(j+1)%d]==0){
                            a[i][(j+1)%d]=1;a[i][j]=0;
                        }else if(a[i][j]>1&&a[(i+1)%c][j]==0){
                            a[(i+1)%c][j]=2;a[i][j]=0;
                        }
                    }
                }
            }
        };
        e.show();
        while(1>0){e.setSize(c,d+i++%2);try{Thread.sleep(400L);}catch(Exception f){}}
    }

ছবি:

এখানে চিত্র বর্ণনা লিখুন


জাভাটির সাথে পরিচিত না, তবে আপনি যে রঙগুলি ব্যবহার করতে পারেন তার জন্য সবচেয়ে কম নাম লাল, নীল এবং সাদা? (সম্ভবত ধূসর একটি বিকল্প, একটি বাইট বনাম সাদা সংরক্ষণ করা)
জেএডি

স্ক্রীনশটটি এখানে যা বর্ণনা করেছি ঠিক একই সমস্যাটি প্রদর্শিত হবে বলে মনে হচ্ছে কোডগল্ফ.স্ট্যাকেক্সেঞ্জারভিউ
প্রশ্নসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.