এটি রকেট বিজ্ঞান নয়


59

এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা একটি একক-লাইনের স্ট্রিংয়ে লাগে। আপনি ধরে নিতে পারেন এটিতে কেবল প্রিন্টযোগ্য এএসসিআইআই রয়েছে । কোনও ASCII আর্ট রকেটের স্ট্রিং প্রিন্ট করুন বা ফিরে দিন

  |
 /_\
 |E|
 |a|
 |r|
 |t|
 |h|
 |_|
/___\
 VvV

ফিউজলেজের উপর থেকে নীচে পর্যন্ত ইনপুট স্ট্রিং সহ। এই ক্ষেত্রে ইনপুট ছিল Earth। রকেটের উচ্চতা (শিখা সহ) সর্বদা স্ট্রিং প্লাস পাঁচের দৈর্ঘ্য।

আউটপুটে প্রতিটি লাইনের দুটি পর্যন্ত ট্রেলিং স্পেস থাকতে পারে এবং একক alচ্ছিক ট্রেলিং নিউলাইনও থাকতে পারে। বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।

আরও উদাহরণ:

[empty string]

  |
 /_\
 |_|
/___\
 VvV

a

  |
 /_\
 |a|
 |_|
/___\
 VvV

|0

  |
 /_\
 |||
 |0|
 |_|
/___\
 VvV

\/\

  |
 /_\
 |\|
 |/|
 |\|
 |_|
/___\
 VvV

 _ _ [note trailing space]

  |
 /_\
 | |
 |_|
 | |
 |_|
 | |
 |_|
/___\
 VvV

    [4 spaces]

  |
 /_\
 | |
 | |
 | |
 | |
 |_|
/___\
 VvV

SPACEY

  |
 /_\
 |S|
 |P|
 |A|
 |C|
 |E|
 |Y|
 |_|
/___\
 VvV

লিডারবোর্ড


1
সম্পর্কিত । এমন আরও অনেকে থাকতে পারে যা যথেষ্ট পরিমাণে এই দ্বিগুণ হিসাবে গণ্য হয়।
পিটার টেলর

2
@ শেফা স্পেসস হ্যাঁ অন্য সাদা জায়গা নেই। লিঙ্কযুক্ত উইকি হিসাবে ইঙ্গিত।
ক্যালভিনের

6
দোহ, আমি শিরোনামটি দেখেছি এবং মস্তিষ্কের অস্ত্রোপচার সম্পর্কে কিছু প্রত্যাশা করেছি। :(

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

4
"এটি কের্বাল স্পেস প্রোগ্রামে কাজ করেছে ..."
ম্যাজিক অক্টোপাস উরন

উত্তর:


55

এক্সেল ভিবিএ, 142 179 175 160 155 বাইট

নির্দেশ:

এক্সেলের কার্যপত্রকটি সেট করুন যেখানে সেল এ 1 ইনপুট এবং আউটপুট হিসাবে কলাম সি রয়েছে। কেন্দ্রে সি কলামে পাঠ্য প্রান্তিককরণটি সেট করুন । তাত্ক্ষণিক উইন্ডোতে নিম্নলিখিত কোডটি লিখুন এবং চালান:

[C1]="|":[C2]="/_\":T=[A1]&"_":For i=1To Len(T):Cells(i+2,3)="|"&Mid(T,i,1)&"|":Next:Cells(i+2,3)="/__\":Cells(i+3,3)="VvV":[C:C].HorizontalAlignment=-4108

কোডটি অবহিত করা:

Sub R()
    [C1] = "|"
    [C2] = "/_\"
    T = [A1]&"_"

    For i = 1 To Len(T)
        Cells(i + 2, 3) = "|" & Mid(T, i, 1) & "|"
    Next

    Cells(i + 2, 3) = "/__\"
    Cells(i + 3, 3) = "VvV"
    [C:C].HorizontalAlignment = -4108   'Set the text alignment in column C to center
End Sub

আউটপুট:

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

দ্রষ্টব্য: হরফ এবং রঙটি কেবল একটি ব্যক্তিগত পছন্দ।


এডসি 65 এর পরামর্শের কারণে 15 বাইট সংরক্ষণ করা হয়েছে। ধন্যবাদ।

টেলরস্কটের পরামর্শের কারণে 5 বাইট সংরক্ষণ করা হয়েছে। ধন্যবাদ।


"_"টিতে 15 বাইট যুক্ত করে সংরক্ষণ করুন[C1]="|":[C2]="/_\":T=[A1]&" ":For i=1To Len(T):Cells(i+2,3)="|"&Mid(T,i,1)&"|":Next:Cells(i+2,3)="/__\":Cells(i+4,3)="VvV":Columns(3).HorizontalAlignment=-4108
এডক 65

(ঠিক আছে আমার কোডে একটি ত্রুটি রয়েছে এবং এটি সম্পাদনা করতে খুব দেরি হয়েছে But তবে আপনি ধারণাটি পাবেন)
edc65

@ edc65- এ ধারণাটি পাই না। আপনার কোডটি আমার সাথে হুবহু তাই 15 বাইট সংরক্ষণ করার জন্য আমার কী সম্পাদনা করা উচিত?
আনাস্তাসিয়া-রোমানোভা 秀

1
154 বাইট:[C:C].HorizontalAlignment=-4108:[C1]="|":[C2]="/_\":T=[A1]&"_":For i=1To Len(T):Cells(i+2,3)="|"&Mid(T,i,1)&"|":Next:Cells(i+2,3)="/__\":Cells(i+3,3)="VvV
টেলর স্কট

1
অথবা আপনি এটি কেন্দ্রের দিকটি ধরে রেখে 151 বাইটে নামতে পারেন[C:C].HorizontalAlignment=3:[C1]="|":[C2]="/_\":T=[A1]&"_":For i=1To Len(T):Cells(i+2,3)="|"&Mid(T,i,1)&"|":Next:Cells(i+2,3)="/___\":Cells(i+3,3)="VvV
টেলর স্কট

30

পার্ল 6, 75 বাইট

"  |\n /_\\".say;" |$_|".say for slurp.chomp.comb;" |_|\n/___\\\n VvV".say;

101
slurp.chomp.comb... পার্ল অদ্ভুত।
মেগো

14
গবগব করে খাওয়া !!! Chomp !!! COMB !! এখানে পার্ল দানব আসে!
stommestack

মনে রাখবেন যে কোনও ফাংশন এবং সংঘটন ব্যবহার করে আপনি প্রচুর পরিমাণ কাটাতে পারবেন: {[~] " |\n /_\\\n",|(" |$_|\n"for $_.comb)," |_|\n/___\\\n VvV"}65 বাইট
ব্যবহারকারী 0721090601

তবে আপনি জেএসের
orrow

22

জাভাস্ক্রিপ্ট (ES6), 54

অকপট

x=>`  |
 /_\\
 |${[...x+'_'].join`|
 |`}|
/___\\
 VvV`

পরীক্ষা

f=x=>`  |
 /_\\
 |${[...x+'_'].join`|
 |`}|
/___\\
 VvV`

function update() {
  O.textContent=f(I.value)
}

update()
<input id=I value='hello' oninput='update()'><pre id=O></pre>


16

আসলে, 40 বাইট

"/___\
 VvV",'_o"|
 |"j'|o" |"+"  |
 /_\

হ্যাঁ, এই নিউলাইনগুলি সেখানে থাকার কথা।

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

ব্যাখ্যা:

\nআরও সহজে বিন্যাসকরণের জন্য নিউলাইনগুলি প্রতিনিধিত্ব করে

"/___\\n VvV",'_o"|\n |"j'|o" |"+"  |\n /_\
"/___\\n VvV"                                create the bottom of the rocket
             ,'_o                            get input, append a "_" (for the last section before the jets)
                 "|\n |"j                    insert "|\n |" between every pair of characters
                         '|o                 append "|"
                            " |"+            prepend " |"
                                 "  |\n /_\  create the nose cone

12
আপনার প্রোগ্রামটি বিস্ফোরিত রকেটের মতো হতাশাজনকভাবে দেখায়।
কর্সিকা

15

সি, 83 , 82 বাইট

F(char*c){for(puts("  |\n /_\\");*c;printf(" |%c|\n",*c++));puts(" |_|\n/___\\\n VvV");}

পরীক্ষার মূল:

int main() {
  F("");
  F("a");
  F("|0");
  F("\\/\\");
  F(" _ _ ");
  F("    ");
  F("SPACEY");
}

7
আমি আমার নিজস্ব সি সলিউশনটি তৈরি করেছি, এবং এটি হ'ল আপনার, চরিত্রের চরিত্রটি being আমার কাছ থেকে +1
কোডি

ফোনে এবং এসএসএইচে খুব অলস, সুতরাং এটি অনির্ধারিত, তবে কাজ করা উচিত। 2 বাইট F(char*c){for(puts(" |\n /_\\");*c;printf(" |%c|\n",*c++),puts(" |_|\n/___\\\n VvV");}
সাশ্রয় করে

@ অ্যালগমির আসলে একটি বাইট সংরক্ষণ করে, কারণ শেষটি putsকেবল একবারই মৃত্যুদন্ড কার্যকর করতে হবে , প্রতিটির পরে নয় printf। তবে হ্যাঁ, 1 বাইট সংরক্ষণ করা হয়েছে, হ্যাঁ!
স্টেফানো সানফিলিপো

ঠিক। আমি যখন ঘুমাচ্ছিলাম তখন আমি গল্ফ করার জন্য দোষ দেব।
অ্যালগমির

এটি কি 88 বাইট নয়?
গ্যাস্ট্রোপনার

10

পাইথন 2, 93 66 62 61 বাইট

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

সম্পাদনা: 27 বাইট মেগোর ধন্যবাদ। 4 বাইটস থাইবাইকিংকিংকে ধন্যবাদ। 1 বাইট ব্যবহারকারী 3030010 ধন্যবাদ।

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

lambda x:r"""  |
 /_\
 |%s|
/___\
 VvV"""%"|\n |".join(x+"_")

9

পিএইচপি, 73 72 69 62 বাইট

  |
 /_\
 |<?=join('|
 |',str_split($argv[1]._))?>|
/___\
 VvV

যখন স্ক্রিপ্ট বলা হয় তখন কমান্ড লাইন থেকে প্রথম যুক্তি হিসাবে ফিউজলেজে মুদ্রণের জন্য স্ট্রিং নেয়।

উন্নতি:

  1. প্রথম আর্গুমেন্টে একটি সত্য এলএফ নিউলাইন দিয়ে with n প্রতিস্থাপন করে একটি বাইট সংরক্ষণ করেছেন join
  2. ইনপুটটিতে একক আন্ডারস্কোর সহ রকেট বেসটি যুক্ত করে আরও তিনটি বাইট সংরক্ষণ করা হয়েছে
  3. ইসমাইল মিগুয়েলকে ধন্যবাদ : পিএইচপি "হাইপারটেক্সট প্রিপ্রোসেসর" হিসাবে ব্যবহৃত হত এমন সুবিধা গ্রহণ করে আরও 7 টি বাইট সংরক্ষণ করা হয়েছে যাতে আপনি যতটা পাঠ্য আউটপুট করতে পারেন এবং মাঝখানে কোথাও কোড শুরু করতে পারেন।

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

এই মজা ছিল! :-)

নমুনা কল:

php rocket.php ""
php rocket.php EARTH
php rocket.php "This is a very long rocket"


দুর্দান্ত গল্ফিং! আমি সেই সম্ভাবনাটি পুরোপুরি ভুলে গেছি। ধন্যবাদ!
ইয়েটিজিএনএন

আপনাকে স্বাগতম. এছাড়াও, আমি প্রথম লাইনে 2 বাইট সংরক্ষণ করেছি। আপনার এটিতে 2 টি অতিরিক্ত ট্রেলিং স্পেস ছিল। এটি এমন কিছু ছিল যা আমি প্রত্যাশা করছিলাম না, আমাকে অবশ্যই বলতে হবে।
ইসমাইল মিগুয়েল

1
আমি জানি, এটি ছিল সত্যিই বোবা তবে স্পট করা খুব কঠিন। আমি কেবলমাত্র একবার লক্ষ্য করেছি যে আমি আপনার উন্নত সংস্করণে by৪ বাইট নিয়ে এসেছি এবং এর কারণ খুঁজে বের করতে হয়েছিল।
ইয়েটিজিএনএন

8

ব্রেনফাক , 179 বাইট

>-[-[-<]>>+<]>-..[->+>++++<<]>>----.<<++++++++++.>.>>>+[-[--<]>>--]<.[-<+<++>>]<<+.---.<,[<<<.>.>.>.<.>,]<<<.[->>>+<<<]>.>.>>+++.<<.>.>>.<...---.<.<<.>>>------.[-<<<+<+>>>>]<<<.<.

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


@ ব্যবহারকারী00001 এই শব্দগুচ্ছটি কেবল সন্ত্রাসী নয়, বিশ্বব্যাপী সমস্ত মুসলিম ব্যবহার করে। আপনি কি সত্যিই ভাবেন যে সন্ত্রাসীরা সমস্ত মুসলমানকে প্রতিনিধিত্ব করে?
লিকি নুন


8

রুবি, 57 55 বাইট

@ মানিয়েটওয়ার্ক দ্বারা প্রস্তাবিত ইনপুটটিতে
কোনও নতুন লাইন নেই বলে ধরে ধরে @ ভালুআইঙ্ক -5 বাইট দ্বারা -2 বাইট নিউলাইন-কম ইনপুট উদাহরণস্বরূপ echo -n, যেমন সরবরাহ করা যেতে পারে echo -n hey | ruby rocket.rb

puts'  |
 /_\
 |'+gets.chars*'|
 |'+'|
 |_|
/___\
 VvV'
পুরানো সংস্করণ, ইনপুটটিতে নতুন লাইন ধরে:

রুবি, 62 60 বাইট

puts'  |
 /_\
 |'+gets.chop.chars*'|
 |'+'|
 |_|
/___\
 VvV'

প্রশ্নের মালিকের মন্তব্য অনুসারে ইনপুটটিতে নতুন লাইন চরিত্র থাকবে না, তাই আপনি মুছে ফেলতে পারেন .chop
manatwork

@ মানাটওয়ার্ক ঝরঝরে, ধন্যবাদ :)
দানিরো

আপনি একক উদ্ধৃতি স্ট্রিং ব্যবহার করেন, তাহলে উভয় আপনার প্রতিস্থাপন করতে সক্ষম হওয়া উচিত \\ সঙ্গে \ । (একক উদ্ধৃতিচিহ্ন সহ পংক্তি সালে অক্ষর পলান করা হয় না, ছাড়া \'
মূল্য কালি

7

হাস্কেল, 58 বাইট

f s="  |\n /_\\\n |"++((:"|\n |")=<<s)++"_|\n/___\\\n VvV"

7

রেটিনা , 44 37 বাইট

মার্টিন ইন্ডারকে 7 বাইট ধন্যবাদ

$
_
.
¶ |$0|
$
¶/___\¶ VvV
^
  |¶ /_\

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


নীচে এক সারিতে একটি ফাঁক ফেলে :( "স্পেস, চূড়ান্ত সীমান্তে"
xQbert

@ xQbert আমার জন্য কাজ করে, আপনি কি একটি টিআইও লিঙ্ক সংযুক্ত করতে পারবেন?
লিকি নুন

অদ্ভুত, এটি এখন আমার পক্ষে ঠিক কাজ করে ... আহা আমার ত্রুটির শেষে একটি নতুন লাইন ছিল।
xQbert

রেটিনা একমাত্র ভাষা যা আমি জানি যা একটি অনুবর্তনযোগ্য নতুন লাইন যুক্ত করা প্রোগ্রামটিকে পুরোপুরি পরিবর্তন করতে পারে।
17'6 এ 16

6

জেলি , 37 36 বাইট

;”_⁾ |;ЀŒB;“/___\“ VvV”“  |“ /_\”;Y

বিদ্যমান এন্ট্রি হিসাবে একই স্কোর, তবে একটি মজাদার নতুন বৈশিষ্ট্য ব্যবহার করে - ŒB, এর ভেক্টরাইজড সংস্করণ ŒḄ, যা বাউন্স হিসাবে পরিচিত। লাফাচ্ছে তার শেষ করার জন্য একটি তালিকা মাধ্যমে চলমান এবং তারপর ফিরে x[:-1]+x[::-1]উদাহরণ: bounce("codegolf") == "codegolflogedoc"

ডেনিসকে -1 বাইট ধন্যবাদ (বাউন্সের ভেক্টরাইজড সংস্করণ ব্যবহার করুন)

কিভাবে?

;”_⁾ |;ЀŒB;“/___\“ VvV”“  |“ /_\”;Y - argument: a string, S
                        “  |“ /_\”   - the top of the rocket ["  |", " /_\"] 
;”_                                  - concatenate to make S=S+"_"
   ⁾ |;                              - concatenate to make c=" |"+c
       Ѐ                            - map over right argument i.e. for c in S
         ŒB                          - bounce! With vectorisation c[:-1]+c[::-1]
                                       e.g. " |B" -> " |B| "
           ;                         - concatenate with
            “/___\“ VvV”             - the bottom of the rocket ["/___\", " VvV"]
                                  ;  - concatenate the top with everything else
                                   Y - join with line feeds

এটি ট্রাইটঅনলাইনে পরীক্ষা করুন


2
ŒBজন্য সংক্ষিপ্ত ŒḄ€
ডেনিস


5

ভি , 41, 39 বাইট

ys$_òlé
òÎá|I |
Hr/$r\YO  |GpX2á_o VvV

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

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

যেহেতু এই প্রোগ্রামটিতে অপ্রিন্টযোগ্য অক্ষর রয়েছে, তাই এখানে একটি হেক্সডাম্প রয়েছে:

0000000: 7973 245f f26c e90a f2ce e17c 4920 7c0a  ys$_.l.....|I |.
0000010: 4872 2f24 725c 594f 2020 7c1b 4770 5832  Hr/$r\YO  |.GpX2
0000020: e15f 6f20 5676 56                        ._o VvV

দুর্দান্ত তবে এটি "স্পেস, চূড়ান্ত সীমান্ত" এর ফাঁকা স্থানগুলি হ্যান্ডেল করে না।
xQbert

5

আর, 163 বাইট

v=c();l="\n";for(i in 1:nchar(a<-scan(,"")))v=c(v,paste0(" |",strsplit(a,"")[[1]][i],"|",l,collapse=""));cat("  |",l," /_\\",l,v," |_|",l,"/___\\",l," VvV",sep="")

অসমাপ্ত:

v=c()     #Empty vector
l="\n"    #Line break

for(i in 1:nchar(a<-scan(,"")))                  #For the number of character of the input
    v=c(v, paste0(" |",strsplit(a,"")[[1]][i],"|","\n",collapse=""))
    #This part cut the input into its letters, paste each letter between `|`'s, 
    #and a line break

cat("  |",l," /_\\",l,v," |_|",l,"/___\\",l," VvV",sep="") #Puts everything in the STDOUT,
                                                           #with spaces where needed

আমি শেষ লাইনে কিছু স্পেস রেখেছিলাম তা সত্যই আমি পছন্দ করি না, তবে আরে!


5

পাওয়ারশেল ভি 2 +, 59 55 51 বাইট

"  |
 /_\"
$args|% t*y|%{" |$_|"}
" |_|
/___\
 VvV"

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

Write-Outputপ্রতিটি উপাদানগুলির মধ্যে একটি নতুন লাইন আটকে রাখার জন্য মৃত্যুদন্ড কার্যকর হওয়ার পরে ডিফল্টটিকে আপত্তিজনকভাবে ব্যবহার করা হয় , যেহেতু এইগুলি পাইপলাইনে কেবল আক্ষরিক স্ট্রিং। কেবলমাত্র "কৃপণ" বিটটি $argsরকেটের দেহ পেতে চার-অ্যারে হিসাবে ইনপুটটির প্রতিটি উপাদানকে লুপ করে ।

কিছু বাইট সংরক্ষণ করতে কনারএলএসডাব্লু দ্বারা নির্দেশিত হিসাবে আক্ষরিক নিউলাইনগুলি ব্যবহার করে।
-4 আরও বাইট Veskah ধন্যবাদ।


আপনি 3 বাঁচাতে স্ট্রিংটিতে প্রকৃত নিউলাইনগুলি রাখতে পারেন, শেল এবং \r
আইস


4

পাওয়ারশেল, 70 বাইট

"  |`n /_\`n$(([char[]]$a|%{" |$_|"})-join("`n"))`n |_|`n/___\`n VvV 

ইনপুট করতে $ এ সেট করুন।

এটিতে যদি ভেরিয়েবল ব্যতীত অন্য কোনও ইনপুট নিতে হয় তবে এটি পাইপ করা যেতে পারে:

"Hello World"|%{"  |`n /_\`n$(([char[]]$_|%{" |$_|"})-join("`n"))`n |_|`n/___\`n VvV "}

উদাহরণ:

  |
 /_\
 |H|
 |e|
 |l|
 |l|
 |o|
 | |
 |W|
 |o|
 |r|
 |l|
 |d|
 |_|
/___\
 VvV 

4

গণিত, 50 বাইট

"  |
 /_\\
 |"<>(#<>"|
 |"&/@#)<>"_|
/___\\
 VvV"&

বেনামে ফাংশন। ইনপুট হিসাবে অক্ষরের একটি তালিকা নেয় এবং আউটপুট হিসাবে একটি স্ট্রিং প্রদান করে।


4

পিএইচপি, 108 100 88 বাইট

-8 বাইট ব্যবসায় বিড়াল ধন্যবাদ

-12 বাইটস ইয়েটিসিজিএনকে ধন্যবাদ

echo'  | 
 /_\\
';foreach(str_split($argv[1])as$c){echo" |$c|
";}echo' |_|
/___\\
 VvV';

অনেকটাই অকপট

Ideone


1
foreach(str_split($a)as$c)লুপের জন্য অন্যটির পরিবর্তে আপনি ব্যবহার করে প্রচুর বাইট সংরক্ষণ করতে পারেন । এছাড়াও, আপনি ডাবল উদ্ধৃতি ব্যবহার করতে পারলে সরাসরি স্ট্রিংয়ে $ সিটি রাখতে পারেন:echo" |$c| ....";
বিজনেস বিড়াল

@ বিজনেসগেট সত্য, বন্ধনী ব্যাখ্যা না করায় ডাবল উক্তি অ্যারে স্টাইল চিন্তায় কাজ করছিল না বলে ধন্যবাদ
সেফা

নিয়মিত অভিব্যক্তি সম্পর্কে কি? function f($a){echo' |.␤ /_\\␤',preg_replace('/./',' |$0|␤',$a),' |_|␤/___\\␤ VvV';}
manatwork

1
এমনকি কেন এটি চারপাশে একটি ফাংশন রাখা? প্রতিস্থাপন করা হচ্ছে $aসঙ্গে $argv[1]কমান্ড লাইন থেকে চলমান এটা অনেক খাটো করে তোলে।
ইয়েটিসিজিএন

@ মান্যাটওয়ার্ক এটি সম্ভবত একটি বৈধ বিকল্প, তবে যেহেতু আমি এটি বুঝতে পারি না এবং এটি আমার মতো একই আত্মায় নেই, তাই আমি আপনাকে এটি পোস্ট করতে দেব।
সেফা

4

সি #, 106 97 80 74 বাইট

s=>$@"  |
 /_\
 |{string.Join("|\n |",s.ToCharArray())}|
 |_|
/___\
 VvV";

উপরের চেষ্টা করার জন্য আমার কাছে সি # 6 নেই তবে আমি বিশ্বাস করি এটি কার্যকর হবে

কেভিন ক্রুইজসেনকে ধন্যবাদ 7 বাইট সংরক্ষণ করা

17 বাইট সংরক্ষণ করার জন্য আমাকে সঠিক দিকে ইশারা করার জন্য মানটওয়ার্ককে ধন্যবাদ

দুধের জন্য 6 বাইট সংরক্ষণ করা হয়েছে


+1 টি। বিটিডব্লিউ, পেছনের using System.Linq;s=>$(" |\n /_\\\n{string.Join("",s.Select(c=>" |"+c+"|\n"))} |_|\n/___\\\n VvV");
শ্বেত স্থানগুলি alচ্ছিক

1
@ কেভিন ক্রুজসেন আমি আমার পূর্ববর্তী উত্তরে আপনার মন্তব্যের পরে এটি আপডেট করার প্রক্রিয়াতেই ছিলাম :) সহায়তার জন্য ধন্যবাদ
TheLethalCoder

ভিতরে একটি একক স্ট্রিং আক্ষরিক ব্যবহার করে আপনি কিছু অক্ষর সংরক্ষণ করতে পারেন Select: " |"+c+"|\n"c+"|\n |"একসাথে এর {}আগে থেকে moving | moving সরানোর সাথে ।
manatwork

@ মান্যাটওয়ার্ক আমি এটিকে কাজ করতে পারে বলে মনে করতে পারছি না
TheLethalCoder

1
নতুন লাইনটি 2 বাইটের তুলনায় \n1 বাইট। সুতরাং আপনি নতুন লাইন প্রতিস্থাপন করে আরও 5 বাইট সংরক্ষণ করবেন save হ্যাঁ, আপনি যদি ভিজ্যুয়াল স্টুডিও ব্যবহার করছেন তবে ডিফল্টরূপে নতুন লাইনগুলি 2 বাইট হবে, তবে আপনি একটি হেক্স সম্পাদক এ উত্স ফাইলটি খুলতে পারেন (ভিজ্যুয়াল স্টুডিওতে একটি আছে) এবং ক্যারেজ রিটার্নের অক্ষর মুছতে পারেন। আউটপুটটি এখনও একই থাকবে।
দুধ

4

সি,  131  , 121 বাইট

#define P printf
main(){char s[99],*p=s;gets(s);P("  |\n /_\\\n");while(*p)P(" |%c|\n",*p++);P(" |_|\n/___\\\n VvV\n");}

আপনি p=sআরম্ভের দিকে যেতে এবং pভিতরে ব্যবহার করে তিনটি অক্ষর মুছে ফেলতে পারেন scanf:main(){char s[99],*p=s;scanf("%s",p);P(" |\n /_\\\n");while(*p)P(" |%c|\n",*p++);P(" |_|\n/___\\\n VvV\n");}
কোয়ান্টিন

ঠিক আছে .... আমি জানি না কেন "স্ক্যানফ ("% s ", & গুলি)" এর পরিবর্তে "স্ক্যানফ ("% s ", গুলি)" এর পরিবর্তে সঠিক ফলাফল মুদ্রণ করুন ... শেষ পর্যন্ত স্ক্যানফ না পেয়ে কারণ আমি যে জায়গাগুলি পছন্দ করি সেগুলি বিপদটি পায় () ...
রোজলুপি

2
আপনার পোস্ট ভাংচুর করবেন না দয়া করে। ধন্যবাদ!
NobodyNada


3

05AB1E , 50 47 43 37 বাইট

I'_J"  |
 /_\"svy" |ÿ|"}"/___\
 VvV"»

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

আদনানকে ধন্যবাদ 9 বাইট সংরক্ষণ করা।


পি, মত: স্ট্রিং এছাড়াও 05AB1E মধ্যে নতুন লাইন গ্রহণ করতে পারে এই
আদনান

@ আদনান সুন্দর, ধন্যবাদ! কোনও ধারণা কীভাবে খালি ইনপুটটি পেতে পারেন?
এমিগনা

আমি IðJপ্রোগ্রামের শুরুতে একটি পদ্ধতির কথা ভাবছিলাম , যার মধ্যে ফ্যাসলেজের ভিত্তিও রয়েছে।
আদনান

@ আদনান দুর্দান্ত ধারণা। আমি «অনেক ভাগ্য ছাড়াই এর আগে চেষ্টা করেছি । যদিও এটি অনেক ভাল।
এমিগনা

অপসারণ Uএবং এর সাথে প্রতিস্থাপন Xকরা sএকটি বাইট সংরক্ষণ করে :)
আদনান

3

কোটলিন, 68 বাইট

{"""  |
 /_\${it.replace(Regex("."),"\n |\$0|")}
 |_|
/___\
 VvV"""}

অনেকটাই অকপট. মাল্টলাইন স্ট্রিং এবং একটি রেজেক্স রিপ্লেসমেন্ট ব্যবহার করে। এটি টাইপযুক্ত ল্যাম্বদা (String)->String। টেস্ট:

fun main(args: Array<String>) {
    val function : (String)->String = {"""  |
 /_\${it.replace(Regex("."),"\n |\$0|")}
 |_|
/___\
 VvV"""}
    println(function(" _ _ "))
}

3

গেমা, 50 টি অক্ষর

\A=  |\n\ /_\\\n
?=\ |?|\n
\Z=\ |_|\n/___\\\n\ VvV

নমুনা রান:

bash-4.3$ echo -n gema | gema '\A=  |\n\ /_\\\n;?=\ |?|\n;\Z=\ |_|\n/___\\\n\ VvV'
  |
 /_\
 |g|
 |e|
 |m|
 |a|
 |_|
/___\
 VvV

3
আমার মনে হয় রকেটের বেসের আগে আপনি missing | _ | missing মিস করছেন
TheLethalCoder

সেকি। বোবা মিস আপনাকে ধন্যবাদ। লেথলকোডার
manatwork

1
আমাকে নতুন (আমার কাছে) (গল্ফহীন) ভাষায় পরিচয় করানোর জন্য +1।
জর্ডান

3

BASH 84 70

মানটওয়ার্কের জন্য 14 টি সংরক্ষণ করা হয়েছে

(cat&&echo _)|sed 's~.~ |&|\n~g;1s~^~  |\n /_\\\n~;$s~$~/___\\\n VvV~'

বাইটের অর্ধেকের বেশি নাক এবং ইঞ্জিন যুক্ত করার জন্য।


কেন grep? (cat&&echo _)|sed 's~.~ |&|\n~g;1s~^~ |\n /_\\\n~;$s~$~/___\\\n VvV~'। আসলে আমি ব্যবহার করার কোনও কারণ দেখতে পাচ্ছি না catএবং echoহয়ও। খাঁটি sedসমাধানে সংক্ষিপ্ত রূপান্তরিত হবে ।
manatwork

খাঁটি শেডের সাহায্যে, আপনার যদি ইনপুট না থাকে তবে কোনও আউটপুট পাবেন না
রিলে ২

ডোহ। তুমি ঠিক. দুঃখিত, আমি প্রয়োজনের সেই অংশটি ভুলে গেছি।
manatwork

@ মান্যাটওয়ার্ক আমি আমার প্রথম চেষ্টাতেও এটি সম্পর্কে ভুলে গেছি।
রিলে

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

3

GolfScript, 61 51 বাইট

আমার প্রথম কোড গল্ফ, আমি আশা করি এটি যথেষ্ট ভাল।

"  |
 /_\\
"\1/.,{" |"\(\"|
"\}\*" |_|
/___\\
 VvV"

ব্যাখ্যা

"  |\n /_\\\n"   # Push the rocket's head
\                # Swap the head with the user's string
1/               # The string is converted into an array
.,               # Push array length
{" |"\           # Push the rocket's body and swap
(\               # Array's first element cut out
"|\n"\           # Push rocket's body and swap
}\*              # Repeat for array length times
" |_|\n/___\\\n VvV" # Push rocket's bottom

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


3

ভিম, 41 39 বাইট

এখানে <End>আক্ষরিকভাবে "শেষ" কী রয়েছে।

i <End>_:s/./ |&|\r/g
/___\
 VvVggxo /_\

মুদ্রণযোগ্য তাই:

i <End>_^O:s/./ |&|\r/g
/___\
 VvV^[ggxo /_\^[

3

জিএনইউ সেড , 54 49 48 বাইট

এটি এই সাইটে একটি চ্যালেঞ্জ আমার প্রথম উত্তর ছিল। সমাধানটি সহজ, মূলত মুদ্রণযোগ্য, তাই এটি আর গল্ফ করা যাবে না তা নিশ্চিত করে কিছু সময় ব্যয় করেছি।

s:.:\n |&|:g
s::  |& /_\\&:
a\ |_|\n/___\\\n VvV

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

দ্রুত ফরোয়ার্ড অর্ধ বছর পরে, আমি স্ক্রিপ্টটি আবার লিখলাম, ভাল পরিমাপের জন্য একটি কৌশল ব্যবহার করেছি এবং এটিকে 1 বাইটের চেয়ে ছোট করে নামিয়েছি। এখন সেই অগ্রগতি!

ব্যাখ্যা: প্রতিটি পদক্ষেপের প্যাটার্ন স্পেসের স্পষ্টতার জন্য উল্লেখ করা হয়েছে, ইনপুট উদাহরণটি "GO" দিয়ে দেওয়া হয়েছে

s:.:\n |&|:g
   # turn each input char into a section of the rocket (\n |G|\n |O|)
s::  |& /_\\&:
   # 's::' is a trick; the search part is actually the one from the previous 's'
   #command, i.e. a char. Only the first char, '\n', the modifier 'g' is not
   #inherited. The replace part is the head of the rocket. (  |\n /_\\n |G|\n |O|)
a\ |_|\n/___\\\n VvV
   # append the tail of the rocket, plus implicit printing at the end

  |
 /_\
 |G|
 |O|
 |_|
/___\
 VvV

3

লুয়া, 83 , 92 বাইট

function f(x)return' |\n /_\\\n'..x:gsub('(.)',' |%1|\n')..' |_|\n/___\\\n VvV'end

print('  |\n /_\\\n'..(arg[1] and arg[1]:gsub('(.)',' |%1|\n') or '')..' |_|\n/___\\\n VvV')

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