পিক্সেল-আর্ট, পর্ব 1: সুপার মারিও প্রদর্শন করুন


47

এটা একইরকম!

আজকের কাজটি সহজ: একটি প্রোগ্রাম লিখুন বা এমন একটি ফাংশন লিখুন যা নীল পটভূমিতে NES- এ সুপার মারিও ব্রস থেকে অলস ছোট মারিও স্প্রিটকে দেখায়।

স্ক্রিন / উইন্ডো / ব্রাউজারের যে কোনও জায়গায় 12 12 টি পিক্সেল প্রদর্শিত হবে না কেন কোনও প্রকারের এন্ট্রি বৈধ।

(সম্পাদনা করুন: যদি আপনার ভাষা পিক্সেল আর্ট না করতে পারে তবে প্রদর্শিত চিত্রটি ছোট করে দেওয়া যেতে পারে AS আপনি ASCII আর্ট বা এইচটিএমএল আর্ট আউটপুটও করতে পারেন, তবে সঠিক রঙগুলি ব্যবহার করে))

চিত্র (400% জুম):

আপনাকে অবশ্যই নিম্নলিখিত রঙগুলি ব্যবহার করতে হবে:

  • নীল: # 6B8CFF
  • লাল: # বি 13425
  • সবুজ / বাদামী: # 6A6B04
  • কমলা: # E39D25

সংক্ষিপ্ততম প্রোগ্রামে (চরিত্রের সংখ্যায়) জয়!

স্ট্যান্ডার্ড লুফোলগুলি প্রয়োগ হয় (বিশেষত কোনও নেটওয়ার্ক সংযোগ অনুমোদিত নয়) তবে আপনার প্রোগ্রামে একটি হার্ডকোডিং এবং একটি চিত্র ফাইল প্রদর্শনের অনুমতি রয়েছে। (এই কৌশলটি ব্যবহার করে এন্ট্রিগুলি পৃথকভাবে র‌্যাঙ্ক করা হবে)

আমরা এখানে!


বর্তমান লিডারবোর্ড

শুধুমাত্র কোড ব্যবহার করে সবচেয়ে সংক্ষিপ্ত উত্তর:

কিছু ধরণের হার্ডকোডযুক্ত চিত্র ব্যবহার করে সংক্ষিপ্ত উত্তর:


2
এছাড়াও, একটি ফাইল তৈরি করার অনুমতি দেওয়া হচ্ছে না? এটা প্রদর্শন করতে হবে?
মার্টিন এন্ডার

1
আমি সেই চিত্রটিতে কোনও প্যাটার্ন দেখছি না। সুতরাং এটি সর্বোত্তম সংক্ষেপে নেমে আসে যে কোনও একটি ভাষায় ব্যবহার করতে পারেন।
অপ্টিমাইজার

20
নিতপিকিং: এটি মারিও, সুপার মারিও নয়।
ডেনিস

5
কী মজাদার ধারণা ... সিক্যুয়াল চ্যালেঞ্জের জন্য এখানে একটি ধারণা: মারিও চিত্রটি নিন (যে কোনও বিন্যাস) এবং এটিকে লুইগির একটি চিত্রে পরিণত করুন!
জিববোজ

3
আমরা কি তার মতো দেখতে একটি পিট প্রোগ্রাম তৈরি করতে পারি?
কনর ও'ব্রায়েন

উত্তর:


36

এইচটিএমএল / জেএস, 206 158 153 102


102

ট্রিক ব্যবহৃত: সংকুচিত জিআইএফ ফাইলটি এইচটিএমএল ফাইল হিসাবে সংরক্ষণ করুন এবং শেষে <img src = #> যুক্ত করুন

এই এন্ট্রির জন্য ধন্যবাদ: https://codegolf.stackexchange.com/a/39926/10732 @ নীটথার্ডএবসোল দ্বারা

GIF87a  ¡ kŒÿã%jk±4%,       6„‡héj„Af-ÕdÎy\%    …R˜0”ŒÈJ­³I©±²û“ú=ª$±p%i¸•¤ <img src=#>

ডেমো: http://meuziere.free.fr/mario/gif.html


পুরানো সংস্করণ:

153

ট্রিক ব্যবহৃত: সংকুচিত পিএনজি ফাইলটিকে একটি HTML ফাইল হিসাবে সংরক্ষণ করুন এবং শেষে <img src = #> যুক্ত করুন

‰PNG


IHDR         _v”   PLTEjkkŒÿ±4%ã%ó’V   IIDAT×c[ʵj%C€ÍUŸ?|ìíœÿ02„ÿÿÊÐÊàÐÄÈÀ°ŠáÓë~†«ö3üZµž!jÚR‡P x( s6ïåÇ<img src=#>


158

ট্রিক ব্যবহৃত: আইএমজি ট্যাগের এসআরসি হিসাবে সংক্ষেপিত পিএনজির ছাঁটা ডেটা ইউআরআই সেট করে এবং ইউনিকোড অক্ষরে পুরো জিনিসটি প্যাক করে।


আপনার জেএস কনসোলে এটি কার্যকর করুন:

document.write(unescape(escape('🁩𫑧𘁳𬡣👤𨑴𨐺𪑭𨑧𩐻𨡡𬱥𝠴𛁩𥡂𣱒𭰰𢱇𩱯𠑁𠑁𣡓𥑨𡑕𩱁𠑁𠑷𠑁𠑁𤑁𩱍𠑁𠑂𩡄𜱡𥑁𠑁𠑄𡡂𣑖𡑖𬑡𭱒𬡪𤀫𮁎𠱘𪡮𤱘𮡫𩱨𥱁𠑁𠑓𥑬𡑑𥡑𢐱𜡍𢑗𮁘𢱅𣁖𬑊𥑏𠑺𥡕𡱮𮠹𛱇𦁺𬰷𤡭𨰯𮡁𮑨𤀯𛱹𪁄𤑅𣑲𩰰𣑔𢑷𣁃𢱧𩑈𥀶𜰶𡱦𝡶𜡍𛱸𨑴𦠴𪁡𭁰𤱂𫱤𤑯𢁧𫱁𭰾').replace(/uD./g,'')))


206

প্যাকযুক্ত (206 বি):

<img src=data:image;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQAgMAAABfD3aUAAAADFBMVEVqawRrjP+xNCXjnSXzkghWAAAASUlEQVQI12MIWxXKELVqJUOAzVUGnz9/GXzs7Rmc/zAyhP//yhDQEMrg0MTIwLCKgeHT636Gf6v2M/xatZ4hatpSBodQoHgoAw>

ডেমো


ব্যবহৃত সরঞ্জামগুলি:


আপনার ট্যাগ লাগবে না। কেবল ক্রোমের ডেটা ইউরি ব্যবহার করুন এবং এটি আপনার ইউআরএল বারে প্রবেশ করুন। 200 টি অক্ষর
অপ্টিমাইজার

এইচএম ... আমি বিবেচনা করেছি যে ডেটা ইউআরআই একটি বৈধ "প্রোগ্রাম" নয়। তবে আপনি ঠিক বলেছেন। সমস্ত ব্রাউজার অ্যাড্রেসবারে ডেটা ইউআরআই অনুমতি দেয়।
xem

এখন আপনি ওপি হিসাবে নিজেকে একটি লুফোল ব্যবহার করছেন;)। আপনি সমস্ত কাজ জিআইএফ ফর্ম্যাটটির বাহ্যিক / অন্তর্নির্মিত সংক্ষেপণে অফলোড করছেন। যদি তা দুর্দান্ত হয় তবে আমাদের সবার এখনই সেরা সংকোচনের হারের সাথে অস্পষ্ট চিত্রের ফর্ম্যাটগুলির শিকার করা উচিত, এবং আমি আমার নিজের সংক্ষেপণ লিখে অনেক কাজ বাঁচাতে পারতাম। ;)
মার্টিন এন্ডার

2
@ এক্সম ওয়েল, আপনার চ্যালেঞ্জ, আপনার কল। তবে আমরা যদি এখন সর্বাধিক সংক্ষেপিত বিদ্যমান ফাইল ফর্ম্যাটটির সন্ধান করি তবে এটি কিছুটা অর্থহীন বলে মনে হচ্ছে। ;)
মার্টিন ইন্ডার

1
এটি প্রদর্শিত হয় কাঁচা লিঙ্কটি মারা গেছে।
অ্যাডিসন ক্রম্প 20

27

গণিত, 412 292 252 212 163 148 143 141 টি অক্ষর

f=FromDigits[ToCharacterCode@#,2^16]~IntegerDigits~#2&;Image@Partition[f["넴╫賿橫ӣ鴥",256][[3#+1;;3#+3]]/256&/@"吀啐^A媾핮﻽溿뽫ﺩ埿⩕樨ꦪª⿼?ཐᐅ橕ꦪ喪"~f~4,12]

এটি ^Aকোড পয়েন্টে নিয়ন্ত্রণ চরিত্রের জন্য ক্যারেট স্বরলিপি ব্যবহার করে 1। গাণিতিকায় আমি অক্ষরটি অক্ষরে অক্ষরে এম্বেড করতে পারি, যদিও চারপাশের জিনিসগুলি অনুলিপি করার সময় এটি সমস্ত ধরণের কুৎসিততার দিকে পরিচালিত করে। যাইহোক, উপরেরটি আমার পূর্ববর্তী সংস্করণের চেয়ে কম 2 অক্ষর এবং আমি রঙ প্যালেট সূচকগুলি এনকোড করতে বেস -5 এর পরিবর্তে বেস -4 ব্যবহার করে অক্ষরগুলি পেয়েছি। এই মুহূর্তে আমি নীচের ব্যাখ্যা এবং স্ক্রিনশটটি ঠিক করতে বিরক্ত হচ্ছি না, তাই আমি আপনাকে আমার উত্তরের মূল বেস -5 সংস্করণটি দিয়ে এখানে রেখে যাচ্ছি:


f=FromDigits[ToCharacterCode@#,2^16]~IntegerDigits~#2&;Image@Partition[f["넴╫賿橫ӣ鴥",256][[3#-2;;3#]]/256&/@"ᯱ曎㌟뱮䚻륏Σ襺ﺦ您汜豈塘ᙉ雬儥衰ꐰꃾ纔ㆯ쭴뫋澖ᕿ蓉"~f~5,12]

আমি ইউনিকোড অক্ষরগুলিতে পিক্সেলগুলি এনকোড করছি (অক্ষর অনুসারে গণনা করার জন্য হাঁ!)

ম্যাথমেটিকায় দেখতে এটি দেখতে কেমন:

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

এখানে কিভাবে এটা কাজ করে:

প্রথমে আমরা একটি ফাংশন সংজ্ঞায়িত করি fযা ইউনিকোড স্ট্রিংগুলিকে (প্রথম যুক্তি হিসাবে পাস করা হয় #) পূর্ণসংখ্যার তালিকায় পরিণত করে। প্রথমে আমরা অক্ষর কোডগুলি পাই। এগুলি একটি বেস 65536 সংখ্যার অঙ্ক হিসাবে ব্যাখ্যা করা যায়। এবং তারপরে আমরা সেই সংখ্যাটিকে অন্য বেসে রূপান্তর করি, দ্বিতীয় আর্গুমেন্ট হিসাবে পাস করেছি #2

এখন এর দীর্ঘতর ইউনিকোড স্ট্রিংয়ের জন্য এটি করা যাক। ToCharacterCodeএই তালিকা উত্পাদন করে:

{7153, 26318, 13087, 48238, 18107, 47439, 931, 35194, 62191, 65190, \
 24744, 57782, 27740, 35912, 22616, 5705, 38636, 20773, 34928, 42032, \
 41214, 32404, 12719, 52084, 47819, 28566, 5503, 33993}

65536 বেস হিসাবে এটি চিকিত্সা:

7933607912575313477287527915733176998797205587959732019781370103381...
4831246938139171755469819519515972565671101475553962564506286523593

এবং বেস 5 তে রূপান্তর করা:

{2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
 2, 2, 2, 3, 3, 3, 4, 4, 3, 4, 2, 2, 2, 2, 3, 4, 3, 4, 4, 4, 3, 4, 4, \
 4, 2, 2, 3, 4, 3, 3, 4, 4, 4, 3, 4, 4, 4, 2, 3, 3, 4, 4, 4, 4, 3, 3, \
 3, 3, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 3, 3, 1, 3, 3, 3, \
 2, 2, 2, 2, 2, 3, 3, 3, 1, 3, 3, 1, 3, 3, 3, 2, 3, 3, 3, 3, 1, 1, 1, \
 1, 3, 3, 3, 3, 4, 4, 3, 1, 4, 1, 1, 4, 1, 3, 4, 4, 4, 4, 4, 1, 1, 1, \
 1, 1, 1, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 2, 2, 1, 1, 1, \
 2, 2, 1, 1, 1, 2, 2, 2, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 2, 3, 3, 3, 3, \
 2, 2, 2, 2, 3, 3, 3, 3}

সেগুলি হ'ল পিক্সেলের রঙ সূচকগুলি যাতে নীল, লাল, সবুজ, কমলা হয়। আমরা সেই সংখ্যার তালিকাকে সূচকে ব্যবহার করি, যা রঙ প্যালেট।

রঙ প্যালেট জন্য এখন। এটাই "넴╫賿橫ӣ鴥"। আমরা সঠিক স্ট্রিং নির্বাচন করতে উপরের সূচকগুলি ব্যবহার করি। তারপরে আমরা আবার আমাদের ফাংশনটি প্রয়োগ করি তবে বেস 256 ব্যবহার করে। এটি 12 পূর্ণসংখ্যার একটি তালিকা দেয়:

{177, 52, 37, 107, 140, 255, 106, 107, 4, 227, 157, 37}

আমরা ;;বর্তমান রঙের জন্য প্রাসঙ্গিক স্লাইসটি বের করতে রেঞ্জ ইনডেক্সিং ব্যবহার করি ।

শেষ পর্যন্ত, আমরা কেবল এটির Partitionসারিগুলিতে ভাগ করে এটিকে 12খাওয়ানোর জন্য ব্যবহার করি Image। ভাল খবর!

সম্পাদনা: ইউনিকোড প্যাকিংয়ের সাথে আরএলই আর মূল্যহীন ছিল না। এটি সরানো 50 অক্ষর সংরক্ষণ করেছে।

সম্পাদনা: অবশ্যই, আরএলই ছাড়া, বেস 16 এ যাওয়ার দরকার নেই।

সম্পাদনা করুন: এবং যখন আমরা এটিতে এসেছি তখন কেন রঙিন প্যালেটটি ইউনিকোড-প্যাক করবে না? (আমার কাছে একটি কুঁচক আছে যা পুরো রঙ প্যালেটটিকেও একটি একক স্ট্রিং করে এবং Partitionসেখানে ব্যবহার করে আমি আরও কিছুটা সঞ্চয় করতে পারি I'll আমি পরে এটি চেষ্টা করব))

সম্পাদনা: হ্যাঁ, এটি আরও 5 বাইট শেভ করে।


1
আপনি কি ফলাফলের স্ক্রিনশট যুক্ত করতে আপত্তি করবেন? (এটি নয় যে আমি আপনার কোডকে বিশ্বাস করি না, তবে এটি কীভাবে প্রদর্শিত হয় সে সম্পর্কে কৌতূহল: একটি উইন্ডোতে? ব্রাউজারে? অন্যথায়?)
xem

@xem করবে এটি একটি REPL পরিবেশ গ্রাফিকাল ইন এবং আউটপুট সক্ষম।
মার্টিন ইন্ডার

নিশ্চিত নয়, তবে আপনি কি চিত্রের নীচের অংশটি মিরর করছেন?
অপ্টিমাইজার

1
@ অপ্টিমাইজার না, আমি সন্দেহ করি যে আমি সাশ্রয়ের চেয়ে কম অক্ষরে এটি করতে সক্ষম হব।
মার্টিন ইন্ডার

আমি যখন ম্যাথমেটিকা ​​ডকুমেন্টেশনে সন্ধান করি তখন আমি টিলডে কোনও ব্যবহার দেখি না তবে এটি এখানে উপস্থিত হয় যে আপনি এটি একটি ফাংশনের ফলাফলকে অন্য ফিডে খাওয়ানোর জন্য ব্যবহার করছেন এবং তারপরে সেই দ্বিতীয় ফাংশনে (ইন্টিজারডিজিটস) অতিরিক্ত যুক্তি প্রয়োগ করবেন? এছাড়াও, রঙ প্যালেট: চিত্রটি দেখলে মনে হয় যে এখানে কেবলমাত্র চারটি রঙ রয়েছে তবে আপনার রঙ প্যালেটটি এর চেয়ে বেশি অন্তর্ভুক্ত বলে মনে হচ্ছে: {177, 52, 37, 107, 140, 255, 106, 107, 4, 227 , 157, 37}। চিত্রের জন্য ডকুমেন্টেশনের দিকে তাকানো দেখে মনে হচ্ছে এটি কালারস্কেল -> আরজিবি-র মতো অতিরিক্ত বিকল্পগুলি সরবরাহ না করা পর্যন্ত গ্রেস্কেল প্রিন্ট করে।
ক্রিপ্টোকম্যান্ডার

20

জাভা: 398 377

void s(){new java.awt.Frame(){public void paint(java.awt.Graphics g){int i=0,x,m[]={12226,44085194,467839834,0x5abea55a,0x5bbd5d50,0x5ffe9540,0x5ffe9540,0x5aee5d50,531408218,334277466,333492170,0xc02fc2},c[]={7048447,0xB13425,6974212,0xE39D25};for(setSize(99,99);i<192;g.setColor(new java.awt.Color(c[m[x]&3])),m[x]/=4,g.drawLine(x+40,60-i%16,x+40,60-i++%16))x=i/16;}}.show();}

প্রতিটি কলামের জন্য একটি ইনপ্যাক করে কেবল স্প্রাইট আঁকুন। একটি সম্পূর্ণ প্রোগ্রামে প্রদর্শিত:

class P{
    public static void main(String[]a){
        new P().s();
    }

    void s(){
        new java.awt.Frame(){           
            public void paint(java.awt.Graphics g){
                int i=0,x,m[]={12226,44085194,467839834,0x5abea55a,0x5bbd5d50,0x5ffe9540,
                               0x5ffe9540,0x5aee5d50,531408218,334277466,333492170,0xc02fc2},
                          c[]={7048447,0xB13425,6974212,0xE39D25};
                for(setSize(99,99);i<192;
                    g.setColor(new java.awt.Color(c[m[x]&3])),m[x]/=4,
                    g.drawLine(x+40,60-i%16,x+40,60-i++%16)
                )x=i/16;
            }
        }.show();
    }
}

বাধ্যতামূলক স্ক্রিনশট:

এটা আমি মারিও


1
আপনি একটি ব্যবহার করে 9 বাইট সংরক্ষণ করতে পারেন import java.awt.*
কেভিন ক্রুইজসেন

15

x86 মেশিন কোড, 102 বাইট

এটি কীভাবে কাজ করে: চিত্রটি প্যালেট ব্যবহার করে 2-বিট চিত্র হিসাবে সংরক্ষণ করা হয়। চিত্রটির প্রতিটি সারি 3 বাইট হিসাবে সংরক্ষণ করা হয়, তার পরে রঙ প্যালেটের 1 বাইট থাকে। এটি ডেটাটিকে একটি একক DWORD হিসাবে লোড করতে দেয়। বারো পিক্সেলটি সর্বনিম্ন 2 টি বিটকে মাস্কিং করে ভিডিও মেমোরিতে লিখে আউটপুট দেয় এবং তারপরে পুরো মানটিকে দুটি বিট ডান স্থানান্তরিত করে। সারিটির জন্য পিক্সেলগুলি আউটপুট হয়ে গেলে প্যালেট বাইটটি ভিজিএ প্যালেটে লেখা হয়। যখন চিত্র অঙ্কন শেষ হয়, প্রোগ্রামটি একটি অসীম লুপে প্রবেশ করে।

বাইনারি তৈরির জন্য অ্যাসেম্বলি কোড:

org 100h
mov al,13h
int 10h
les ax,[bx]

mov si,image_data
draw:
add di,320-12
lodsd
xchg eax,ebx
mov cl,12
row:
mov ax,bx
and al,3
stosb
shr ebx,2
loop row
xchg ax,bx
mov dx,0x3c9
out dx,al
test al,al
jnz draw

image_data: db 21,0,85,0xb1/4, \
5,0,64,0x34/4,            \
165,190,87,0x25/4,        \
185,191,127,0x6b/4,       \
185,254,254,0x8c/4,       \
233,191,106,0xff/4,       \
213,255,95,0x6a/4,        \
165,168,85,0x6b/4,        \
169,40,106,0x4/4,         \
170,0,170,0xe3/4,         \
47,195,248,0x9d/4,        \
63,0,252,0x25/4,          \
15,0,240,111,             \
5,20,80,111,              \
169,85,106,111,           \  
170,85,170 

বেজ-64 এনকোডেড বাইনারি, এটি সংরক্ষণ করুন Mario.com যেমন এটি চালানোর জন্য: sBPNEMQHvigBgcc0AWatZpOxDInYJAOqZsHrAuL1k7rJA + + 6EwHXiwxUAVSwFAEANpb5XCbm / fxq5 / v4j6b9qP9X / XxqlqFUaqShqAaoAqjgvw / gnPwD8CQ8A8G8FFFBvqVVqb6pVqg ==

নমুনা আউটপুট: এখানে চিত্র বর্ণনা লিখুন


10

জিআইএফ - 93 বাইট

ছবিটির হার্ডকোডিং এখন আপাতদৃষ্টিতে ঠিক আছে, তাই ... হ্যাঁ? : ডি

GIF87a  ¡ kŒÿã%jk±4%,       6„‡héj„Af-ÕdÎy\%    …R˜0”ŒÈJ­³I©±²û“ú=ª$±p%i¸•¤  ;

নোটপ্যাড ++ এ যেমন দেখা গেছে

এনপি ++ এ স্ক্রিনশট

পিএইচপি হিসাবে - 131 বাইট

<? header("Content-Type:image/gif");?>GIF87a  ¡ kŒÿã%jk±4%,       6„‡héj„Af-ÕdÎy\%  …R˜0”ŒÈJ­³I©±²û“ú=ª$±p%i¸•¤  ;

1
আপনি দয়া করে কোথাও আপনার জিআইএফ আপলোড করতে পারেন (উদাহরণস্বরূপ ctrlv.in)? আমি এটি পিএনজি :) এর পরিবর্তে আমার এন্ট্রিতে ব্যবহার করতে চাই :)
xem


@নিথেডার্কআবসোল আমি নিশ্চিত না যে আপনি কীভাবে এর আকারটি গণনা করেছেন তবে আমি 150 বাইট গণনা করছি। নির্বিশেষে, স্কোরিং অক্ষর দ্বারা হয় এবং এটি 114 টি অক্ষর বলে মনে হয়।
মার্টিন এন্ডার

2
হ্যাঁ, পিএইচপি স্নিপেট আমার পক্ষে ঠিক আছে (এমনকি আপনি যদি শেষ 2 বাইট সরিয়ে ফেলতে পারেন) তবে কাঁচা জিআইএফ স্নিপেট কোনও প্রোগ্রাম নয়।
xem

1
@ এক্সেম: ব্রাউজারটি যদি এইচটিএমএল / জাভাস্ক্রিপ্ট / ইত্যাদির জন্য "দোভাষী" হিসাবে বিবেচিত হয় এবং এটি একই পদ্ধতির মাধ্যমে কাঁচা জিআইএফ স্নিপেট খাওয়ানো হয় তবে কাঙ্ক্ষিত আউটপুটের ফলাফল হয় ... পার্থক্যটি ছোট হয়ে যায়
মাক হাঁস

10

বাশ + চিত্রম্যাগিক: 350 331 321 টি অক্ষর

(প্যালেটটি নির্লজ্জভাবে মার্টিন বাটনার এর উত্তর থেকে চুরি হয়ে গেছে ।)

p=(B13425 6B8CFF 6A6B04 E39D25)
for c in 21 0 85 5 0 64 165 190 87 1{85,91,27,85} 254{,} 233 191 106 213 255 95 165 168 85 169 40 106 170 0 170 47 195 248 63 0 252 15 0 240 5 20 80 169 85 106 170 85 170;{
for j in 0 2 4 6;{
d+=(-fill \#${p[c>>j&3]} -draw point\ $[i%12],$[i++/12])
}
}
convert -size 12x16 xc: "${d[@]}" x:

নমুনা আউটপুট:

মারিও

পরিদর্শন করার জন্য এটিকে সহজে যোগ -scale 120করার convert'র পরামিতি একটি 10x ছোটো সংস্করণ পেতে:

মারিও 10 স্কেল


2
s/185 191 127 185 254 254/1{85,91,27,85} 254{,}/; s/do/{/; s/done/}/
মাধ্যাকর্ষণ

ডোহ। আমি এমনকি upvoted DigitalTrauma এর সংশ্লিষ্ট ডগা , কিন্তু আমি যে বিস্মরণ রাখা {.. }। ধন্যবাদ, গ্রেগ্রিটি
manatwork

8

অক্টোটো / এক্সও-চিপ , 70 বাইট

অক্টোটো একটি উচ্চ স্তরের সমাবেশ ভাষা যা CHIP-8 ভার্চুয়াল মেশিনের বাইটোকোড নির্দেশাবলীতে সংকলন করে । অক্টোলো ওভারলেড বিটপ্লেনের মাধ্যমে 4-বর্ণ বিটম্যাপ আঁকার ক্ষমতা সহ বেসিক CHIP-8 বাইটকোডটিতে "XO-Chip" নামে কিছু কাস্টম এক্সটেনশন সরবরাহ করে।

সংকলিত বাইটগুলি নিম্নরূপ:

0xA2 0x08 0xF3 0x01 0xD0 0x00 0x1F 0x00 0x3F 0xC0 0x39 0x00 0x51 0x00 0x58 0x80
0x21 0xE0 0x00 0x00 0x3F 0x00 0x7F 0xE0 0xFF 0xF0 0x36 0xC0 0x1F 0x80 0x3F 0xC0
0x39 0xC0 0x70 0xE0 0xF0 0xF0 0x00 0x00 0x00 0x00 0x3F 0x80 0x7F 0xE0 0x7F 0xF0
0x3F 0xE0 0x1F 0xC0 0x37 0x00 0x76 0xE0 0xF0 0xF0 0xE9 0x70 0xE0 0x70 0xC0 0x30
0x00 0x00 0x70 0xE0 0xF0 0xF0

মারিও

আপনার ব্রাউজারে এটি এখানে চালান: http://johnearnest.github.io/Octo/index.html?gist=33aa37d4717a425ccd4f

অক্টোটো সমাবেশ ভাষাটি সম্ভবত এটি আরও আলোকিত করে যা বাইকোড তৈরি করে:

: main
    i := mario
    plane 3
    sprite v0 v0 0

: mario
    0x1F 0x00 0x3F 0xC0 0x39 0x00 0x51 0x00 
    0x58 0x80 0x21 0xE0 0x00 0x00 0x3F 0x00 
    0x7F 0xE0 0xFF 0xF0 0x36 0xC0 0x1F 0x80 
    0x3F 0xC0 0x39 0xC0 0x70 0xE0 0xF0 0xF0 
    0x00 0x00 0x00 0x00 0x3F 0x80 0x7F 0xE0 
    0x7F 0xF0 0x3F 0xE0 0x1F 0xC0 0x37 0x00 
    0x76 0xE0 0xF0 0xF0 0xE9 0x70 0xE0 0x70 
    0xC0 0x30 0x00 0x00 0x70 0xE0 0xF0 0xF0 

মূল প্রোগ্রামটি তিনটি বাই-বাইট নির্দেশ। iডেটা বিভাগের শুরুতে মেমরি সূচকের রেজিস্টার সেট করুন , অঙ্কন বিমান 3 নির্বাচন করুন (3 একটি বিটমাস্ক; এটি আপনাকে উভয় বিটপ্লেনের সাথে 4 বর্ণ মোডে আঁকতে ইচ্ছুক করে) এবং তারপরে প্রদত্ত x এবং y অবস্থানে একটি স্প্রিট আঁকুন নিবন্ধ v0(শূন্য থেকে প্রাথমিক) চূড়ান্ত 0 স্প্রাইটের আকার সরবরাহ করে যা সুপারশিপ এবং এক্সও-চিপ নির্দেশিকা সেটগুলিতে একটি 16x16 স্প্রাইট আঁকবে। 4 রঙ মোডে, প্রথম বিমানের বিটম্যাপটি তত্ক্ষণাত্ দ্বিতীয় বিমানের বিটম্যাপ অনুসরণ করে।

প্লেনগুলি কীভাবে কাজ করে তা দেখতে, এই পরিবর্তিত প্রোগ্রামটি বিবেচনা করুন যা মারিও আঁকার পরে ডানদিকে একটি বিমানকে স্ক্রোল করে:

mario2

: main
    i := mario
    plane 3
    sprite v0 v0 0
    plane 2
    scroll-right
    scroll-right
    scroll-right
    scroll-right

: mario
    0x1F 0x00 0x3F 0xC0 0x39 0x00 0x51 0x00 
    0x58 0x80 0x21 0xE0 0x00 0x00 0x3F 0x00 
    0x7F 0xE0 0xFF 0xF0 0x36 0xC0 0x1F 0x80 
    0x3F 0xC0 0x39 0xC0 0x70 0xE0 0xF0 0xF0 
    0x00 0x00 0x00 0x00 0x3F 0x80 0x7F 0xE0 
    0x7F 0xF0 0x3F 0xE0 0x1F 0xC0 0x37 0x00 
    0x76 0xE0 0xF0 0xF0 0xE9 0x70 0xE0 0x70 
    0xC0 0x30 0x00 0x00 0x70 0xE0 0xF0 0xF0 

আপনি যদি এটি উপভোগ করেন তবে আপনি হয়ত আমার সাথে থাকা আরও একটি সমাধান সমাধান করতে পারেন Oct এই সরঞ্জামটির চারপাশে অক্টোবর মাসের জন্য আসলে একটি গেম জ্যাম চলছে।


6

গ্রোভি 417 386

নরক হিসাবে মজা, কিন্তু একটি ভয়ানক চর গণনা সঙ্গে। গ্রোভিএফএক্স দরকার

m=[b:'6B8CFF',r:'B13425',g:'6A6B04',o:'E39D25'];groovyx.javafx.GroovyFX.start{stage(visible:!0){scene(width:60,height:80){flowPane{"3b5r4b2b9r1b2b3g2o1g1o3b1b1g1o1g3o1g3o1b1b1g1o2g3o1g3o1b2g4o4g1b3b7o2b2b2g1r3g4b1b3g1r2g1r3g1b4g4r4g2o1g1r1o2r1o1r1g2o3o6r3o2o8r2o2b3r2b3r2b1b3g4b3g1b4g4b4g".toList().collate 2 each{l->(l[0]as int).times{rectangle(width:5,height:5,fill:"#"+m[l[1]])}}}}}}

ungolfed:

m=[b:'6B8CFF',
   r:'B13425',
   g:'6A6B04',
   o:'E39D25']           

s=5

groovyx.javafx.GroovyFX.start {bd->
  stage(visible: !0) {
    scene(width:s*12, height:s*16) {
      flowPane {
        "3b5r4b 2b9r1b 2b3g2o1g1o3b 1b1g1o1g3o1g3o1b 1b1g1o2g3o1g3o 1b2g4o4g1b 3b7o2b 2b2g1r3g4b 1b3g1r2g1r3g1b 4g4r4g 2o1g1r1o2r1o1r1g2o 3o6r3o 2o8r2o 2b3r2b3r2b 1b3g4b3g1b 4g4b4g"
          .replaceAll(" ", "")
          .toList()
          .collate(2) 
          .each { l->
            t=l[0] as int
            cr=m[l[1]]
            t.times {
              rectangle(width:s, height:s, fill:"#"+cr) 
            }
          }
      }
    }
  }
}

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


grep()পরিবর্তেtoList()
সিএফ্রিক

5

এইচটিএমএল / জেএস, 427 408 264 256 239 226 অক্ষর

ওবফাসকাটভিট, 271 270 264 256 239 226 চর

Obfuscatweet ব্যবহার করে এটিকে <250: D এ সংক্ষিপ্ত করে পরিচালনা করতে সক্ষম হন

document.write(unescape(escape('🁳𨱲𪑰𭀾𨰽𦰢𝡂𞁃𡡆𘠬𘡂𜐳𝀲𝐢𛀢𝡁𝡂𜀴𘠬𘡅𜰹𡀲𝐢𧐻𨐽𙰰𜐵𝐰𜀰𝐵𝐵𝀰𠑂𡑃𜀲𡑆𡑆𠰲𡑂𡡂𡠲𠡆𡑁𞀰𜱆𡡆𜀰𠐶𠐰𜀲𠐶𞑁𞁁𠐵𝑁𠑆𞑄𝰶𡡆𡀵𝐷𡡆𝐵𝐵𡠰𝐴𜐵𜀲𠐰𜁁𞁁𠐰𜁁𠐧𞱷𪑴𪀨𩁯𨱵𫑥𫡴𚑦𫱲𚁩🐰𞱩🀹𝠻𭱲𪑴𩐨𙰼𨡲🠧𚐩𮱨🐨𙰰𜀰𙰫𬁡𬡳𩑉𫡴𚁡𛡳𫁩𨱥𚁩𛁩𚰽𝠩𛀱𝠩𛡴𫱓𭁲𪑮𩰨𝀩𚐮𬱬𪑣𩐨𛐱𜠩𞱦𫱲𚁪🐰𞱪🀱𜠻𭱲𪑴𩐨𙰼𬡰𘁳𭁹𫁥🐢𬁡𩁤𪑮𩰺𜐠𞀻𨡡𨱫𩱲𫱵𫡤𞠣𙰫𨱛𪁛𪠫𚱝𧐫𙰢🠼𛱲𬀾𙰩𚐻𯐼𛱳𨱲𪑰𭀾').replace(/uD./g,'')))

নীচের কোডটি এর দ্বারা গঠিত is

কৌশল ব্যবহৃত: রঙের টাইলগুলির স্ট্রিং বেস 4 এ রূপান্তরিত করুন, এটিকে হেক্সাডেসিমাল স্ট্রিংয়ে রূপান্তরিত করুন into বেস 4 এর সূচক রঙকে বোঝায় (0 = নীল, 1 = রেড, ইত্যাদি) একটি ইনলাইন পি সহ সিএসএস ব্যবহার করা হয় কারণ ডিভগুলি প্রসারিত করার জন্য সামগ্রীর প্রয়োজন হয় (পিও সংক্ষিপ্ত হয়)। সিএসএসের একটি চিঠি দিয়ে শুরু হওয়া দরকার, সিএসএস ট্যাগগুলির আগে 'এ' চাপ দেওয়া হয়।

সিএসএস থেকে প্যাডিং পিক্সেল দেয়। এর কোনওটিই ইউনিকোড অক্ষর ব্যবহার করে না, যা আমি যাইহোক এর সাথে খুব বেশি পরিচিত নই, যদিও এটি সম্ভবত সাব-300 যেতে চাই। প্যাডিংটি ব্যবহার করার ক্ষেত্রে আপেক্ষিক সুবিধাটি হ'ল আপনি যেমন প্রতিটি পিক্সেল আকারে চান তা আকারে চিত্রটি ফুটিয়ে তুলতে পারেন। আমি 9 পিক্সেল ব্যবহার করেছি, তবে আপনি যদি অতিরিক্ত চরিত্র ব্যয় করেন তবে আপনি প্রতিনিধিত্বমূলক পিক্সেলটিতে 99 পিক্সেল পর্যন্ত পেতে পারেন।


সিএসএস, 127 119 118 114 100 13 0 টি অক্ষর

থেকে স্যুইচ pকরতে rpপ্রয়োজনীয়তার অপসারণ display:inline, খরচ + 1 গৃহস্থালির কাজ, -15! অক্ষর!

সমস্ত রঙ মুছে ফেলা হয়েছে এবং এটিকে জেএস -87 চরগুলিতে একটি অ্যারেতে রেখে দিয়েছে। তারপরে আমি স্রেফ সমস্ত সিএসএস সরিয়েছি

জেএস, 300 289 280 275 329 325 অক্ষর

c=["6B8CFF","B13425","6A6B04","E39D25"];a='0155000555540ABEC02EFEFC2EBFBF2BFEA803FFF00A6A002A69A8AA55AAF9D76FFD557FF5555F0541502A00A8AA00AA';with(document)for(i=0;i<96;write('<br>')){h=('000'+parseInt(a.slice(i,i+=6),16).toString(4)).slice(-12);for(j=0;j<12;write('<rp style="padding:1 8;background:#'+c[h[j++]]+'"></rp>'));}

আমি এই প্লেইন জেএস থেকে হেক্স স্ট্রিং প্রসেসিংয়ের মাধ্যমে যতটা সম্ভব কাটতে চেষ্টা করেছি, তবে এটি আমার প্রথম চেষ্টা হিসাবে দেওয়া হয়েছে, আমি কেবলমাত্র যা জানি তা ব্যবহার করে আমি এ পর্যন্ত চলে এসেছি। এইচটিএমএল রচনাটি এমন একটি ফাংশন দ্বারা সংক্ষিপ্ত করা হয়েছে যা ট্যাগ যুক্ত করে এবং ক্লাসগুলি প্রদর্শন করতে রঙ নির্ধারণ করতে বেস 4 মানটি ব্যবহার করে।

অতিরিক্ত সংক্ষিপ্তকরণ ব্যবহার করে, [] বন্ধনীর সাথে চার্টটি প্রতিস্থাপন করা হয় এবং এ0 শ্রেণি সরিয়ে পি-র জন্য ডিফল্ট রঙ হিসাবে নীল সেট করে অতিরিক্ত 10 টি অক্ষর সংরক্ষণ করে। rpট্যাগ ব্যবহার করার জন্য অতিরিক্ত ব্যয় সিএসএসে একটি বিশাল ক্ষতির দ্বারা অফসেট।

লুপ প্যাড সরাতে কেবল ব্যবহারের ক্ষেত্রে '000' যোগ করতে এবং এটি থেকে 12 টুকরো টুকরো টুকরো করা থেকে অতিরিক্ত অফসেট।

রঙগুলির জন্য অতিরিক্ত জেএস যুক্ত করুন, তারপরে প্যাডিংটি সেখানে দিন। প্যাডিং সহ একটি ত্রুটি লক্ষ্য করেছেন যাতে ঠিক করতে 2 অতিরিক্ত অক্ষর প্রয়োজন। একগুচ্ছ লুপগুলি সংক্ষেপিত

এইচটিএমএল ফাইল, 430 429 419 399 366 342 অক্ষর

ডেমো

<script>c=["6B8CFF","B13425","6A6B04","E39D25"];a='0155000555540ABEC02EFEFC2EBFBF2BFEA803FFF00A6A002A69A8AA55AAF9D76FFD557FF5555F0541502A00A8AA00AA';with(document)for(i=0;i<96;write('<br>')){h=('000'+parseInt(a.slice(i,i+=6),16).toString(4)).slice(-12);for(j=0;j<12;write('<rp style="padding:1 8;background:#'+c[h[j++]]+'"></rp>'));}</script>

নিস! আমি আপনাকে আপনার কোডের সমস্ত লাইন ব্রেকগুলি সরাতে এবং একটি ডেমো ( c99.nl ) এর জন্য একটি লিঙ্ক সরবরাহ করতে পরামর্শ দেব । বোনাস হিসাবে, আপনি ইউনিকোড অক্ষরে xem.github.io/obfuscatweet ব্যবহার করে আপনার এন্ট্রি প্যাক করতে পারেন । এটি আপনার স্কোরকে উন্নত করবে।
xem

এছাড়াও, আপনি আপনার & lt; html> ট্যাগগুলি মুছে ফেলতে পারেন, & lt; শৈলী> ট্যাগটি শেষে রেখে দিতে পারেন এবং সর্বশেষ সিএসএস বিধিটির / শৈলী এবং অনুবর্তী "}" মুছে ফেলতে পারেন।
xem

@ এক্সিম ওকে আমি সমস্ত লাইন কেটে ফেলেছি এবং সমস্ত কিছু ছড়িয়েছি। আমি চেষ্টা করব এবং ওবফাসকাটভিটের জন্য জেএসকে বিভক্ত করার সর্বোত্তম উপায়টি আবিষ্কার করব।
কমপাস

1
obfuscatweet কোনও জেএস কোড গ্রহণ করে (যাতে আপনি সেখানে আপনার 289 জেএস অক্ষর রাখতে পারেন) বা কোনও এইচটিএমএল কোড (যাতে আপনি এখানে আপনার এইচটিএমএল ফাইলটি অনুলিপি করতে পারেন)। ওফসকাটওয়েটের আউটপুট একটি ব্রাউজারের কনসোল বা ডান চরসেট মেটা ট্যাগ ব্যবহার করে একটি এইচটিএমএল ফাইলে কার্যকর করা যেতে পারে।
xem

পিএসএস, আপনি সিএসএস অংশের শেষ "}" মুছে ফেলতে ভুলে গেছেন। এটি ছাড়া এটি কাজ করে।
xem

5

ম্যাটল্যাব, 194 193 বাইট

কোড:

imagesc(dec2base(base2dec(reshape('5FVQL5VVVT50A4L4HA594GAHA45A015DAL551G2L41GO101VO0A7FMAANVVAAVVVQ5VLVL40L8100L80',5,[])',32),4)-48);colormap([106 107 4;107 140 255;227 157 37;177 52 37]/255)

এবং আউটপুট:

মারিও

মূলত আমি মারিও ইমেজটি রূপান্তর করেছি যাতে প্রতিটি পিক্সেল একটি 2 বিট সংখ্যা হয়। আমি তখন 32 টি বেসে এনকোড করে যা কোডে প্রদর্শিত স্ট্রিং। এই স্ট্রিংটি প্রথমে 5 x 16 (প্রতিটি সারি (12px) 2 বিট সংখ্যার বেস 32 এ এনকোড করা হয়েছিল) এর পরে পুনরায় আকার দেওয়া হয়, তারপরে আবার বেসকে 10 এ রূপান্তরিত করা হয় ফলাফলটি আবার একবার রূপান্তরিত হয়, এবার বার 4 এর 12x16 অ্যারের ফলন করে base 2 বিট সংখ্যা। এই সংখ্যাগুলি ব্যবহার করে চক্রান্ত করা হয়েছে imagesc()। তারপরে রঙগুলি colormap()প্রয়োজনীয় হেক্স মানগুলির একটি কাস্টম রঙের মানচিত্র ব্যবহার করে নির্ধারিত হয় ।

মজাদারভাবে, ব্যবহৃত বাইটের একটি তৃতীয়াংশ কেবল ম্যাটল্যাবকে প্লট করার পরে সঠিক রঙ সেট করার জন্য পেয়েছে। রঙের কোডটি পুরো বেস 32 স্ট্রিংয়ের মতো প্রায় একই সংখ্যক বাইট!

রঙটি সংশোধন না করে ( colormap()কলটি সরিয়ে ফেলুন ) এটি 135 বাইট এবং এটি ম্যাটল্যাব আর ২০১৩ এ ডিফল্ট রঙের মানচিত্রের আউটপুট:

মারিও, কোনও ম্যাপিং নেই


4

জাভাস্ক্রিপ্ট / সিএসএস / এইচটিএমএল 446 430 407 353 328 316

আমি যতটা পারি ততই গল্ফ করেছি এবং কিছু নোংরা এইচটিএমএল / জেএস দিয়ে শেষ করেছি, তবে যাই হোক না কেন ... এটি কাজ করে works

সম্পাদনা : এটি হয়ে গেছে ... আমি শেষ করেছি।

গুরুত্ব সহকারে এবার সম্পাদনা করুন

জাভাস্ক্রিপ্ট

for(i=0;i<192;)document.body.innerHTML+=(i%12?"":"<br>")+"<font color=#"+["6B8CFF","B13425","6A6B04","E39D25"]["000111110000001111111110002223323000023233323330023223332333022333322220000333333300002212220000022212212220222211112222332131131233333111111333331111111133001110011100022200002220222200002222"[i++]]+">█"

JSFiddle


লিঙ্কযুক্ত জেএসফিডেল এখানে পোস্ট করা একই সংস্করণ ধারণ করে না এবং কাজ করে না (অন্তত ফায়ারফক্সে আমার জন্য নয়)। যাইহোক, ভাল ফলাফলের জন্য একটি *{line-height:1}সাহায্য করবে।
manatwork

@ মান্যাটওয়ার্ক আবার চেষ্টা করুন।
স্যামশাইনঅজেক্ট

খুশী হলাম। তবে ডিভ কেন? শুধু আমার কৌতূহল জন্য, আমি একটি ECMAScript সংস্করণ চেষ্টা করেছিলাম। 372 টি অক্ষর পেয়েছেন: jsfiddle.net/768h7brb
manatwork

কারণ <div></div>তার চেয়ে কম document.createElement('div')। এবং জেএসফিডাল পছন্দ করে নাdocument.write
সামারশিনিঅবজেক্ট

1
তিন অপারেটর অবস্থার বিপরীত তুলনা এর ডান পাশের পরিত্রাণ পেতে: i%12?"":"<br>"
manatwork

4

মতলব - 449/332 305 বাইট

আংশিক সংক্ষেপণ + নিম্ন চিত্রের প্রতিসাম্য ব্যবহার করে:

a=[0,0];b=[2,2];c=[3,3];d=[a,0];f=[b,2];g=[c,3];h=[b,b];i=[a,a];k=[1,1];l=[0,f,1,2;h,k;c,2,1,3,1;g,k,1;c,k,k;a,k,1,0;0,f,a;h,a];imshow(uint8([d,k,1,k,i;a,k,k,k,k,1,0;a,f,c,2,3,d;0,2,3,2,g,2,g,0;0,2,3,b,g,2,g;0,b,c,c,h,0;d,g,g,3,a;a,b,1,f,i;[l fliplr(l)]]),[107 140 255;177 52 37;106 107 4;227 157 37]/255)

- আংশিকভাবে সংকুচিত সংস্করণ (332 বাইট):

a=[0,0]
b=[2,2]
c=[3,3]
d=[a,0]
e=[1,1,1]
f=[b,2]
g=[c,3]
h=[b,b]
i=[a,a]
imshow(uint8([d,e,1,1,i;a,e,e,e,0;a,f,c,2,3,d;0,2,3,2,g,2,g,0;0,2,3,b,g,2,g;0,b,c,c,h,0;d,g,g,3,a;a,b,1,f,i;0,f,1,b,1,f,0;h,e,1,h;c,2,1,3,1,1,3,1,2,c;g,e,e,g;c,e,e,1,1,c;a,e,a,e,a;0,b,2,i,f,0;h,i,h]),[107 140 255;177 52 37;106 107 4;227 157 37]/255)

সম্পূর্ণ সঙ্কুচিত সংস্করণ (449 বাইট):

imshow(uint8([0,0,0,1,1,1,1,1,0,0,0,0;0,0,1,1,1,1,1,1,1,1,1,0;0,0,2,2,2,3,3,2,3,0,0,0;0,2,3,2,3,3,3,2,3,3,3,0;0,2,3,2,2,3,3,3,2,3,3,3;0,2,2,3,3,3,3,2,2,2,2,0;0,0,0,3,3,3,3,3,3,3,0,0;0,0,2,2,1,2,2,2,0,0,0,0;0,2,2,2,1,2,2,1,2,2,2,0;2,2,2,2,1,1,1,1,2,2,2,2;3,3,2,1,3,1,1,3,1,2,3,3;3,3,3,1,1,1,1,1,1,3,3,3;3,3,1,1,1,1,1,1,1,1,3,3;0,0,1,1,1,0,0,1,1,1,0,0;0,2,2,2,0,0,0,0,2,2,2,0;2,2,2,2,0,0,0,0,2,2,2,2]),[107 140 255;177 52 37;106 107 4;227 157 37]/255)

উভয় ক্ষেত্রেই আউটপুট (স্পষ্টত স্ক্রিনে ম্যাগনিটিড হয়েছে, আসলটি 12x16pix):
MarioMagnified


আরে আমি ভাবলাম যদি কেউ কোনওভাবে এই প্রতিসাম্যটি কাজে লাগায়। অবশেষে যে পদ্ধতিটি দিয়েছিলাম তার সাথে আমি কোনও উপায় কমাতে পারিনি।
অবিরাম

4

সি, 4999 বাইট

এটি একেবারে এখানে কয়েকটি উত্তরের সাথে প্রতিযোগিতা করতে পারে না, তবে আমি ভেবেছিলাম যে আমি একটি সি উত্তর শট দেব। কোডটি একটি একক দীর্ঘ লাইন, সুতরাং এখানে একটি পেস্টবিন লিঙ্ক দেওয়া আছে। আপনি যদি পছন্দ করেন তবে এখানে জিপিড কোডটির একটি বেস 64 এনকোডিং রয়েছে:

H4sICAzFGFYCA21hcmlvLmMA3Zc9DsIwDIXv0qndUqchkXwUurAgdYiFEEyIu4NYaZBI7PzNT3Lsz4mf408bjdPjct3odh6HVeujdgg4K4vzohCM8esdjHOpkrVoALUtIrBX8y1R04DKNCGZmTp85CVdAHifYuxO3mElIlju6xaRICOgCo4pD64PoiTzHnkZcHYnRhAYcEEpFznxB1mXP4TdS/KeVGYPZbmVaQHlnRVZFi65OkhoGodq+RHrby4xsTj8i6RmapXrPvfa0Q8ZWZY1/UPbSiC7Z2bYA7r0zla57Xmo8sOEzxdNYIXFhxMAAA==

এটি উল্লেখযোগ্য যে এটি চালানোর জন্য কোনও বাহ্যিক গ্রন্থাগার প্রয়োজন requires

এক্সটার্ম, কনসোল বা জিনোম টার্মিনাল প্রয়োজন, কারণ এটি সঠিক রঙের আউটপুট দেওয়ার জন্য এএনএসআই রঙের এস্কেপ কোডগুলিতে আরজিবি প্রসারণ ব্যবহার করে (এএনএসআই কমলা সংজ্ঞা দেয় না)। সুস্পষ্ট কারণে, আদর্শ কাজ করবে না। এটি সিগউইনের অধীনে উইন্ডোজে চালানো যেতে পারে, যা এক্সটার্ম ব্যবহার করে (আসলে, আমি এটি পরীক্ষা করেছি)। এমএসওয়াইএস কাজ করতে পারে; আমি নিশ্চিত নই.

আমার মেশিনে আউটপুট (এক্সটার্ম):

এটা আমি মারিও!


2
-1 10 এর একাধিক নয়
কনার ও'ব্রায়ান

দুঃখিত, এটি স্কোরের রেফারেন্সে ছিল
কনার ও'ব্রায়ান

4

এক্সেল ভিবিএ, 310 307 295 বাইট

বেনামে ভিবিই ইমিমেডিয়েট উইন্ডো ফাংশন যা একটি মারিওকে কোষের অ্যাক্টিভীট অবজেক্টে আউটপুট করে A1:L16

o=2465251:Cells.RowHeight=48:a[A1:L16],-29589:a[C4:K5,D3:I7,J7,L5,A11:L13],o:a[C3:E3,H3:H4,B4:B6,C6,D4:D5,E5,I5,H6:K6,C8:H8,B9:K10,A10:L10,C11,J11,B15:D16,A16,I15:K16,L16],289642:a[D1:H1,C2:K2,E8:E10,F10:H10,H9,D11:I13,C13:E14,H13:J14],2438321:a[E11,H11],o

সহায়ক Subরুটিন ক

Sub a(r,c):r.Interior.Color=c:End Sub

অবহেলিত সংস্করণ

Public Sub b()
    o = 2465251
    Cells.RowHeight = 48
    a [A1:L16], -29589
    a [C4:K5,D3:I7,J7,L5,A11:L13], o
    a [C3:E3,H3:H4,B4:B6,C6,D4:D5,E5,I5,H6:K6,C8:H8,B9:K10,A10:L10,C11,J11,B15:D16,A16,I15:K16,L16], 289642
    a [D1:H1,C2:K2,E8:E10,F10:H10,H9,D11:I13,C13:E14,H13:J14], 2438321
    a [E11,H11], o
End Sub


Private Sub a(ByRef r As Range, ByVal c As Integer)
    r.Interior.Color = c
End Sub

শ্বেত স্পেস অপসারণের জন্য -3 বাইট [...]-১ স্বরলিপি ওভার Range(...)স্বরলিপি ব্যবহারের জন্য ; হেক্স রঙ থেকে ইনট রঙে পরিবর্তিত হচ্ছে

আউটপুট

এটা একইরকম


3

বাশ 346

ভিটি 100 এর সাথে খাঁটি বাশ যেমন এস্কেপ সিকোয়েন্স (দুঃখিত প্যালেটে কোনও কমলা নেই)

C="  "
B="\033[44m$C"
R="\033[41m$C"
G="\033[42m$C"
O="\033[43m$C"
N="\033[00m\n"
A="BBBRRRRRBBBBNBBRRRRRRRRRBNBBGGGOOGOBBBNBGOGOOOGOOOBNBGOGGOOOGOOONBGGOOOOGGGGBNBBBOOOOOOOBBNBBGGRGGGBBBBNBGGGRGGRGGGBNGGGGRRRRGGGGNOOGRORRORGOONOOORRRRRROOONOORRRRRRRROONBBRRRBBRRRBBNBGGGBBBBGGGBNGGGGBBBBGGGGN"
while read -n1 v
do
  printf "${!v}"
done <<< "$A"

1
আপনি আলাদা অক্ষরের পরিবর্তে প্যালেটের জন্য একটি অ্যারে ব্যবহার করে এটি হ্রাস করতে পারেন। যেমন সাহসী অ্যারেগুলি দীর্ঘ হিসাবে ঘোষণা করা হয়, আরও ভাল এটি পূর্বে পূর্ণসংখ্যার সাথে পুনর্নির্মাণ করুন। আপনার কোডের একটি 295 চরিত্রের সংস্করণ: পেস্টবিন.
com

3

পাইথ, 83 বাইট

দাবি অস্বীকার: এটি কোনও বিজয়ী প্রার্থী নয়, কারণ কিছু ভাষা বৈশিষ্ট্য প্রশ্ন পোস্ট করার পরে তৈরি করা হয়েছিল।

.wc16@Lc4CM"±4%kÿjkã%"jC"T\0UP\0Z¾Õnþýn¿¿kþ©WÿõZ*Uj(©ª\0ªøÃ/ü\0?ð\0PjU©ªUª"4

এখানে একটি হেক্স-ডাম্প রয়েছে:

00000000   2E 77 63 31  36 40 4C 63  34 43 4D 22  B1 34 25 6B  .wc16@Lc4CM".4%k
00000010   8C FF 6A 6B  04 E3 9D 25  22 6A 43 22  54 5C 30 55  ..jk...%"jC"T\0U
00000020   50 5C 30 01  5A BE D5 6E  FE FD 6E BF  BF 6B FE A9  P\0.Z..n..n..k..
00000030   57 FF F5 5A  2A 55 6A 28  A9 AA 5C 30  AA F8 C3 2F  W..Z*Uj(..\0.../
00000040   FC 5C 30 3F  F0 5C 30 0F  50 14 05 6A  55 A9 AA 55  .\0?.\0.P..jU..U
00000050   AA 22 34                                            ."4

আপনি প্রোগ্রামটি এখানে ডাউনলোড করতে এবং এটি দিয়ে চালাতে পারেন

python3 pyth.py mario.pyth

এটি একটি ফাইল তৈরি করে o.png:

মারিও

ব্যাখ্যা:

কেবলমাত্র 4 টি বিভিন্ন রঙ রয়েছে, তাই প্রতিটি পিক্সেলের রঙ বাঁচাতে আমার কেবল 2 বিট প্রয়োজন।

.wc16@Lc4CM"..."jC"..."4
                  "..."   the colors of the image, 2 bit per pixel
                 C        convert these bytes to a number
                j      4  and convert it to base 4 (extracting the colors)
           "..."          the hexcodes of the 4 colors (3 byte per color)
         CM               convert each byte into its number
       c4                 split into 4 lists
     @L                   for each pixel, pick the correct list of color-list
  c16                     split into 16 rows
.w                        save it as "o.png"

চ্যালেঞ্জ পোস্ট হওয়ার আগে পাইথের শেষ সংস্করণে এটি কাজ করে?
lirtosiast

@ থমাসকওয়া হ্যাঁ, ভুলে গেছেন। আমি একটি তথ্য সম্পাদনা করব।
জাকুব

2

প্রসেসিং 2 - 359 টি অক্ষর

আমি এই চ্যালেঞ্জটি দেখেছি এবং তত্ক্ষণাত প্রসেসিংয়ের পিক্সেল [] কার্যকারিতা সম্পর্কে চিন্তা করেছি। আমি আশা করছিলাম এটি আরও কম হবে তবে কোড গল্ফের এটি আমার প্রথম প্রচেষ্টা বলে বিবেচনা করে ফলাফলটি নিয়ে আমি এখনও বেশ খুশি।

int i,l;i=l=0;size(12,16);loadPixels();for(char c:"3b5r6b9r3b3g2o1g1o4b1g1o1g3o1g3o2b1g1o2g3o1g3o1b2g4o4g4b7o4b2g1r3g5b3g1r2g1r3g1b4g4r4g2o1g1r1o2r1o1r1g5o6r5o8r2o2b3r2b3r3b3g4b3g1b4g4b4g".toCharArray()){while(l>0){pixels[i]=#6B8CFF;if(c=='r')pixels[i]=#B13425;if(c=='g')pixels[i]=#6A6B04;if(c=='o')pixels[i]=#E39D25;i++;l--;}if(c<58){l=c-48;}}updatePixels();

ungolfed:

int i,l;i=l=0;
size(12,16);
loadPixels();
for(char c:"3b5r6b9r3b3g2o1g1o4b1g1o1g3o1g3o2b1g1o2g3o1g3o1b2g4o4g4b7o4b2g1r3g5b3g1r2g1r3g1b4g4r4g2o1g1r1o2r1o1r1g5o6r5o8r2o2b3r2b3r3b3g4b3g1b4g4b4g".toCharArray())
{
    while(l>0)
    {
        pixels[i]=#6B8CFF;
        if(c=='r')pixels[i]=#B13425;
        if(c=='g')pixels[i]=#6A6B04;
        if(c=='o')pixels[i]=#E39D25;
        i++;
        l--;
    }
    if(c<58){l=c-48;}
}
updatePixels();

আপনি এখানে প্রক্রিয়াজাতকরণ ডাউনলোড করতে পারেন


2

জাভাস্ক্রিপ্ট 515

str='';
"000111110000|001111111110|002223323000|023233323330|023223332333|022333322220|000333333300|002212220000|022212212220|222211112222|332131131233|333111111333|331111111133|001110011100|022200002220|222200002222"
.split("|").forEach(function(ov, ok) {
str += '<div>'
    ov.split("").forEach(function(iv, ik) {
    str += '<div style="width:1px;height:1px;background-color:' + ['#6B8CFF','#B13425','#6A6B04','#E39D25'][iv] + ';display:inline-block"></div>';
    });
    str+= '</div>';
});
document.write(str);

এটি ঠিক কাজ করে গেছে, এখনও যেতে হবে এবং এটি গল্ফ করতে হবে


1
divডিফল্টরূপে ইনলাইন থাকা ট্যাগ দিয়ে সারিগুলি তৈরি করা সকে আপনি প্রতিস্থাপন করতে পারেন । আমি এটি পরীক্ষা করে দেখিনি, তবে ব্যবহারের aকাজ করা উচিত। আপনি backgroundপরিবর্তে ব্যবহার করতে পারেন background-color
নিনজাবিয়ারমনেকি

2

পার্ল - অবরুদ্ধ 927

আমি এটি পরে গল্ফ করতে হবে। প্রথমবার চেষ্টা Image::Magick

#!/usr/local/bin/perl
use Image::Magick;
use strict;
use warnings;

my @p = (
[0,0,0,1,1,1,1,1,0,0,0,0],
[0,0,1,1,1,1,1,1,1,1,1,0],
[0,0,2,2,2,3,3,2,3,0,0,0],
[0,2,3,2,3,3,3,2,3,3,3,0],
[0,2,3,2,2,3,3,3,2,3,3,3],
[0,2,2,3,3,3,3,2,2,2,2,0],
[0,0,0,3,3,3,3,3,3,3,0,0],
[0,0,2,2,1,2,2,2,0,0,0,0],
[0,2,2,2,1,2,2,1,2,2,2,0],
[2,2,2,2,1,1,1,1,2,2,2,2],
[3,3,2,1,3,1,1,3,1,2,3,3],
[3,3,3,1,1,1,1,1,1,3,3,3],
[3,3,1,1,1,1,1,1,1,1,3,3],
[0,0,1,1,1,0,0,1,1,1,0,0],
[0,2,2,2,0,0,0,0,2,2,2,0],
[2,2,2,2,0,0,0,0,2,2,2,2],
);
my $image = Image::Magick->new;
$image->Set(size=>'12x16');
$image->ReadImage('canvas:white');
for my $i (0..$#p) {
    for (0..(@{$p[$i]} - 1)) {
        my $color;
        $color = ($p[$i][$_] < 1 ? "#6B8CFF" : $p[$i][$_] < 2 ? "#B13425" : $p[$i][$_] < 3 ? "#6A6B04" : "#E39D25");
        print "$i : $_ : $color \n";
       $image->Set("pixel[$_,$i]"=> $color);
    }
}
#$image->Write("mario.png");
$image->Display();

আমি নিশ্চিত যে আমাদের প্রচুর পরিমাণে আছে তবে এটি আমার: মারিও!


2

বাশ মুদ্রণযোগ্য: 179 158 বাইট

ব্যবহারকারী 2485710 এর উত্তর দ্বারা অনুপ্রাণিত ।

রঙগুলি হুবহু মেলানোর জন্য আপনার টার্মিনাল টিউন করা দরকার।

eval "$(base64 -d<<</AD/8AAD9Wm/2amr2Wpq1qlX/qqv9RX/1RRXVQBVpIIaqAAqoAAK8DwP1f9XVf9V|xxd -b -c3 -g0|cut -c10-33|sed $'s/../\e[4$[2#&+1]m \e[0m/g;s/^/echo /')"

এই আমি কি দেখতে । আমি কি ভুল কিছু করছি?
এআরডনেউ করুন

2
@ardnew: বাসদ করুন Base64- ব্যবহারসমূহ -Dজন্য ডিকোড এবং -dজন্য ডিবাগ
ডেনিস

2

টিসিএল 298

package require base64
set d [base64::decode AVUABVVUCr7ALv78Lr+/K/6oA//wCmoAKmmoqlWq+ddv/VV/9VVfBUFQKgCoqgCq]
binary scan $d B* z
set i 0
foreach {a b} [split $z ""] {
if {$i % 12 == 0} {puts "\033\[0m"}
puts -nonewline "\033\[4[string map {00 4 01 1 10 2 11 3} $a$b];m  "
incr i
}
puts "\033\[0m"

এটি 64৪ বেসে পিক্সেল ইমেজটিতে একটি 2 বিট।

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


এমনকি চেষ্টা না করেও আপনার কোডটি কিছুটা গল্ফযোগ্য বলে মনে হচ্ছে: tio.run/…
সার্জিওল

2

জাভাস্ক্রিপ্ট - 256 টি অক্ষর (161 obfusc-a- টুইট)

d=v=>{for(i=v&15;i--;)O.innerHTML+=`<i style="color:#${'6B8CFF6A6B04B13425E39D25'.substr(x%4*6,6)}">█</i>`+(++f%12?'':'<br>');x++},f=x=0,[..."fhilsswsssuss££cgÓdcddc¤g£stcucds³c¹cefefcc¤c§"].map(v=>(d(v=v.charCodeAt(0)-99),d(v>>4)))
<p id=O>

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

পদ্ধতি:

  1. বিটমাস্কিং ব্যবহার করে, একটি 63x8-বিট স্ট্রিং একটি 126x4-বিট মান অ্যারে প্রদান করে যা 0-9 পরিসরের সংখ্যার সমন্বিত থাকে। (হতাশাজনকভাবে ... 4-বিট দিয়ে 63 অক্ষর সংরক্ষণ করা হয়েছে, তবে 50 টি অক্ষর আবার বিটগুলি আনপ্যাক করে ব্যয় করেছেন LOL। তবুও, 13 টি অক্ষর 13 টি অক্ষর! :-)
  2. 4 পেইন্টের রঙগুলি ক্রমে সাইকেলযুক্ত হয়: বি, জি, আর, ও। প্রতিটি পুনরাবৃত্তিতে 0-9 ডিভগুলি বর্তমান রঙের জন্য রেন্ডার করা হয় (প্রতি 12 তম লাইন বিরতি সহ)

রঙচক্রের সর্বোত্তম ক্রম নির্ধারণ করতে, আমি [আর, জি, বি, ও] এর 24 টি অনুমানের প্রতিটি জন্য কাঁচা তথ্যের বিপরীতে সংক্ষেপণ অ্যালগরিদম চালিয়েছি এবং সংক্ষিপ্ত আউটপুট প্রদানকারীর একটি নির্বাচন করেছি (126 সেরা ছিল, সর্বনিম্ন অনুকূল ছিল প্রায় 150-কিছু)

ইটিএ ওবফস্কা-টুইট ব্যবহার করে অন্যান্য উত্তরগুলি পড়ার পরে এটি আবিষ্কার করেছে ...

eval(unescape(escape`𩀽𭠽🡻𩡯𬠨𪐽𭠦𜐵𞱩𛐭𞰩𣰮𪑮𫡥𬡈𥁍𣀫👠🁩𘁳𭁹𫁥🐢𨱯𫁯𬠺𘰤𮰧𝡂𞁃𡡆𝡁𝡂𜀴𠠱𜰴𜠵𡐳𞑄𜠵𙰮𬱵𨡳𭁲𚁸𙐴𚠶𛀶𚑽𘠾ﶈ�𛱩🡠𚰨𚰫𩠥𜐲🰧𙰺𙰼𨡲🠧𚐻𮀫𚱽𛁦👸🐰𛁛𛠮𛠢𩡨𪑬𬱳𭱳𬱳𭑳𬲣𸱣𩳓𩁣𩁤𨲤𩲣𬱴𨱵𨱤𬲳𨲹𨱥𩡥𩡣𨲤𨲧𘡝𛡭𨑰𚁶🐾𚁤𚁶👶𛡣𪁡𬡃𫱤𩑁𭀨𜀩𛐹𞐩𛁤𚁶🠾𝀩𚐩𒠼𬀠`.replace(/u../g,'')))

আরও ধারণা। - বিরল 7,8,9 4 টি অতিরিক্ত প্রতিটি লাভ করে 60000N দিয়ে 3-6-বিট ডেটা পরিসীমা চেষ্টা করুন। - একবারে অনুভূমিকভাবে এক পিক্সেল ব্যতীত সমস্ত দিক এবং গতিতে রঙ চক্রের ক্রম পরীক্ষা করুন। - একাধিক রেন্ডার পাস চেষ্টা করুন যাতে রঙগুলি স্তরযুক্ত হতে পারে।


ডি'ও এটি মাত্র ছড়িয়ে পড়েছে যে এটি বাইরের চেয়ে নয় এমন চরিত্রগুলির বিষয়ে, তাই সম্ভবত 16-বিট অক্ষর ব্যবহার করে ডেটা আবার অর্ধেক করে দেওয়া যেতে পারে।
Bumpy

1

জাভাস্ক্রিপ্ট, 253 240 238 236

ওবফাসকাটভিট এড উত্স - 253 240 238 236

document.write(unescape(escape('🁳𨱲𪑰𭀾𘠵𫐲𫰹𫑨𜰰𞐷𫁯𩰹𜐰𜑰𪰹𮡰𝱵𞑶𭁸𭰹𜱱𭐸𞐸𝡷𭰹𭑯𩱫𞐳𨱳𬁨𞐶𪡭𪡥𞐶𬁬𫡵𞐶𭠷𮐲𞑭𝐸𜀹𭁨𮡯𞐳𨡥𨰵𘠮𬱰𫁩𭀨𞐩𛡦𫱲𡑡𨱨𚁦𭑮𨱴𪑯𫠨𨰩𮱤👤𫱣𭑭𩑮𭀻𨰽𬁡𬡳𩑉𫡴𚁣𛀳𝠩𛡴𫱓𭁲𪑮𩰨𝀩𞱷𪁩𫁥𚁣𛡬𩑮𩱴𪀼𜐲𚑣🐢𜀢𚱣𞱣𛡳𬁬𪑴𚀢𘠩𛡦𫱲𡑡𨱨𚁦𭑮𨱴𪑯𫠨𭠩𮱤𛡷𬡩𭁥𚀢🁰𘁳𭁹𫁥🐧𩁩𬱰𫁡𮐺𪑮𫁩𫡥𞱰𨑤𩁩𫡧𞠹𞱢𨑣𪱧𬡯𭑮𩀺𘰢𚱛𘠶𠠸𠱆𡠢𛀢𝡁𝡂𜀴𘠬𘡅𜰹𡀲𝐢𛀢𠠱𜰴𜠵𘡝𦰫𭡝𚰢𙰾🀯𬀾𘠩𯐩𞱤𛡷𬡩𭁥𚀢🁢𬠾𘠩𯐩🀯𬱣𬡩𬁴🠠').replace(/uD./g,'')))

আনবফসকেটেড - 395 370 365 361

<script>"5m2o9mh3097log9101pk9zp7u9vtxw93qu8986ww9uogk93csph96jmje96plnu96v7y29m5809thzo93bec5".split(9).forEach(function(c){d=document;c=parseInt(c,36).toString(4);while(c.length<12)c="0"+c;c.split("").forEach(function(v){d.write("<p style='display:inline;padding:9;background:#"+["6B8CFF","6A6B04","E39D25","B13425"][+v]+"'></p>")});d.write("<br>")})</script>

<p>ট্যাগ ট্রিক্সের জন্য @ কমপাসকে ধন্যবাদ , এবং 2 (5) অক্ষরের জন্য @ xem ধন্যবাদ

ডেমো

এটি বেস ৩ 36 থেকে ডেটা রূপান্তর করে এবং বেস ৪ এ রূপান্তর করে।


আমি এটি পরীক্ষা করতে পারছি না, তবে আমি মনে করি না padding:9এটির পরে ইউনিট ছাড়া কিছু করে না। আপনি এর পরিবর্তে একক-অক্ষরের উপাদানও ব্যবহার করতে পারেন aবা qএটি অন্তর্নিহিত ইনলাইন p
নিনজাবিয়ারমনেকি

@ এইচএসএল আমি ডেমো লিঙ্কটি আপডেট করেছি এবং এটি কমপক্ষে ম্যাকে আমার ক্রোম, ফায়ারফক্স এবং সাফারি ভালভাবে কাজ করে।
নাস্তা

-2 বাইট: "|" প্রতিস্থাপন করুন স্ট্রিং এবং বিভক্ত 9 দ্বারা। এছাড়াও, আপনি 3 বার "ডকুমেন্ট.উইরাইট" ব্যবহার করেন, এটি সংরক্ষণের জন্য আপনার যেমন 24 বি) তে রাখা উচিত
xem

@ এক্সেম আমাকে নম্বর বিভক্ত কৌশলটি মনে করিয়ে দেওয়ার জন্য ধন্যবাদ। এবং যেহেতু আমরা document.writeভেরিয়েবলের জন্য বরাদ্দ করতে পারি না (আমাদের ব্যবহার করা উচিত document.write.bind(document)), আমার সেরাটি documentভেরিয়েবলকে বরাদ্দ করছিল ।
নাস্তা

অথবা, আপনি এই প্রথমবারের মত কি করতে পারেন: [W = "লিখুন"] (/ * লেখার * / জিনিস) (D = ডকুমেন্ট), এবং শুধু কি যে পরে: D [W] ( "হাই")
xem

1

জাভাস্ক্রিপ্ট ES6 (এইচটিএমএল + সিএসএস), 199 307 3195 3630

ওবফাস-এ-টুইট ব্যবহার :

eval(unescape(escape('𬰽𦱝𒠧𜰹𮡲𬀳𝁤𩡬𜱪𩱴𜐴𨡷𭐵𝁢𪱣𩠴𝱰𜡨𜱦𫁹𭀳𪑮𪀱𝀵𝀸𞐶𫑳𫱡𞑰𩡥𝰹𭁺𝑲𞑤𝁢𜰳𝁨𩁸𝀵𩀴𞐶𫠹𩱱𙰮𫑡𭁣𪀨𛰮𮰵𯐯𩰩𛡦𫱲𡑡𨱨𚀨𫠬𪐩🐾𦰮𛠮𬁡𬡳𩑉𫡴𚁮𛀳𝠩𛡴𫱓𭁲𪑮𩰨𝀩𧐮𩡯𬡅𨑣𪀨𚁭𛁪𚐽🡳𛡰𭑳𪀨𪠫𜐫𙱰𮀠𙰫𚀫𪐫𜐩𚰧𬁸𘀣𙰫𦰧𠠱𜰴𜠵𙰬𙰶𠠸𠱆𡠧𛀧𝡁𝡂𜀴𙰬𙱅𜰹𡀲𝐧𧑛𚱭𧐩𚐩𒡤𫱣𭑭𩑮𭀮𭱲𪑴𩐨𙰼𬀠𬱴𮑬𩐽𘡷𪑤𭁨𞠱𬁸𞱨𩑩𩱨𭀺𜑰𮀻𨡯𮀭𬱨𨑤𫱷𞠧𚱳𚰧𘠧𚐠').replace(/uD./g,'')))

এটি কোনও চিত্র বা একাধিক উপাদান ব্যবহার না করে স্প্রিটটি প্রদর্শন করে; এটি box-shadowপ্রতিটি পিক্সেল তৈরি করতে কেবল CSS সম্পত্তির অপব্যবহার করে । এটি http://jsbin.com/pozohiyezo/ এ চেষ্টা করুন । এই অনাবৃত সংস্করণটি 307 টি অক্ষর :

s=[]
'39zrp34dfl3jgt14bwu54bkcf47p2h3flyt3inh1454896msoa9pfe79tz5r9d4b334hdx45d496n9gq'.match(/.{5}/g).some((n,i)=>[...parseInt(n,36).toString(4)].forEach((m,j)=>s.push(j+1+'px '+(+i+1)+'px #'+['B13425','6B8CFF','6A6B04','E39D25'][+m])))
document.write('<p style="width:1px;height:1px;box-shadow:'+s+'"')

এটি আসল, প্লেইন-ভ্যানিলা এইচটিএমএল সংস্করণ। Http://jsfiddle.net/gfeLn1ey/1/ এ এটিকে ক্রিয়াতে দেখুন

<p style="width:1px;height:1px;box-shadow:4px 1px 0 #B13425,5px 1px 0 #B13425,6px 1px 0 #B13425,7px 1px 0 #B13425,8px 1px 0 #B13425,12px 1px 0 #6B8CFF,3px 2px 0 #B13425,4px 2px 0 #B13425,5px 2px 0 #B13425,6px 2px 0 #B13425,7px 2px 0 #B13425,8px 2px 0 #B13425,9px 2px 0 #B13425,10px 2px 0 #B13425,11px 2px 0 #B13425,12px 2px 0 #6B8CFF,3px 3px 0 #6A6B04,4px 3px 0 #6A6B04,5px 3px 0 #6A6B04,6px 3px 0 #E39D25,7px 3px 0 #E39D25,8px 3px 0 #6A6B04,9px 3px 0 #E39D25,12px 3px 0 #6B8CFF,2px 4px 0 #6A6B04,3px 4px 0 #E39D25,4px 4px 0 #6A6B04,5px 4px 0 #E39D25,6px 4px 0 #E39D25,7px 4px 0 #E39D25,8px 4px 0 #6A6B04,9px 4px 0 #E39D25,10px 4px 0 #E39D25,11px 4px 0 #E39D25,12px 4px 0 #6B8CFF,2px 5px 0 #6A6B04,3px 5px 0 #E39D25,4px 5px 0 #6A6B04,5px 5px 0 #6A6B04,6px 5px 0 #E39D25,7px 5px 0 #E39D25,8px 5px 0 #E39D25,9px 5px 0 #6A6B04,10px 5px 0 #E39D25,11px 5px 0 #E39D25,12px 5px 0 #E39D25,2px 6px 0 #6A6B04,3px 6px 0 #6A6B04,4px 6px 0 #E39D25,5px 6px 0 #E39D25,6px 6px 0 #E39D25,7px 6px 0 #E39D25,8px 6px 0 #6A6B04,9px 6px 0 #6A6B04,10px 6px 0 #6A6B04,11px 6px 0 #6A6B04,12px 6px 0 #6B8CFF,4px 7px 0 #E39D25,5px 7px 0 #E39D25,6px 7px 0 #E39D25,7px 7px 0 #E39D25,8px 7px 0 #E39D25,9px 7px 0 #E39D25,10px 7px 0 #E39D25,12px 7px 0 #6B8CFF,3px 8px 0 #6A6B04,4px 8px 0 #6A6B04,5px 8px 0 #B13425,6px 8px 0 #6A6B04,7px 8px 0 #6A6B04,8px 8px 0 #6A6B04,12px 8px 0 #6B8CFF,2px 9px 0 #6A6B04,3px 9px 0 #6A6B04,4px 9px 0 #6A6B04,5px 9px 0 #B13425,6px 9px 0 #6A6B04,7px 9px 0 #6A6B04,8px 9px 0 #B13425,9px 9px 0 #6A6B04,10px 9px 0 #6A6B04,11px 9px 0 #6A6B04,12px 9px 0 #6B8CFF,1px 10px 0 #6A6B04,2px 10px 0 #6A6B04,3px 10px 0 #6A6B04,4px 10px 0 #6A6B04,5px 10px 0 #B13425,6px 10px 0 #B13425,7px 10px 0 #B13425,8px 10px 0 #B13425,9px 10px 0 #6A6B04,10px 10px 0 #6A6B04,11px 10px 0 #6A6B04,12px 10px 0 #6A6B04,1px 11px 0 #E39D25,2px 11px 0 #E39D25,3px 11px 0 #6A6B04,4px 11px 0 #B13425,5px 11px 0 #E39D25,6px 11px 0 #B13425,7px 11px 0 #B13425,8px 11px 0 #E39D25,9px 11px 0 #B13425,10px 11px 0 #6A6B04,11px 11px 0 #E39D25,12px 11px 0 #E39D25,1px 12px 0 #E39D25,2px 12px 0 #E39D25,3px 12px 0 #E39D25,4px 12px 0 #B13425,5px 12px 0 #B13425,6px 12px 0 #B13425,7px 12px 0 #B13425,8px 12px 0 #B13425,9px 12px 0 #B13425,10px 12px 0 #E39D25,11px 12px 0 #E39D25,12px 12px 0 #E39D25,1px 13px 0 #E39D25,2px 13px 0 #E39D25,3px 13px 0 #B13425,4px 13px 0 #B13425,5px 13px 0 #B13425,6px 13px 0 #B13425,7px 13px 0 #B13425,8px 13px 0 #B13425,9px 13px 0 #B13425,10px 13px 0 #B13425,11px 13px 0 #E39D25,12px 13px 0 #E39D25,1px 14px 0 #6B8CFF,2px 14px 0 #6B8CFF,3px 14px 0 #B13425,4px 14px 0 #B13425,5px 14px 0 #B13425,6px 14px 0 #6B8CFF,7px 14px 0 #6B8CFF,8px 14px 0 #B13425,9px 14px 0 #B13425,10px 14px 0 #B13425,11px 14px 0 #6B8CFF,12px 14px 0 #6B8CFF,1px 15px 0 #6B8CFF,2px 15px 0 #6A6B04,3px 15px 0 #6A6B04,4px 15px 0 #6A6B04,5px 15px 0 #6B8CFF,6px 15px 0 #6B8CFF,7px 15px 0 #6B8CFF,8px 15px 0 #6B8CFF,9px 15px 0 #6A6B04,10px 15px 0 #6A6B04,11px 15px 0 #6A6B04,12px 15px 0 #6B8CFF,1px 16px 0 #6A6B04,2px 16px 0 #6A6B04,3px 16px 0 #6A6B04,4px 16px 0 #6A6B04,5px 16px 0 #6B8CFF,6px 16px 0 #6B8CFF,7px 16px 0 #6B8CFF,8px 16px 0 #6B8CFF,9px 16px 0 #6A6B04,10px 16px 0 #6A6B04,11px 16px 0 #6A6B04,12px 16px 0 #6A6B04,6px 6px 0 5px #6B8CFF"

টিআইএল, আপনি কোনও <পি ট্যাগ :) বন্ধ করতে পারবেন না
xem

এই কোডটিতে রেগপ্যাকের মতো সরঞ্জামটিতে খুব ভাল সংক্ষেপণ থাকতে পারে। এখানে 729 বি-তে একটি উদাহরণ রয়েছে (যদিও এইচটিএমএল লিখতে জেএস ব্যবহৃত হয়): goo.gl/7fF7kx
xem

@ Xem আমি জেএস এর সাথে কোড তৈরির কথাও ভাবি নি, তবে কোডের ধরণ অনুসারে আমি এটিকে আরও ছোট করে তুলতে সক্ষম হয়েছি।
নিনজাবিয়ারমোনকি

1

জাভাস্ক্রিপ্ট, 256 বা 245 252 বা 241

256

document.write("k6n56kcraqlaqasasjaqbsasibtdlstlb2cmc2b2cid5dra2q3q2au7u55rj4j4kclcidld".replace(/./g,function(x){return new Array((x=parseInt(x,36))&7).join("<li style=padding:4%;float:left;background:#"+['B13425','6A6B04','6B8CFF','E39D25'][x>>3]+">")}))

256 ওভাররাইড করা দুঃখজনক, তবে ছাপছাড়া অক্ষরগুলি ব্যবহার করা হলে 245 সম্ভব:

document.write(btoa(">§ç©­ª¥j¦¬jÈÚ©»²&ív[-½ÍÙÈåÚÚÚ­êÙ«»»køÉ\\Ù]").replace(/./g,function(x){return new Array((x=parseInt(x,36))&7).join("<li style=padding:4%;float:left;background:#"+["B13425","6A6B04","6B8CFF","E39D25"][x>>3]+">")}))

মুদ্রণযোগ্য অক্ষরের সাথে সমাধান জমা দেওয়ার ক্ষেত্রে কিছু সমস্যা আছে। আর্গুমেন্ট btoaফলও হতে হবে atob("ij6n56kcraqlaqasasjaqbsasibtdlstlb2cmc2b2cid5dra2q3q2au7u55rj4j4kclcidld")দৈর্ঘ্য 1 প্রতীক ব্যাকস্ল্যাশ পলায়নের জন্য যোগ দিয়ে।

উভয় সমাধান 4 টি প্রতীক দ্বারা সংক্ষিপ্ত করুন: অ্যারে তৈরির জন্য আমাদের নতুন প্রয়োজন নেই।

252

document.write("k6n56kcraqlaqasasjaqbsasibtdlstlb2cmc2b2cid5dra2q3q2au7u55rj4j4kclcidld".replace(/./g,function(x){return Array((x=parseInt(x,36))&7).join("<li style=padding:4%;float:left;background:#"+['B13425','6A6B04','6B8CFF','E39D25'][x>>3]+">")}))

241

document.write(btoa("©ùêG+j©Z©«²6ªnƬ»]Ëeog&sför'yv¶¶«z¶jîîçãâ>$rVÚÙ]").replace(/./g,function(x){return Array((x=parseInt(x,36))&7).join("<li style=padding:4%;float:left;background:#"+['B13425','6A6B04','6B8CFF','E39D25'][x>>3]+">")}))

এই সংস্করণে কোনও পালানোর দরকার নেই। btoaএর যুক্তি ফলatob("k6n56kcraqlaqasasjaqbsasibtdlstlb2cmc2b2cid5dra2q3q2au7u55rj4j4kclbaidld")


আমি এটি এবং আমার শেষ চ্যালেঞ্জ অন-প্রিন্টযোগ্য সমস্যা লক্ষ্য করেছি। আমি ভেবেছিলাম এটি কেবল 8, 9 এবং 13 অক্ষর ছিল যদি এটি সাহায্য করে (যদিও আমি সহজেই ভুল হতে পারি)
বম্পি

1

পার্ল, 266 260 257 249 245 বাইট

$_="444111114444441111111114442223323444423233323334423223332333422333322224444333333344442212224444422212212224222211112222332131131233333111111333331111111133441114411144422244442224222244442222";s/\d/\033[4$&m  /g;s/.{84}/$&\033[00m\n/g;print

কোনও ভিটি 100 স্টাইল আউটপুট লিখতে ব্যবহারকারীর 2485710 এর বাশ সমাধানের অনুরূপ পদ্ধতির ব্যবহার করে। প্রতি 12 "ভিটি 100 পিক্সেল", 12 * 7 = 84 এ একটি নতুন লাইন byুকিয়ে স্পষ্টভাবে এনটিকে নতুন লাইনের জন্য স্ট্রিপ করে।


1

স্মাইলব্যাসিক, 147 136 টি অক্ষর

P$="xxxxxxxx
FOR I=0TO 191C=ASC("xxxxxxxxxxxxxxxxxxxxxxxx"[I/8])>>I MOD 8*2AND 3GPSET I/16,15AND I,ASC(P$[C*2])<<16OR ASC(P$[C*2+1])NEXT

আউটপুট (ক্রপড): স্ক্রিনশট

আমি ডেটা স্ট্রিংয়ের সমস্ত অক্ষরকে এর সাথে প্রতিস্থাপন করেছি x, এখানে অক্ষর কোডগুলি রয়েছে (ইউসিএস -২ এ):
P$(প্যালেট): FF6B,8CFF,FFB1,3425,FF6A,6B04,FFE3,D925
চিত্রের ডেটা:0000,83F8,0A80,A3FA,8BE4,A5EA,BEA5,A55A,7EE5,0575,BFF5,0156,BFF5,0156,BBA5,0575,3AF4,A55A,3BC4,A5EA,0BC4,A3FA,0300,83F8

প্যালেটটি একটি স্ট্রিংয়ে সংরক্ষণ করা হয়, প্রতিটি রঙ (32 বিট) দুটি অক্ষরে (প্রতিটি 16 বিট) সংরক্ষণ করা হয়। চিত্রের ডেটা (পিক্সেল প্রতি 2 বিট) অন্য স্ট্রিংয়ে সংরক্ষণ করা হয় (চরিত্র অনুসারে 8 পিক্সেল)
ভাগ্যক্রমে, চ্যালেঞ্জটি অক্ষরগুলিতে স্কোর হয়, যেহেতু এই ফাইলটি ইউটিএফ -8 এ সংরক্ষণ করা হয় তবে তা উল্লেখযোগ্যভাবে বড় is


1

05 এবি 1 ই , 87 বাইট (প্রতিযোগী নয়)

•8,vkJíÝ1¢tt6,9XÂck$XSãõO©Ú"›qf®¸Ì#}„K0ÝCìxý}É~ð_áú•4BSvy•3«WKyÛòèz*Ðeb•16B6ôè'#ì})12ô»

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

আউটপুট:

#B13425 #B13425 #B13425 #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #B13425 #B13425 #B13425 #B13425
#B13425 #B13425 #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #B13425
#B13425 #B13425 #6A6B04 #6A6B04 #6A6B04 #E39D25 #E39D25 #6A6B04 #E39D25 #B13425 #B13425 #B13425
#B13425 #6A6B04 #E39D25 #6A6B04 #E39D25 #E39D25 #E39D25 #6A6B04 #E39D25 #E39D25 #E39D25 #B13425
#B13425 #6A6B04 #E39D25 #6A6B04 #6A6B04 #E39D25 #E39D25 #E39D25 #6A6B04 #E39D25 #E39D25 #E39D25
#B13425 #6A6B04 #6A6B04 #E39D25 #E39D25 #E39D25 #E39D25 #6A6B04 #6A6B04 #6A6B04 #6A6B04 #B13425
#B13425 #B13425 #B13425 #E39D25 #E39D25 #E39D25 #E39D25 #E39D25 #E39D25 #E39D25 #B13425 #B13425
#B13425 #B13425 #6A6B04 #6A6B04 #6B8CFF #6A6B04 #6A6B04 #6A6B04 #B13425 #B13425 #B13425 #B13425
#B13425 #6A6B04 #6A6B04 #6A6B04 #6B8CFF #6A6B04 #6A6B04 #6B8CFF #6A6B04 #6A6B04 #6A6B04 #B13425
#6A6B04 #6A6B04 #6A6B04 #6A6B04 #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6A6B04 #6A6B04 #6A6B04 #6A6B04
#E39D25 #E39D25 #6A6B04 #6B8CFF #E39D25 #6B8CFF #6B8CFF #E39D25 #6B8CFF #6A6B04 #E39D25 #E39D25
#6A6B04 #6A6B04 #6A6B04 #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6A6B04 #6A6B04 #6A6B04
#6A6B04 #6A6B04 #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6B8CFF #6A6B04 #6A6B04
#B13425 #B13425 #6B8CFF #6B8CFF #6B8CFF #B13425 #B13425 #6B8CFF #6B8CFF #6B8CFF #B13425 #B13425
#B13425 #6A6B04 #6A6B04 #6A6B04 #B13425 #B13425 #B13425 #B13425 #6A6B04 #6A6B04 #6A6B04 #B13425
#6A6B04 #6A6B04 #6A6B04 #6A6B04 #B13425 #B13425 #B13425 #B13425 #6A6B04 #6A6B04 #6A6B04 #6A6B04

কারণ 05AB1E কোনও ধরণের রঙ বা গ্রাফিক করতে পারে না ... এটি যদি গ্রহণযোগ্য না হয় তবে আমি এটি মুছব।


আপনি একটি ব্যাশ র‍্যাপার লিখে আপনার সমাধানটি বলতে পারেনBash + 05AB1E
পাভেল

1
@ পাভেল আমি এটি করার কথা ভাবছিলাম, অনুমান আমি এই সমাধানটি অন্য কারও সাথে সঙ্গী করব; পি।
যাদু অক্টোপাস উরন

আমি এটি "জিততে" বলতে পারি না তবে দয়া করে এটি রাখুন, কারণ এটি দুর্দান্ত সংকোচনের স্কোর :)
xem

0

সিনক্লেয়ার বেসিক - 573 বাইট

ঠিক আছে, সুতরাং বর্ণালীটি নির্দিষ্ট হিসাবে আরজিবি রঙগুলি প্রদর্শন করতে পারে না, তাই সম্ভবত সবচেয়ে কাছেরটি ব্যবহার করে used

10 let x=0:let y=0:let i=0
20 let a$="1c2e1f2i1c4c6b461d4646c46c1b464b6c46c14b6d4d1d6g1d4b24c1e4c24b24c14d2d4d6b4262b6246e2f6e2c1b2c6b1b2c1b2c1c4c1d4c14d1d4d"
30 let l=len a$
40 let i=i+1:let c=1:let p=0:let k=val a$(i)
50 if a$(i+1)>="a" then let c=code a$(i+1)-96:let i=i+1
60 print at y,x;ink k;"\::":let p=p+1:let x=x+1:if x=12 then let x=0:let y=y+1
70 if p<c then goto 60
80 if i<l then goto 40

স্ট্রিংটি রঙ (1 = নীল, 2 = লাল ইত্যাদি) এর পরে কতবার পুনরাবৃত্তি করে তা উপস্থাপন করার জন্য একটি চিঠি দেওয়া হয় (ASCII মান বিয়োগ 96 কে 1,2,3 ইত্যাদি হয়ে)। কোনও চিঠি ছাড়াই একটি সংখ্যা কেবল একটি ব্লক আঁকবে।

"\::"লাইনে in০ হ'ল ফিউজ এমুলেটরটিতে লোড করার জন্য কোনও ট্যাপ ফাইলটিতে রূপান্তরিত করার আগে একটি পাঠ্য সম্পাদকটিতে গ্রাফিকগুলি কীভাবে প্রবেশ করা যায়। (স্ক্রিনে শক্ত ব্লক গ্রাফিক হিসাবে দেখায়)।

প্রতিটি কীওয়ার্ড সিনক্লেয়ার বেসিকের একটি বাইট, এটি পিইইকে কমান্ড তৈরি করার পরে একটি গণনা অন্তর্ভুক্ত করে।

এটা একটা মারিও


0

পার্ল - 399 171 বাইট

use MIME::Base64;$_='R0lGODdhDAAQAKEEAGuM/+OdJWprBLE0JSwAAAAADAAQAAACNoSHaAvpaoQMQQRmLdUXZM55XCUJDIVSmDCUjMhKrQSzSamxAbKP+5P6PQaqBiSxcCVpuJWkAAA7';
print decode_base64($_)

স্টাডআউটে জিআইএফ ফাইলটি লিখেছেন।

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