পাহাড়ের উপরে ছোট্ট বাক্স


13

লিটল বক্সস নামে একটি ব্যঙ্গাত্মক গান আছে , যা মূলত মালভিনা রেইনল্ডসের লেখা, শহরতলির ছড়িয়ে পড়া সম্পর্কে যা এর গানের সুর রয়েছে:

পাহাড়ের
ছোট্ট ছোট্ট বাক্স, টিকি-টাকি দিয়ে তৈরি
ছোট ছোট বাক্স, পাহাড়ের
ছোট্ট ছোট্ট বাক্স , ছোট্ট বাক্স সব একই রকম।
একটি সবুজ এবং গোলাপী একটি
এবং একটি নীল এবং একটি হলুদ রঙের
And এবং এগুলি সবগুলি খুব টিকিটযুক্ত
এবং এগুলি সমস্ত দেখতে একইরকম।

আপনার কাজটি এখানে, একটি পূর্ণসংখ্যার ইনপুট দেওয়া হয়েছে যা n>1বাড়ির আকারকে উপস্থাপন করে, নিম্নলিখিত রঙগুলি ব্যবহার করে চারটি "ছোট বাক্স" আউটপুট দিন (0xRRGGBB স্বরলিপিতে):

Green -- 0x00FF00
Pink --- 0xFF00FF (technically magenta)
Blue --- 0x0000FF
Yellow - 0xFFFF00

যদি আপনার নির্দিষ্ট কনসোলে এই সঠিক রঙ না থাকে তবে আপনি নিকটতম উপলব্ধ (যেমন, এএনএসআই এস্কেপ কোড) ব্যবহার করতে পারেন।

ঘরগুলি n _মেঝে এবং ছাদরেখার প্রতিনিধিত্ব করে নির্মিত হয়। তারা দেয়াল প্রতিনিধিত্ব করে n/2(বৃত্তাকার) |অক্ষর দ্বারা বেষ্টিত হয় । ছাদগুলি সর্বদা 2উঁচু থাকে এবং /বাম প্রান্তে দুটি \হয়, ডান প্রান্তে দুটি হয় এবং n-2 -ছাদের শীর্ষকে উপস্থাপিত করে। ঘরগুলি বড় হওয়ার সাথে সাথে ছাদের তুলনামূলক আকার আরও ছোট হয়; এটা উদ্দেশ্য।

এখানে আকারের একটি বাড়ি রয়েছে 2:

 /\
/__\
|__|

এখানে আকার 3:

 /-\
/___\
|   |
|___|

এখানে আকার 7:

 /-----\
/_______\
|       |
|       |
|       |
|_______|

এভাবে উপরে বর্ণিত 7আকারের চারটি আউটপুট দেওয়া 7হয়েছে, প্রথমটি সবুজ রঙের, দ্বিতীয়টি গোলাপী (ম্যাজেন্টা), তৃতীয় নীল এবং চতুর্থটি হলদে in এই ক্রমের রঙগুলির আউটপুট গুরুত্বপূর্ণ।

আকার উদাহরণ চিত্র 3:

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

বিধি

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

উত্তর:


5

জাভাস্ক্রিপ্ট (ES6), ক্রোম / ফায়ারফক্স, 156 148 151 150 বাইট

সংরক্ষিত 8 বাইট ধন্যবাদ @ শ্যাগি
সংরক্ষিত 1 বাইট @ নীলকে ধন্যবাদ

n=>['0f0','f0f','00f','ff0'].map(c=>console.log(`%c /${'-'[r='repeat'](n-2)}\\
/${s='_'[r](n)}\\
${(`|${' '[r](n)}|
`)[r](~-n/2)}|${s}|`,'color:#'+c))

ডেমো

রঙিন আউটপুট পেতে আপনার ব্রাউজারের কনসোলটি খুলতে ভুলবেন না।


স্নিপেট হিসাবে আমার ব্রাউজারের কনসোলটি খোলা রেখে আমার পক্ষে দুর্দান্ত কাজ করে। 3 ডিজিটের হেক্স কোড ব্যবহার করে 8 বাইট সংরক্ষণ করুন: tio.run/##NYvRCsIgGEbv9xSDFr/…
শেগি

@ শেগি পরামর্শের জন্য ধন্যবাদ!
আর্নাউল্ড

নেতৃস্থানীয় 0গুলি প্রয়োজনীয়?
জোনাথন ফ্রেচ

পুনঃটুইট নেতৃস্থানীয় শূন্যগুলি ব্যতীত, এটি বৈধ #RGBসিএসএস বর্ণ কোড নয়।
আর্নৌল্ড

আমি মনে করি প্রশস্ত ঘরগুলিতে উচ্চতাটি ভুল।
নিল

5

পাইথন 2 , 123 121 119 111 109 108 বাইট

  • কেয়ারড কইনারিংহিংহিংয়ের জন্য দুটি বাইট সংরক্ষণ করা ; আসল অপ্রিন্টযোগ্য ASCII অক্ষরটি এড়ানোর পরিবর্তে ব্যবহার করে ( \33)
  • input()কোনও ফাংশন সংজ্ঞায়নের পরিবর্তে পুরো প্রোগ্রামটি লিখে একটি বাইট সংরক্ষণ করতে পারে (এবং করেছিল)
  • এলপেড্রোর জন্য সাতটি বাইট সংরক্ষণ করা ; সত্য যে ব্যবহার str(90+n)সঙ্গে 0<=n<=9হয়"9%s"%n
  • সংরক্ষিত দুই স্ট্রিং সংযুক্তকরণের বদলে বিন্যাস স্ট্রিং ব্যবহার করে তিন বাইট

N=input()
for(n)in"2543":Z="_"*N;print"[9%sm /"%n+~-~-N*"-"+"\ \n/%s\\\n"%Z+~-N/2*("|%s|\n"%" "*N)+"|%s|"%Z

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

ঘরগুলিকে রঙ করার জন্য এএনএসআই পলায়নের কোডগুলি ব্যবহার করে।



1
112 "2543" লুপ করে এবং স্ট্রিং ফর্ম্যাটিং ব্যবহার করে - এটি অনলাইনে চেষ্টা করুন!
এলপেড্রো

2
ধন্যবাদ এলপিড্রো আমার কাছে তা ঘটেনি 90এবং 2,5,4,3সংক্ষেপে কার্যকরভাবে তা সংক্ষিপ্তকরণ is
জোনাথন ফ্রেচ

3

এক্সেল ভিবিএ, 243 বাইট

বেনামে ভিবিই তাত্ক্ষণিক উইন্ডো ফাংশন যা ইনপুট নেয় A1এবং সীমার বাইরে চলে যায়A2:A5

[C1]=vbLf:For i=1To 4:Cells(i+1,1)=[" /"&Rept("-",A1-2)&"\"&C1&"/"&Rept("_",A1)&"\"&C1&Rept("|"&Rept(" ",A1)&"|"&C1,A1/2)&"|"&Rept("_",A1)&"|"]:Cells(i+1,1).Font.Color=Array(32768,&HFF00FF,rgbBlue,65535)(i-1):Next:Cells.Font.Name="Courier New"

আউটপুট

আউটপুট


2

জাপট , 79 76 74 73 72 বাইট

3#²¤r1'f ò3 w £Ol"%c /{ç- ¤}\\
/{ç'_}\\
{/2-½ ç"|{ç}|
"}|{ç'_}|"Xi`¬l:#

এটি ব্যবহার করে দেখুন ("রান" তে আঘাত করার আগে আপনার ব্রাউজারের কনসোলটি খুলুন)।

আমি আমার ফোনে এটি কাজ করার সময় গত রাতে আমাকে এটি পরীক্ষা করতে সাহায্য করার জন্য ETH এর জন্য ধন্যবাদ।


ব্যাখ্যা

পূর্ণসংখ্যার অন্তর্নিহিত ইনপুট U

3#²¤r1'f ò3 w

প্রথমে আমরা মানচিত্রের জন্য 3-অঙ্কের হেক্স রঙের একটি অ্যারে তৈরি করি। এর charcode ²178 তাই 3#²আমাদের 3178. দেয় আমরা সঙ্গে একটি বেস-2 স্ট্রিং যে রূপান্তর ¤এবং তারপর সব ঘটনার প্রতিস্থাপন 1সঙ্গে fò33 টি দৈর্ঘ্যের স্ট্রিংগুলির একটি অ্যারেতে স্ট্রিংটি বিভক্ত হয় এবং wসেই অ্যারেটিকে বিপরীত করে।
(এটিকে ছোট করার জন্য আমার কোনও উপায় বের করতে হবে need)

£Ol

আমরা অ্যারে ব্যবহার উপর মানচিত্র £সাথে - Xএবং - বর্তমান উপাদান হচ্ছে Olলগ সান্ত্বনা দিতে এসেছিল। আমরা এতে দুটি স্ট্রিং পার করব, একটি ঘর এবং একটিতে সিএসএস রয়েছে।

Xi`¬l:#

দ্বিতীয় স্ট্রিংটি সংকুচিত স্ট্রিং দিয়ে iপ্রিপেন্ড করতে ব্যবহার করে নির্মিত হয় ।Xcolor:#

"%c /{ç- ¤}\\

%cকনসোল সিএসএস হিসাবে দ্বিতীয় স্ট্রিং ব্যবহার করতে বলে। বাড়ির শীর্ষ লাইনটি অক্ষরের বারগুলি ( ç) পুনরাবৃত্তি করে এবং তারপরে দ্বিতীয় উপাদান (0-সূচীকৃত) থেকে টুকরো টুকরো করে তৈরি করা হয় । ধনুর্বন্ধনী স্ট্রিং কনকেন্টেশন জন্য শর্টকাট, প্রকারের, হিসাবে কাজ করে।-U¤

/{ç'_}\\

দ্বিতীয় লাইনটি একইভাবে নির্মিত, এবার _চরিত্রের Uসময়গুলি পুনরাবৃত্তি করা ।

{/2-½ çRi|²iUç 1}

ঘরের দেহটি প্রথমে |অক্ষরের সাথে দু'বার পুনরাবৃত্তি করে ²এবং তারপরে Uসূচক 1 এ স্ট্রিংটিতে পুনরাবৃত্তি করে একটি স্থান সন্নিবেশ করানো হয় ফলে ফলাফলটি স্ট্রিংটি একটি নতুন লাইনে ( R) যুক্ত হয় এবং বার U/2-0.5বার পুনরাবৃত্তি হয়।

|{ç'_}|"

অবশেষে, শেষ লাইনটি দ্বিতীয়টির মতোই নির্মিত হয়েছে।


1

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

n=input()
for i in'2543':s='_'*n;print'[1;3'+i+('m /'+'-'*(n-2)+'\ \n/%s\\\n'%s+(-~n/2-1)*('|'+' '*n+'|\n')+'|%s|\n'%s)

এটি অনলাইন চেষ্টা করুন! (স্থানীয় টার্মিনালে পরীক্ষিত প্রকৃত রঙের পরিবর্তে পালানোর চরিত্রগুলি দেখায়)


আমি মনে করি আপনার ঘরগুলি ইনপুটগুলির মতো খুব বেশি n=2
জোনাথন ফ্রেচ

@ জোনাথনফ্রেচ হ্যাঁ আমি ঠিক করব ... ভুল সিলিংয়ের পদ্ধতি সম্ভবত স্পষ্টভাবে সম্পাদনা করুন: স্থির
এরিক দ্য আউটগোল্ফার

প্রশ্নটি বলে use the closest available, যদিও আপনি উজ্জ্বল রঙগুলির পরিবর্তে সাধারণ রঙগুলি ব্যবহার করছেন বলে মনে হচ্ছে। উজ্জ্বল রঙগুলি - আমি মনে করি - তবে, পছন্দসই রঙগুলির আরও কাছাকাছি থাকবে।
জোনাথন ফ্রেচ

@ জোনাথনফ্রেচ হুম, আপনারাও সাধারণ রঙগুলি ব্যবহার করছেন বলে মনে হচ্ছে, তবে হ্যাঁ উজ্জ্বল রঙগুলি আরও কাছাকাছি রয়েছে।
এরিক আউটগলফার

1
@ এলপেড্রো যেভাবেই হোক তার চেয়ে আমার চেয়ে ভাল দেখা গেছে: পি
এরিক দি আউটগোল্ফার

1

ইয়াবাসিক , 220 বাইট

একটি বেনামি ফাংশন যা ইনপুট হিসাবে পূর্ণসংখ্যার হিসাবে নেয় nএবং টার্মিনালে 4 টি রঙিন হোম আউটপুট দেয়।

ইয়াবসিকে কোনও ডেডিকেটেড স্ট্রিং পুনরাবৃত্তি বা প্রতিস্থাপন ফাংশনের অভাব সত্যিই এই প্রতিক্রিয়াটিকে ব্যথিত করে।

Clear Screen
Input""n
b$="__"
c$="|  "
For i=1To n-2
a$=a$+"-"
b$=b$+"_"
c$=c$+" "
Next
c$=c$+"|\n"
For i=1To n-4
d$=d$+c$
Next
For i=0To 3
?Color(Mid$("gremagbluyel",1+3*i,3))" /"+a$+"\\\n/"+b$+"\\\n"+d$+"|"+b$+"|"
Next

এই সংস্করণটির গ্রাফিক্স মোড প্রয়োজন এবং এটি টিআইওতে কাজ করে না।

আউটপুট

নীচের জন্য ইনপুট মান হয় n=7

আউটপুট


1

স্মাইলব্যাসিক, ১১১ বাইট

INPUT N
H.H 6H 4H 2DEF H C
COLOR C+5?" /";"-"*(N-2);"\
?"/";"_"*N;"\
FOR I=3TO N?"|";" "*N;"|
NEXT?"|";"_"*N;"|
END

আর একটি যা ১১৮ বাইটও রয়েছে:

INPUT N
FOR J=0TO 3COLOR!!J*8-J*2+5?" /";"-"*(N-2);"\
?"/";"_"*N;"\
FOR I=3TO N?"|";" "*N;"|
NEXT?"|";"_"*N;"|
END

রং কোড আমি প্রয়োজন (4-বিট মধ্যে RGBI) 5 হয়, 11, 9, 7. এই ব্যবহার উৎপন্ন হয় !!J*8-J*2+5তাহলে জে 0 না, এই হয় 13-J*2(11,9,7 দান), এবং যদি তা না হয়, ফল মাত্র 5।

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