এএসসিআইআই আর্টের এক পুরানো বন্ধুর ছবি


36

আমি আশা করি এই ছবিটি আপনার পরিচিত দেখাচ্ছে।

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

প্যাকম্যান বিদ্যুতের বড়ি খাওয়ার পরে এটি তার "দুর্বল" অবস্থায় প্যাকম্যানের অন্যতম ভূত ।

চ্যালেঞ্জ

ASCII আর্ট ব্যবহার করে আমাদের ভুতকে একটু ফ্রেমে চিত্র দিন। সাধারণ স্কেলে (আরও পরে এটি সম্পর্কে) উপরের চিত্রের প্রতিটি বর্গক্ষেত্রের একটি অক্ষরের সাথে সামঞ্জস্য করা উচিত এবং ফ্রেমের উপরে এবং নীচে এক-বর্ণের পৃথকীকরণ এবং ভুতের বাম এবং ডানদিকে একটি দুটি-অক্ষর পৃথক হওয়া উচিত :

####################
#                  #
#       ####       #
#     ########     #
#    ##########    #
#   ############   #
#   ############   #
#   ###  ##  ###   #
#  ####  ##  ####  #
#  ##############  #
#  ##############  #
#  ##  ##  ##  ##  #
#  # ##  ##  ## #  #
#  ##############  #
#  ## ###  ### ##  #
#  #   ##  ##   #  #
#                  #
####################

তবে এটি খুব সুন্দর দেখাচ্ছে না। #সক্রিয় পিক্সেলগুলির জন্য সেরা পছন্দ নাও হতে পারে। এছাড়াও, চরিত্রের ঘরগুলি বর্গক্ষেত্র নয়, যা আমাদের বন্ধুটিকে ইতিমধ্যে তার চেয়ে বেশি ভুতুড়ে চেহারা দেয় look

সুতরাং, আরও নমনীয়তা পেতে, ছবিটি তিনটি ইনপুট পরামিতি অনুসারে পরিবর্তিত হবে:

  • সক্রিয় পিক্সেলের জন্য ব্যবহার করা অক্ষর;
  • অনুভূমিক স্কেল ফ্যাক্টর;
  • উল্লম্ব স্কেল ফ্যাক্টর।

উদাহরণস্বরূপ, সঙ্গে %, 4, 2ouput ভাল খুঁজছেন ছবি হবে

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%                                                                        %%%%
%%%%                                                                        %%%%
%%%%                            %%%%%%%%%%%%%%%%                            %%%%
%%%%                            %%%%%%%%%%%%%%%%                            %%%%
%%%%                    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                    %%%%
%%%%                    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                    %%%%
%%%%                %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                %%%%
%%%%                %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                %%%%
%%%%            %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%            %%%%
%%%%            %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%            %%%%
%%%%            %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%            %%%%
%%%%            %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%            %%%%
%%%%            %%%%%%%%%%%%        %%%%%%%%        %%%%%%%%%%%%            %%%%
%%%%            %%%%%%%%%%%%        %%%%%%%%        %%%%%%%%%%%%            %%%%
%%%%        %%%%%%%%%%%%%%%%        %%%%%%%%        %%%%%%%%%%%%%%%%        %%%%
%%%%        %%%%%%%%%%%%%%%%        %%%%%%%%        %%%%%%%%%%%%%%%%        %%%%
%%%%        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        %%%%
%%%%        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        %%%%
%%%%        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        %%%%
%%%%        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        %%%%
%%%%        %%%%%%%%        %%%%%%%%        %%%%%%%%        %%%%%%%%        %%%%
%%%%        %%%%%%%%        %%%%%%%%        %%%%%%%%        %%%%%%%%        %%%%
%%%%        %%%%    %%%%%%%%        %%%%%%%%        %%%%%%%%    %%%%        %%%%
%%%%        %%%%    %%%%%%%%        %%%%%%%%        %%%%%%%%    %%%%        %%%%
%%%%        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        %%%%
%%%%        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        %%%%
%%%%        %%%%%%%%    %%%%%%%%%%%%        %%%%%%%%%%%%    %%%%%%%%        %%%%
%%%%        %%%%%%%%    %%%%%%%%%%%%        %%%%%%%%%%%%    %%%%%%%%        %%%%
%%%%        %%%%            %%%%%%%%        %%%%%%%%            %%%%        %%%%
%%%%        %%%%            %%%%%%%%        %%%%%%%%            %%%%        %%%%
%%%%                                                                        %%%%
%%%%                                                                        %%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

বিধি

সমস্ত বিল্টিন অনুমোদিত।

ইনপুটগুলি কোনও যুক্তিসঙ্গত ফর্ম্যাট এবং কোনও ক্রমে নেওয়া হয়। উপরের প্রথম ইনপুট (সক্রিয় পিক্সেলের জন্য অক্ষর) একটি মুদ্রণযোগ্য ASCII অক্ষর (কোড 32 থেকে 126) হতে গ্যারান্টিযুক্ত।

প্রতিটি লাইনের পরে স্থান অনুসরণ করা বা শেষ লাইনের পরে নতুন লাইনগুলি গ্রহণযোগ্য।

কোড গল্ফ, সবচেয়ে কম বাইট জিতেছে।


কয়েক সেকেন্ডের জন্য মনোযোগ সহকারে ছবিটি দেখুন। তারপরে দেখুন কী ঘটে! ...
সার্জিওল

বিশ্বাস করা যায় না এখন পর্যন্ত কোনও কাঠকয়াল জমা নেই।
ওয়েজুন চাউ

উত্তর:


34

সিজেম, 53 51 49 বাইট

q~"ǟ #/?Y__Fy_Nf ǟ"f{'Ƞ^2b_W%+S@+f=}fe*e*N*

নোট করুন যে তিনটি অক্ষর অক্ষরহীন। এটি অনলাইন চেষ্টা করুন!

পটভূমি

আনসেলড আউটপুটটির ডান অর্ধেকটি বাম দিকের সমান, তাই এর মধ্যে একটির এনকোড করা যথেষ্ট ices যদি আমরা শূন্যস্থানগুলি এবং শূন্যস্থানগুলির সাথে ফাঁকা স্থানগুলি প্রতিস্থাপন করি তবে আমরা পাই

1111111111
1000000000
1000000011
1000001111
1000011111
1000111111
1000111111
1000111001
1001111001
1001111111
1001111111
1001100110
1001011001
1001111111
1001101110
1001000110
1000000000
1111111111

যেখানে প্রতিটি লাইনের বাইনারি সংখ্যা হিসাবে ব্যাখ্যা করা যায়। এই ফলন

1023 512 515 527 543 575 575 569 633 639 639 614 601 639 622 582 512 1023

এই তথ্যটি এনকোড করার সহজতম উপায় হ'ল কোড পয়েন্টে প্রতিটি পূর্ণসংখ্যাটি ইউনিকোডের অক্ষরের সাথে প্রতিস্থাপন করা, তবে তাদের সমস্তকে দুটি বাইটের ইউটিএফ -8 দিয়ে এনকোড করা দরকার require

544 দিয়ে পূর্ণসংখ্যার জোড়িংয়ের মাধ্যমে, আমরা দুটি পূর্ণসংখ্যা ব্যতীত সমস্ত 128 এর নীচে রাখি এবং নাল বাইটগুলি এড়ান।

ফলাফল হলো

479 32 35 47 63 31 31 25 89 95 95 70 121 95 78 102 32 479

হিসাবে পূর্ণসংখ্যা বা

ǟ #/?\x1f\x1f\x19Y__Fy_Nf ǟ

একটি পালানো স্ট্রিং হিসাবে

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

q~                e# Read and evaluate all input. This pushes the vscale factor V,
                  e# the hscale factor H, and the character C.
"ǟ #/?Y__Fy_Nf ǟ" e# Push that string.
f{                e# For each character, push C and the character; then:
'Ƞ^               e#   XOR the character with '\u0220' (544), casting to integer.
 2b               e#   Convert from integer to base 2.
 _W%              e#   Push a reversed copy of the binary digits.
 +                e#   Concatenate.
 S@+              e#   Append C to " ".
 f=               e#   Replace each binary digit with ' ' or C.
}                 e#
fe*               e# Repeat each character in each string H times.
e*                e# Repeat each string V times.
N                 e# Join the strings, separating by linefeeds.

7
কত দ্রুত, এবং সংক্ষিপ্ত কোড! চিত্তাকর্ষক!
লুইস মেন্ডো

10

পার্ল, 113 105 104 100 97 96

জন্য +2 যোগ করা হয়েছে -ap

ডেনিসের দ্বারা নোট অনুসারে 9-বাইট সাশ্রয় করে দেব-নাল দ্বারা পরামর্শ

ব্যবহার করে চালান echo "2 4 %" | perl -ap pacman.pl

pacman.pl:

}for(map+(unpack(aXBXB8Xb8XBXa),$/)x"@F","\xff\x00\x03\x0f\x1f\x3f\x3f\x39\x79\x7f\x7f\x66\x59\x7f\x6e\x46\x00\xff"=~/./g){s%%($&?$F[2]:$")x$F[1]%ge

"\xff\x00\x03\x0f\x1f\x3f\x3f\x39\x79\x7f\x7f\x66\x59\x7f\x6e\x46\x00\xff"একক উদ্ধৃতি সহ স্ট্রিংটি বাইনারি আকারে লেখা উচিত

প্রতিস্থাপনের অক্ষর হিসাবে স্থান খালি স্ট্রিং হয়ে যায় এবং সংক্ষিপ্ত রেখার দিকে নিয়ে যায়। তবে এগুলি যাইহোক ফাঁকা দেখাবে


9

ডায়ালগ এপিএল, 64 বাইট tes

{/∘⍉/⍺,⊂' '⍵[1+,∘⌽⍨1⍪⍨1⍪1,0⍪⍨0⍪0,0,⍉(7/2)⊤⎕AV⍳'Äâ\⊥⊥∘)⍞⍞┬#⍞`⍒']}

এটি স্কেল ফ্যাক্টরটিকে তার বাম আর্গুমেন্ট হিসাবে এবং চরিত্রটিকে তার ডান আর্গুমেন্ট হিসাবে গ্রহণ করে, যেমন:

      2 1{/∘⍉/⍺,⊂' '⍵[1+,∘⌽⍨1⍪⍨1⍪1,0⍪⍨0⍪0,0,⍉(7/2)⊤⎕AV⍳'Äâ\⊥⊥∘)⍞⍞┬#⍞`⍒']}'%'
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
 %%                                    %% 
 %%              %%%%%%%%              %% 
 %%          %%%%%%%%%%%%%%%%          %% 
 %%        %%%%%%%%%%%%%%%%%%%%        %% 
 %%      %%%%%%%%%%%%%%%%%%%%%%%%      %% 
 %%      %%%%%%%%%%%%%%%%%%%%%%%%      %% 
 %%      %%%%%%    %%%%    %%%%%%      %% 
 %%    %%%%%%%%    %%%%    %%%%%%%%    %% 
 %%    %%%%%%%%%%%%%%%%%%%%%%%%%%%%    %% 
 %%    %%%%%%%%%%%%%%%%%%%%%%%%%%%%    %% 
 %%    %%%%    %%%%    %%%%    %%%%    %% 
 %%    %%  %%%%    %%%%    %%%%  %%    %% 
 %%    %%%%%%%%%%%%%%%%%%%%%%%%%%%%    %% 
 %%    %%%%  %%%%%%    %%%%%%  %%%%    %% 
 %%    %%      %%%%    %%%%      %%    %% 
 %%                                    %% 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

ব্যাখ্যা:

  • ⍉(7/2)⊤⎕AV⍳'Äâ\⊥⊥∘)⍞⍞┬#⍞`⍒': ভূতের বাম অর্ধেক, সীমান্ত ছাড়াই। (এটি প্রতিসাম্যপূর্ণ।) প্রতিটি অক্ষরটির উচ্চ বিট সেট রয়েছে, যা থেকে মুদ্রণবিহীন অক্ষরগুলি নির্বাচন করা রোধ করে ⎕AVতবে কেবল প্রথম 7 বাইট ব্যবহার করা হয়।

  • 0,⍪⍨0⍪0,0,: বাম, উপরে এবং নীচে ফাঁকা একটি সীমানা যুক্ত করুন

  • 1⍪⍨1⍪1,: বাম, উপরে এবং নীচে ফ্রেম যুক্ত করুন
  • ,∘⌽⍨: এর উল্লম্ব আয়না দিয়ে এটি যোগ করুন
  • 1+: 1 যোগ করুন, কারণ অ্যারেগুলি ডিফল্টরূপে 1-সূচিযুক্ত হয়
  • ' '⍵[... ]: সেই ম্যাট্রিক্সটিকে স্ট্রিংয়ের সূচক হিসাবে ব্যবহার করুন ' '⍵, যাতে প্রতিটি 0 টি ফাঁকাতে ম্যাপ হয় এবং প্রতিটি 1 ম্যাপ হয়
  • ⍺,⊂: ম্যাট্রিক্সটি সংযুক্ত করুন এবং স্কেল ফ্যাক্টরের সাথে এটি যোগ করুন
  • /: নিম্নলিখিত ফাংশন দিয়ে ডান ভাঁজ:
  • /∘⍉: স্থানান্তর এবং অনুভূমিকভাবে স্কেল

7

এমএটিএল , 71 বাইট

32hO511-3-12-16-32O6-64-6O25 13-38 17 40 70-511Nq$hYs10H$Bt!P!hi1$lX*Q)

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

ব্যাখ্যা

চিত্রটি অনুভূমিকভাবে প্রতিসাম্যযুক্ত, সুতরাং কেবলমাত্র বাম অর্ধেকটি কোডিং করা দরকার। প্রতিটি 10-পিক্সেলের সারিটি বাইনারি 0 এবং 1023 এর মধ্যে একটি কোড হিসাবে কোডড হয় Active

যেহেতু একটানা সারিগুলি কেবল কয়েকটি পিক্সেল দ্বারা পৃথক হয়, তাই সংখ্যাগুলি পৃথকভাবে পৃথকভাবে এনকোড করা হয়। সুতরাং প্রতিটি সারিটি সেই সারি পর্যন্ত সমস্ত সংখ্যার সংখ্যাসমূহ হিসাবে ডিকোড করা হবে এবং তারপরে বাইনারি রূপান্তরিত হবে।

প্রয়োজনীয় সংখ্যাগুলি তখন

0 511 -3 -12 -16 -32 0 6 -64 -6 0 25 13 -38 17 40 70 -511

0 ফাংশনটি ব্যবহার করে এমএটিএল-তে প্রবর্তিত হয় Oযা প্রতিবেশী সংখ্যার সাথে পৃথককারীকে এড়িয়ে চলে। এছাড়াও, নেতিবাচক লক্ষণগুলি অতিরিক্ত বাইটগুলি বোঝায় না কারণ তারা বিভাজনকারী হিসাবে কাজ করে।

একবার অ্যারে তৈরি হয়ে গেলে, এটি সংক্ষিপ্তভাবে সংক্ষিপ্তভাবে, বাইনারি-ডিকোডড এবং অনুভূমিকভাবে মিরর করা হয়। ফলস্বরূপ 2D অ্যারে ফলাফল তৈরি করতে একটি দ্বি-চর স্ট্রিং সূচক ব্যবহৃত হয়। এই স্ট্রিংটি সেই ফর্মের '% ', যেখানে '%'একটি ইনপুট চর।

@ কনর দ্বারা উল্লিখিত হিসাবে, কোডটি ইনপুট হিসাবে দুটি অক্ষরের সাথেও কাজ করে। এক্ষেত্রে অন্তর্ভুক্ত চূড়ান্ত স্ট্রিংটি সেই ফর্মের হবে '%_ ', যেখানে ইনপুটটি একটি দ্বি-চর স্ট্রিং '%_'। স্থানটি কেবল উপেক্ষা করা হবে, কারণ সূচক অ্যারে কেবল প্রথম দুটি অক্ষরকে সম্বোধন করে।

32                                             % space (ASCII)
h                                              % concat horizontally with 1st input: char
O511-3-12-16-32O6-64-6O25 13-38 17 40 70-511   % push these numbers
Nq$h                                           % concat all those numbers
Ys                                             % cumulative sum
10H$B                                          % convert to 10-digit binary numbers
                                               % gives 2D array, each number in one row
t                                              % duplicate
!P!                                            % flip horizontally
h                                              % concat horizontally
i                                              % take 2nd input: array [V H]
1$l                                            % matrix oh V×H ones  
X*                                             % Kronecker product to increase vertical
                                               % and horizontal scales by V and H resp.
Q                                              % add 1. Converts array of 0,1 into 1,2
)                                              % uses those 1,2 as indices into string


1
ভাষার 16.0.0 সংস্করণ হিসাবে, স্থান দ্বারা কমাগুলি প্রতিস্থাপন করুন
লুই মেন্ডো

3

সি (জিসিসি) , 199 197 বাইট

-2 বাইটস @ জোনাথনফ্রেচকে ধন্যবাদ জানায়

n,j;f(c,h,v){for(char t[20],i=18;i--;){for(n=10;n--;)t[n]=t[19-n]=((("\xff\0""1;\x7fM3\x7f\x7fON~~|x`\0\xff"[i]<<3)|(i&&i^17?1:7))>>n)&1?c:32;for(j=v;j--;puts(""))for(n=20*h;n--;)putchar(t[n/h]);}}

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

188 বাইট (অরক্ষিত)

সৌজন্যে @ জনাথনফ্রেচ।

n,j;f(c,h,v){for(char t[20],i=18;i--;){for(n=10;n--;)t[n]=t[19-n]=((("\xff\0001;M3ON~~|x`\0\xff"[i]<<3)|(i&&i^17?1:7))>>n)&1?c:32;for(j=v;j--;puts(""))for(n=20*h;n--;)putchar(t[n/h]);}}

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

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

#######  127     \x7f
           0     \0
##        96     `
####     120     x
#####    124     |
######   126     ~
######   126     ~
#  ###    78     N
#  ####   79     O
#######  127     \x7f
#######  127     \x7f
 ##  ##   51     3
#  ## #   77     M
#######  127     \x7f
 ### ##   59     ;
 ##   #   49     1
           0     \0
#######  127     \x7f

ফলস্বরূপ স্ট্রিংটি লুপের জন্য অবতরণ হওয়ার সাথে সাথে কয়েকটি বাইট উপস্থাপন করতে বিপরীত হয়েছিল (হেক্সাডেসিমাল পালিয়ে যাওয়ার সাথে একটি বিরক্তিকর সমস্যাটিও সমাধান করা)। প্রতিলিপি ইস্যু না করে অন্যান্য লুপগুলি উল্টানো যায়।

প্রতিটি অক্ষর বামে স্থানান্তরিত হয় এবং একটি সীমানা দেওয়া হয় (প্রথম এবং শেষ সারিগুলিতে বিশেষ যত্ন সহ)। তারপরে স্ট্রিংটিকে সঠিকভাবে স্কেল করে আউটপুট দেওয়ার বিষয়টি কেবল।

সমস্ত লুপগুলি আমাকে অনুভব করে যে আরও ভাল উপায় আছে।



@ জোনাথানফ্রেচ আহ, ধন্যবাদ!
গ্যাস্ট্রোপনার


@ জোনাথানফ্রেচ একটি ঝরঝরে, কিন্তু অপ্রিনিতযোগ্যদের জন্য খুব আগ্রহী নয়।
গ্যাস্ট্রোপনার

( টিআইও ) \xffপ্রতিস্থাপন করা যাবে না কেন আপনার কি ধারণা আছে ? ÿ
জোনাথন ফ্রেচ

2

গুরুতরভাবে, 116 বাইট

╩' "3ff 200 203 20f 21f 23f 23f 239 279 27f 27f 266 259 27f 26e 246 200 3ff"s`24╙(¿¡╜'1(Æ' '0(Æ"╛*"£M;R@+εj2└@n`M'
j

এই নিউলাইনটি গুরুত্বপূর্ণ। Hexdump:

00000000: ca27 2022 3366 6620 3230 3020 3230 3320  .' "3ff 200 203
00000010: 3230 6620 3231 6620 3233 6620 3233 6620  20f 21f 23f 23f
00000020: 3233 3920 3237 3920 3237 6620 3237 6620  239 279 27f 27f
00000030: 3236 3620 3235 3920 3237 6620 3236 6520  266 259 27f 26e
00000040: 3234 3620 3230 3020 3366 6622 7360 3234  246 200 3ff"s`24
00000050: d328 a8ad bd27 3128 9227 2027 3028 9222  .(...'1(.' '0(."
00000060: be2a 229c 4d3b 5240 2bee 6a32 c040 6e60  .*".M;R@+.j2.@n`
00000070: 4d27 0d0a 6a                             M'..j

ডেনিসের সিজেএম উত্তর হিসাবে একই কৌশল , কিন্তু মানগুলি 544 এর সাথে XORed না হয়ে হেক্সে এনকোড করা হয়েছে এবং সিরিয়াসলি স্ট্রিং ম্যানিপুলেশন অনেক বেশি শক্ত।

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


2

বিবিসি বেসিক, 239 236 232 214 বাইট

0DEFPROCM(A,B,C)C=C-32:FORU=0TO18*A-1:FORV=0TO20*B-1:Y=U DIVA:X=V DIVB:V.32-C*FNC((X<10)*-X-(X>9)*(19-X),Y):N.:P.:N.:E.
1DEFFNC(X,Y)Z=Y*10+X:=((ASCMI."#Cb^2aC*[#1CF<;)C$;I9I$;EYLb&#",Z/6+1)-35)AND(2^(Z MOD6)))=0

কলিং PROCM(1,1,35)# প্রতীক দ্বারা তৈরি ভূত উত্পাদন করে। PROCM- এ যুক্তিগুলি হ'ল: অনুভূমিক স্কেল, উল্লম্ব স্কেল, অক্ষরের ASCII মান।

এই প্রোগ্রামটি ব্র্যান্ডি বেসিক এবং বেসিক 2 উভয়ের জন্য একটি আসল মডেল বিতে কাজ করবে


2

ব্যাচ, 740 722 720 বাইট

@echo off
setlocal enabledelayedexpansion
set h=%3
set w=
set s=
for /l %%a in (1,1,%2)do set w=%1!w!&set s= !s!
call:l ####################
call:l #                  #
call:l #       ####       #
call:l #     ########     #
call:l #    ##########    #
call:l #   ############   #
call:l #   ############   #
call:l #   ###  ##  ###   #
call:l #  ####  ##  ####  #
call:l #  ##############  #
call:l #  ##############  #
call:l #  ##  ##  ##  ##  #
call:l #  # ##  ##  ## #  #
call:l #  ##############  #
call:l #  ## ###  ### ##  #
call:l #  #   ##  ##   #  #
call:l #                  #
call:l ####################
exit/b
:l
set l=%*
set l=!l: =%s%!
for /l %%a in (1,1,%h%)do echo !l:#=%w%!

সম্পাদনা করুন: অযৌক্তিক জায়গা সরিয়ে 18 20 বাইট সংরক্ষণ করা হয়েছে।


2

স্ট্যাক্স , 45 বাইট

àÄÅ╣>u°↨2ö|dτÅbn╦─▀:ΣFúÇz?⌂É\!n▄§V0Ncó╤½8|δò_

এটি চালান এবং এটি ডিবাগ করুন

ব্যাখ্যা:

"<long string>"!E' x+:BA/s|*mn|*:m Full program, implicit input.
"<long string>"!E                  Push 1531747987795407832964332490922049710271411270772589567
                 ' x+              Push a space plus the given character
                     :B            Interpret the number in binary, replacing 0 with ' ' and 1 with the given char
                       A/          Group into pieces of length 10.
                                   Gives the first half of each line.
                         s|*       Repeat each line <vertical scale factor> times
                            m      For each line:
                             n|*     Repeat each character <horizontal scale factor> times
                                :m   Mirror
                                     Implicit output with newline

তৃতীয়টি আমার পর্দায় কিছু রঙের সাথে দেখায়। খুব সুন্দর :-)
লুইস মেন্ডো

1

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

(s,w,h)=>[...`NJ56:*

\fLJJSlJ[s5NJ`].map(c=>`${t=(c.charCodeAt()^565).toString(2)}${[...t].reverse().join``}
`.replace(/./g,b=>` ${s}`[b].repeat(w)).repeat(h)).join``

@ ডেনিসের উত্তরের ভিত্তিতে আমার ধারণা আপনি পরিবর্তে আক্ষরিক এফএফ ব্যবহার করে অন্য একটি বাইট শেভ করতে পারেন\f তবে আমি সন্দেহ করি যে আমি এখানে একটি আটকানোতে পারি can এটি চেষ্টা করার সময় আপনি চরিত্রের \u01CAপরিবর্তে ব্যবহার করতেও পারেন NJ

দুর্ভাগ্যক্রমে চরিত্রের যুক্তিতে একটি স্থান প্রস্তুত করার জন্য পুরো 6 বাইট খরচ হয়।


1

পাইথন 2, 838 828 618 বাইট

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

এটি আমি করতে পারি সেরা, কমান্ড লাইনে গ্রাফিক্সের সাথে আমি খুব ভাল না।

আমি ছোট ভূতকে বেস হিসাবে নিলাম।

আমি অ্যাস্কি 219 ডিফল্টরূপে ব্যবহার করছি, কারণ সেই চরের সাথে, ভূতটি বেশ দুর্দান্ত দেখায় !!!

Golfed

def g(c,s,w,h,l=""):
 x="c-20,c-1,s-18,c-1,c-1,s-7,c-4,s-7,c-1,c-1,s-5,c-8,s-5,c-1,c-1,s-4,c-10,s-4,c-1,c-1,s-3,c-12,s-3,c-1,c-1,s-3,c-12,s-3,c-1,c-1,s-3,c-3,s-2,c-2,s-2,c-3,s-3,c-1,c-1,s-2,c-4,s-2,c-2,s-2,c-4,s-2,c-1,c-1,s-2,c-14,s-2,c-1,c-1,s-2,c-14,s-2,c-1,c-1,s-2,c-2,s-2,c-2,s-2,c-2,s-2,c-2,s-2,c-1,c-1,s-2,c-1,s-1,c-2,s-2,c-2,s-2,c-2,s-1,c-1,s-2,c-1,c-1,s-2,c-14,s-2,c-1,c-1,s-2,c-2,s-1,c-3,s-2,c-3,s-1,c-2,s-2,c-1,c-1,s-2,c-1,s-3,c-2,s-2,c-2,s-3,c-1,s-2,c-1,c-1,s-18,c-1,c-20"
 for r in x.split(","):
  d=r.split("-");l+=d[0].replace("s",s).replace("c",c)*int(d[1])*w
  if len(l)==20*w:print(l+"\n")*h,;l=""

Repl.it এ চেষ্টা করুন

Ungolfed

def pacmanGhost(char = "█", sep = " ", width = 1, height = 1):
    coords = [[[char, 20]], [[char, 1], [sep, 18], [char, 1]],[[char, 1], [sep, 7], [char, 4], [sep, 7], [char, 1]], [[char, 1], [sep, 5], [char, 8], [sep, 5],
         [char, 1]], [[char, 1], [sep, 4], [char, 10], [sep, 4], [char, 1]], [[char, 1], [sep, 3], [char, 12], [sep, 3], [char, 1]], [[char, 1], [sep, 3],
         [char, 12], [sep, 3], [char, 1]], [[char, 1], [sep, 3], [char, 3], [sep, 2], [char, 2], [sep, 2], [char, 3], [sep, 3], [char, 1]], [[char, 1],
         [sep, 2], [char, 4], [sep, 2], [char, 2], [sep, 2], [char, 4], [sep, 2], [char, 1]], [[char, 1], [sep, 2], [char, 14], [sep, 2], [char, 1]],
         [[char, 1], [sep, 2], [char, 14], [sep, 2], [char, 1]], [[char, 1], [sep, 2], [char, 2], [sep, 2], [char, 2], [sep, 2], [char, 2], [sep, 2],
         [char, 2], [sep, 2], [char, 1]], [[char, 1], [sep, 2], [char, 1], [sep, 1], [char, 2], [sep, 2], [char, 2], [sep, 2], [char, 2], [sep, 1], [char, 1],
         [sep, 2], [char, 1]], [[char, 1], [sep, 2], [char, 14], [sep, 2], [char, 1]], [[char, 1], [sep, 2], [char, 2], [sep, 1], [char, 3], [sep, 2],
         [char, 3], [sep, 1], [char, 2], [sep, 2], [char, 1]], [[char, 1], [sep, 2], [char, 1], [sep, 3], [char, 2], [sep, 2], [char, 2], [sep, 3],
         [char, 1], [sep, 2], [char, 1]], [[char, 1], [sep, 18], [char, 1]], [[char, 20]]]
    for coord in coords:
        line = ""
        for element in coord:
            line = "{}{}".format(line, element[0] * element[1] * width)
        for i in range(height):
            print(line)
    return

পরীক্ষা

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


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

এএসসিআইআই কোড 219
mbomb007

1

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

p,w,h=raw_input().split()
for i in range(18): mystr=''.join([(p if i=='1'else' ')*int(w)for i in str(10+(i%17==0))+format(ord('\xff\x00\x03\x0f\x1f??9y\x7f\x7ffY\x7fnF\x00\xff'[i]),'08b')]);print'\n'.join([mystr+mystr[::-1]for j in[1]*int(h)])

1

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

def a(s,x,y):
    z=[]
    for c in u'\u01df #/?\x1f\x1f\x19Y__Fy_Nf \u01df':
        b="".join((s if d=="1"else" ")*x for d in bin(ord(c)^544)[2:]);z+=[b+b[::-1]]*y
    print"\n".join(z)

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

ব্যাখ্যা:

u'\u01df #/?\x1f\x1f\x19Y__Fy_Nf \u01df'

মতই ডেনিস এর উত্তর, এই স্ট্রিং প্রতিটি চরিত্র "চিত্র" বাম অর্ধেক এক লাইন, XOR যাও 544 বাইনারি উপস্থাপনা প্রতিনিধিত্ব করে।

for c in <unicode string>:

স্ট্রিংয়ের প্রতিটি চরিত্রের জন্য, নিম্নলিখিতটি করুন:

    bin(ord(c)^544)

চরিত্রটিকে তার পূর্ণসংখ্যার উপস্থাপনে রূপান্তর করুন, তারপরে 544 সহ একটি বাইনারি এক্সওর করুন Then তারপরে এই পূর্ণসংখ্যাকে '0xb1111111111' এর মতো বাইনারি উপস্থাপনার একটি অক্ষর স্ট্রিংয়ে রূপান্তর করুন।

    for d in <string>[2:]

স্টিং-এর প্রতিটি চরিত্রের জন্য, অবস্থান 2 থেকে শুরু করে (যা শুরুর দিকে 0 বি এড়িয়ে যায়), নিম্নলিখিতটি করুন:

    (s if d=="1"else" ")*x

অক্ষরটি যদি == "1" থাকে তবে সরবরাহ করা চরিত্রের সাথে এটি প্রতিস্থাপন করুন, অন্যথায় এটি একটি স্থানের সাথে প্রতিস্থাপন করুন। তারপরে এই চরিত্রটি x বার অনুলিপি করুন। (x = 0 এর ফলে খালি স্ট্রিং হবে))

    b="".join(<previously generated list of strings>)

সমস্ত স্ট্রিংকে একটি দীর্ঘ স্ট্রিংয়ে সংবিধানবদ্ধ করুন, খালি স্ট্রিং দ্বারা পৃথক করা ""।

    z+=[b+b[::-1]]*y

বি + এর বিপরীতে একটি স্ট্রিং তৈরি করুন, তারপরে এই স্ট্রিংয়ের y টি উদাহরণ সহ একটি অ্যারে তৈরি করুন (y = 0 খালি তালিকা তৈরি করবে []), তারপরে তালিকাটি z এ যুক্ত করুন।

print"\n".join(z)

অবশেষে, উত্পাদিত প্রতিটি স্ট্রিং স্ক্রিনে মুদ্রণ করুন, লাইন ব্রেক দ্বারা পৃথক করে।

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