একটি পাসওয়ার্ড পড়ুন


20

আপনার চ্যালেঞ্জটি হ'ল কীবোর্ড / স্ট্যান্ডার্ড ইনপুট থেকে একটি "পাসওয়ার্ড" পড়া।

চ্যালেঞ্জ :

  • sঅদৃশ্যভাবে একটি স্ট্রিং পড়ুন ।
  • প্রতিটি অক্ষরের জন্য sএকটি অক্ষর মুদ্রণ করুন c
  • রিয়েলটাইমে।

নিয়মাবলী:

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

উদাহরণ :

যদি sছিল password01এবং cছিল *, আউটপুটটি দেখতে এমন কিছু দেখাচ্ছে:

পাসওয়ার্ড

বিজয়ী :

প্রতিটি ভাষার সংক্ষিপ্ততম জমাটি জয়লাভ করে।


সঙ্গে পাইথন tkinterআমাদের কাস্টম ইনপুট ফিল্ড (HTML এ এক মত) জন্য অনুমোদিত, এই ধরনের যে প্রোগ্রাম যখন প্রবেশ টেপা হলে বিনষ্ট করে না, কিন্তু আপনি বন্ধ যখন Entry(Windows এ X এবং এর উইন্ডো cmd+ + Wম্যাক)?
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার হ্যাঁ, এটি বৈধ।
এমডি এক্সএফ

আমরা কি টার্মিনালে আক্ষরিক নতুন লাইনের প্রতিনিধিত্ব করতে Ctrl + J ব্যবহার করতে পারি? বিকল্পভাবে, আমরা প্রবেশের পরিবর্তে Ctrl + Z ব্যবহার করতে পারি?
কনর ও'ব্রায়েন

@ কনরও ব্রায়ান কীভাবে ইনপুটটি টার্মিনালে শেষ হবে তা স্পষ্ট করে জানিয়েছে।
এমডি এক্সএফ

2
ব্যবহারকারী ব্যাকস্পেস টিপলে কী হবে?
zdimesion

উত্তর:


6

str , 5 বাইট

n=?,1

বাগের কারণে এটি 5 বাইট। এটি কেবল 1 বাইট হওয়া উচিত:

1

<কোড> এন = ?, 1 </code> কার্যকর করা


অবশ্যই cmderআপনার Ctrl+Zমন্তব্যের কারণে উত্তর আসতে দেখেছিল : পি
এমডি এক্সএফ

কাজের জন্য নির্ধারিত সঠিক সরঞ্জাম
এরিক আউটগল্ফার

20

এইচটিএমএল, 20 বাইট

<input type=password


বিকল্প: এইচটিএমএল + জাভাস্ক্রিপ্ট, 51 বাইট

যদিও ওপি বৈধ হওয়ার জন্য এটি নিশ্চিত করেছে, এখানে পিউরিস্টদের জন্য জেএস ব্যবহার করে একটি সমাধান দেওয়া হয়েছে!

<input id=i oninput=i.value=i.value.replace(/./g,8)


4
এফজিআইটিডাব্লু, কেউ? : পি (তাকে আক্ষরিক দশ সেকেন্ড নিয়ে গেছে)
এমডি এক্সএফ

oninput=_=>i.value=i.value.replace(/./g,"*")একটি বাইট সংরক্ষণ করে।
অর্জুন

যেহেতু cযে কোনও কিছু হতে পারে, আপনি আরও দুটি বাইট সংরক্ষণ করতে পারেনoninput=_=>i.value=i.value.replace(/./g,1)
অর্জুন

আমি এই সম্পর্কে উদ্বিগ্ন হব যদি (যখন) কেউ আমার এইচটিএমএল-সমাধানটি অবৈধ ঘোষণা করে, @ আর্জুন;) আমি কেবল জেএসকে দ্রুত কয়েকজনকে সমাহার করার জন্য ছুড়ে ফেলেছি!
শেগি

6
ব্যাখ্যাটি কোথায়, আমি বুঝতে পারি না।
ম্যাজিক অক্টোপাস উরন

11

ভিম, 36 বাইট:

:im <C-v><CR> <C-v><esc>ZQ<CR>:au I<tab><tab> * let v:char=0<CR>i

এই ব্যবহারের তেজ-কি স্বরলিপি , তাই <C-v>হয় নিয়ন্ত্রণ-V , <CR>প্রবেশ হয়, <esc>পালাবার চাবিকাঠি, এবং <tab>ট্যাব চাবিকাঠি।

সি হয় '0'

বাইট গণনাটি সঠিক প্রমাণ করার জন্য এখানে একটি হেক্সডাম্প দেওয়া হয়েছে:

00000000: 3a69 6d20 160a 2016 1b5a 510a 3a61 7520  :im .. ..ZQ.:au 
00000010: 4909 0920 2a20 6c65 7420 763a 6368 6172  I.. * let v:char
00000020: 3d30 0a69                                =0.i

এটি নিম্নলিখিত দুটি প্রাক্তন কমান্ড চালিয়ে কাজ করে:

:imap <CR> <esc>ZQ
:autocmd InsertCharPre * let v:char=0

প্রথমটির অর্থ

:imap               " Anytime the following is pressed in insert mode:
      <CR>          "   (the 'enter' key)
           <esc>ZQ  " Then act as if the user instead pressed '<esc>ZQ' (close the buffer)

এবং দ্বিতীয়টির অর্থ

:autocmd                                " Automatically as vim runs:
         InsertCharPre                  "   Any time the user is about to insert a char
                       *                "   In any type of file
                         let v:char=0   "     Then instead insert a '0' character

আমি মনে করি খুব কম জায়গায় ফাঁকা স্থান উপেক্ষা না করে আমার বর্তমান পদ্ধতিটি ব্যবহার করে আমার এখানে নামার কোনও উপায় নেই .. চমৎকার উত্তর!
nmjcman101



6

অ্যাসেটো , 7 6 বাইট

,!`XpO

ব্যাখ্যা:

একটি চরিত্র পড়ুন (, ), এটি উপেক্ষা করুন ( !) এবং শর্তসাপেক্ষে প্রস্থান করুন। স্ট্যাকের উপরে শূন্যটি মুদ্রণ করুন ( p) এবং আবার ফিরে যান।

সাথে চালাও -F অবিলম্বে কার্যকর দেখতে (কারণ অনিদ্রা)

আমার প্রথম সমাধানটি স্যান্ডবক্স পোস্টের উপর ভিত্তি করে ছিল, স্থানগুলি স্থানান্তর অক্ষর হিসাবে ফাঁকা করার অনুমতি দিয়েছিল এবং প্রবেশ (4 বাইট) ছাড়ার প্রয়োজন নেই:

,'p>

5

পসিক্সে সি, 128 117 113 96 বাইট

-১ কোয়ান্টিনের মাধ্যমে অনুসন্ধান করার জন্য ধন্যবাদ termios.h
-4 কোয়ান্টিনকে আমার বোকা ভুলগুলি নির্দেশ করে ধন্যবাদ জানিয়েছে
-17 কারণ কোয়ান্টিন হ'ল একটি ফ্রাইং উইজার্ড।

c,t[15];f(){for(tcgetattr(1,t),t[3]&=~10,tcsetattr(1,0,t);(c=getchar())^10&&c^4;)printf(".");}

এটি STDIN কে কাঁচা / অদৃশ্য মোডে রাখে যাতে এটি রিয়েলটাইমে কী-চাপগুলি পেতে পারে। এটি 77 বাইট নেয় এবং আমি নিশ্চিত যে আমি এটি কিছুটা গল্ফ করতে পারি।দ্রষ্টব্য যে এটি প্রস্থান করার পরে STDIN পুনরায় সেট করবে না তাই আপনি যদি ম্যানুয়ালি এটি না করেন তবে এটি আপনার টার্মিনালটিকে বিশৃঙ্খলা করবে।

আপনি কিভাবে STDIN পুনরায় সেট করতে পারেন তা এখানে:

void stdin_reset(void)
{
    struct termios t;
    get_stdin(&t);
    t.c_lflag |= ECHO;
    t.c_lflag |= ICANON;
    set_stdin(&t);
}

জিআইএফ :-) হিসাবে প্রদর্শিত আউটপুট


1
আমার মধ্যে খনন termios.h, ECHOহয় 0000010এবং ICANONহয় 0000002। এর অর্থ এটি ~(ECHO|ICANON)কেবল ~10:)
কোয়ান্টিন

@ কুইন্টিন সম্পাদিত! চিয়ার্স: ডি
এমডি এক্সএফ

1
এছাড়াও, প্রতিটি !=প্রতিস্থাপন করা যেতে পারে ^এবং (ইউটিএফ -8 অনুমান করে) '\n'দিয়ে করা যেতে পারে 10;)
কোয়ান্টিন

2
আমরা যদি পুরো ইউবি হয়ে যাই, আমরা tপূর্ণসংখ্যার অ্যারের সাহায্যে স্টোরেজটি প্রতিস্থাপন করতে পারি । তারপরে এখানে এসে c_lcflagsশেষ হবে t[3], এবং আমাদের নাম বা ধরণের নয় বা #includeমোট 94 টি বাইটের দরকার নেই: c,t[15];f(){for(tcgetattr(1,t),t[3]&=~10,tcsetattr(1,0,t);(c=getchar())^10&&c^4;)printf(".");}- তবে আপনি নিজের সাথে মজা করার চেয়ে উত্তরটি পোস্ট করার চেয়ে ভাল হতে পারতেন :)
কোয়ান্টিন

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

4

এমএস-ডস-এ x86 মেশিন কোড - 14 বাইট

যথারীতি, এটি একটি সম্পূর্ণ সিওএম ফাইল, যা ডসবক্সে চালিত হতে পারে, বেশিরভাগ ডস বৈকল্পিক।

00000000  b4 08 b2 2a cd 21 80 f4  0a 3c 0d 75 f7 c3        |...*.!...<.u..|
0000000e

মন্তব্য সমাবেশ:

    org 100h

section .text

start:
    mov ah,8h       ; ah starts at 08h (read console, no echo)
    mov dl,'*'      ; write asterisks (we could have left whatever
                    ; startup value we have here, but given that dx=cs,
                    ; we have no guarantee to get a non-zero non-space
                    ; value)
lop:
    ; this loop runs twice per character read: the first time with
    ; ah = 08h (read console, no echo syscall), the second time with
    ; ah = 02h (write console); a xor is used to switch from one
    ; mode to the other
    int 21h         ; perform syscall
    xor ah,0ah      ; switch syscall 08h <=> 02h
    cmp al,0dh      ; check if we read a newline (if we wrote stuff
                    ; we are just checking the last value read, so
                    ; no harm done; at the first iteration al starts
                    ; at 0, so no risk here)
    jne lop         ; loop if it wasn't a newline
quit:
    ret             ; quit

2
...কোনভাবেই না. এটা আশ্চর্যজনক.
এমডি এক্সএফ

ধন্যবাদ, তবে আমি অনুভব করি যে আরও কিছু ছাঁটতে হবে; এটি xorএকটি ওয়াপপিন '3 বাইট, এবং আমি এটি পুরোপুরি কাজ করে দিলে ঠিক তত বড় হবে ax; আমি চেষ্টা করেছি xor ax,0a0dh/ test al,al, কিন্তু এটি ঠিক তত বড় কারণ বোকা testদুটি বাইট, গ্রার ...
মাত্তেও ইটালিয়া



3

জাভা 5-8, 125 122 131 124 বাইট

class X{public static void main(String[]a){new java.awt.Frame(){{add(new javax.swing.JPasswordField());setVisible(1>0);}};}}

Ungolfed:

class X{
    public static void main(String[]a){
        new java.awt.Frame(){
            {
                add(new javax.swing.JPasswordField());
                setVisible(1>0);
            }
        };
    }
}

ফলাফল:

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

ক্রেডিট:

-৩ @ এমডি এক্সএফ (এর সাথে আমার মূup় ভুলটি চিহ্নিত করেছেন String[]args)

-7 @ ক্রিটিক্সিলিথোস (নিখরচায় public classকেবলমাত্র হতে পারে class)


1
Is String[]argsপ্রয়োজনীয়?
এমডি এক্সএফ

@ এমডিএক্সএফ যদি আমি জাভা 8-এর উত্তরটি তৈরি করতে চাই তবে আমি করতে পারলাম এখানে খুব সুন্দর জিনিস রয়েছে। যাইহোক, আমি এটি একটি জেনেরিক জাভা উত্তর তৈরি করছি। তবে যাইহোক, হ্যাঁ আমি এটি করতে পারি String[]a
ম্যাজিক অক্টোপাস উরন

আপনি গল্ফ উত্তর আপডেট করতে ভুলে গেছেন। এছাড়াও, 1>0মূল্যায়ন না 1?
এমডি এক্সএফ

@ এমডিএক্সএফ Java (< 8)- 1>0মূল্যায়ন করে true, যা আলাদা। আমি গ্রোভির একই উত্তর পোস্ট করব।
ম্যাজিক অক্টোপাস উরন

@ স্টেফেনস এটি জেনারিক জাভা উত্তর, জাভা 8 উত্তর নয়।
ম্যাজিক অক্টোপাস উরন

3

গণিত 34 বাইট

 InputString["",FieldMasked->True];

প্রতিটি অক্ষর কী-ইন করার পরে একটি একক তারকাচিহ্ন উপস্থিত হয় The শূন্য উদ্ধৃতি চিহ্নগুলি শিরোনামের জন্য যা পপ-আপ ইনপুট উইন্ডোতে প্রদর্শিত হয়।

;প্রতিরোধ পাসওয়ার্ড থেকে ছাপা হচ্ছে।

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


উদ্দেশ্যমূলক নেতৃত্বের স্থান?
এমডি এক্সএফ

2

ভিম, 58 50 52 50 বাইট

এটি স্পেসগুলি সঠিকভাবে পরিচালনা করেছে তা নিশ্চিত করার জন্য যুক্ত করা হয়েছে।

সহায়তায় এবং ধারণাগুলির একচ্ছত্র জন্য @ ডিজেএমসিমেহেমকে ধন্যবাদ জানাই

i:im 32 *Y94pVGg
kWcW<Space>
:im 
 ZQ
dG@"qi

নীচে টিপিক্যাল ভিম কী সিনট্যাক্সে। অক্ষর হিসাবে চিহ্নিত একটি মতো ^হয় Ctrl+<char>, তাই ^Q=Ctrl+q

i:im ^V^V32 *^[Y94pVGg^A
kWcW<Space>^[
:im ^V
 ZQ
dG@"qi

কোনও টিআইও লিঙ্ক নেই, কারণ আপনার সরাসরি ভিমে ইনপুট করতে হবে (স্বাভাবিকের মতো প্রাক-ইনপুটটিংয়ের বিপরীতে)। কোডটি চালনার জন্য আপনাকে এটি ভিমে টাইপ করতে হবে এবং তারপরে আপনি আপনার পাসওয়ার্ডটি টাইপ করতে পারেন এবং এন্টার টিপুন। এটি পাসওয়ার্ড দিয়ে কিছু করবে না। এটি কী ছিল তাও জানবে না। শীঘ্রই আপনি প্রবেশ করুন ভিম উইন্ডো প্রবেশ করবে:q!

এটি সমস্ত মুদ্রণযোগ্য এএসসিআইআইকে *সন্নিবেশ মোডে ম্যাপিং এবং এতে ম্যাপিংয়ের <CR>মাধ্যমে কাজ করে<ESC>:q!<CR>


প্রতীক কি কি তা স্পষ্ট করে বলতে পারেন? আমি মনে করি তাদের থাকার কথা <C-v>, <esc> and <C-a>কিন্তু এটি বলা শক্ত।
ডিজেএমসিএমহেম

@DJMcMayhem করবেন। ঘটনাচক্রে আমি মনে করি আপনি এগুলি ভিমে আটকে দিতে পারেন এবং তারা যথাযথভাবে প্রদর্শিত হবে।
nmjcman101


2

FLTK, 47 টি অক্ষর

Function{}{}{Fl_Window{}{}{Fl_Input{}{type 5}}}

নমুনা রান:

bash-4.4$ fluid -c password.fl

bash-4.4$ fltk-config --compile password.cxx 
g++ -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -fvisibility-inlines-hidden -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -o 'password' 'password.cxx' -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -lfltk -lX11

bash-4.4$ ./password 

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

এফএলটিকে পাসওয়ার্ড ইনপুট


2

প্রক্রিয়াজাতকরণ, 53 বাইট

String a="";void draw(){text(keyPressed?a+=0:a,9,9);}

এটি গ্রাফিকাল উইন্ডো থেকে কী-টিপসগুলির মাধ্যমে ইনপুট নেয়। এটি যে পাসওয়ার্ডগুলির সাথে পাসওয়ার্ড উপস্থাপন করে তা চয়ন করে 0। নোট করুন যে উচ্চ ফ্রেমরেটের কারণে, প্রতিটি কীপ্রেস একাধিক 0গুলি হিসাবে উপস্থিত হবে (এবং এটি হ'ল এটিও keyPressedনয় এবং কোনও keyTyped(বুলিয়ান নয়) বা keyrelease)।

GIF



2

জেডএক্স 81 বেসিক, 54 বাইট

10 IF LEN INKEY$ THEN GOTO PI
30 IF NOT LEN INKEY$ THEN GOTO EXP PI
50 IF INKEY$>"Z" THEN STOP
70 PRINT "*";
90 GOTO PI

জেডএক্স ৮১ অক্ষরের সেটটিতে মুদ্রণযোগ্য অক্ষরগুলি সীমার জায়গার মধ্যে রয়েছে Zযদিও আপনি বিরতি অক্ষর হওয়ায় আপনি আসলে কোনও স্থান ইনপুট করতে পারবেন না।

জেডএক্স স্পেকট্রাম বেসিক, 24 বাইট

10 PAUSE NOT PI: IF INKEY$>=" " THEN PRINT "*";:GOTO PI

নোট করুন যে >=সিনক্লেয়ার বেসিকের একক-বাইট কীওয়ার্ড হিসাবে গণনা করা হয়েছে (এই ক্ষেত্রে কোডপয়েন্ট 140)।


লাইন নম্বর এবং ফাংশনগুলির মধ্যে ফাঁকা স্থানগুলি কী প্রয়োজনীয়?
এমডি এক্সএফ

আপনি কি সংক্ষিপ্ত PRINTকরতে পারেন ?, আমি জানি যে অনেক পুরানো বেসিক উপভাষায় কাজ করে
এমডি এক্সএফ

@ এমডিএক্সএফ PRINT1-বাইট টোকেন, এটি কেবলমাত্র 7 টি অক্ষর হিসাবে পর্দায় উপস্থাপিত হয়েছে ( THENঅগ্রণী স্থানটি চাপা দেওয়ার পরে বাদে )।
নীল

2

আর, 29 বাইট

invisible(openssl::askpass())

অন্তর্নির্মিত যে পাসওয়ার্ড এন্ট্রি পরিচালনা করে। একটি নতুন উইন্ডো খোলে এবং বিন্দুর সাথে ইনপুট প্রতিস্থাপন করে। invisibleSTDOUT এ পাসওয়ার্ড মুদ্রণ দমন করতে ব্যবহৃত হয়।


2

টিসিএল / টাকা, 18

gri [ent .e -sh *]

ইন্টারেক্টিভ শেলটিতে চালিত হওয়া আবশ্যক (বা সংক্ষিপ্তসার সক্ষম থাকতে হবে):

enter image description here


ছদ্মবেশী কমান্ড সংক্ষেপণ ছাড়া 21 বাইট: grid [entry .e -sh *]এবং -shএটির জন্য একটি বিকল্প সংক্ষিপ্তকরণ -show। 23 বাইট হ'ল আমি এটি রক্ষণাবেক্ষণযোগ্য অসম্পূর্ণ প্রোগ্রামের জন্য সর্বনিম্ন বিবেচনা করব ।
ডোনাল ফেলো

2

ভিম, 15 কীস্ট্রোক

:cal inp<S-tab>'')|q<cr>

<S-tab>মানে shift + tab

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

এটি ফাংশনটিতে কল করে inputsecretকাজ করে, তারপরে বাইরে বেরোনোর ​​সাথে সাথেই বন্ধ করে দেয়।


2

6502 মেশিন কোড (সি 64), 22 21 বাইট

0e 08 20 9f ff 20 e4 ff f0 f8 c9 0d f0 01 a9 60 20 d2 ff 50 ed

ব্যবহার :SYS 2062

মন্তব্য বিচ্ছিন্ন তালিকা (ACME), আপনি RUNএকবার লোড একবার সঙ্গে চালু করতে প্রথম তিনটি মন্তব্য লাইন uncomment করতে পারেন :

!cpu 6502
!to "password2.prg",cbm
;* = $0801                               ; BASIC starts at #2049
;!byte $0d,$08,$dc,$07,$9e,$20,$32,$30   ; BASIC to load $c000
;!byte $36,$32,$00,$00,$00               ; inserts BASIC line: 2012 SYS 2062

    GETIN  =  $FFE4
    SCNKEY =  $FF9F
    CHROUT =  $FFD2

* = $080e
keyScan:
    jsr SCNKEY  ; get key
    jsr GETIN   ; put key in A

    beq keyScan ; if no key pressed loop    

    cmp #13     ; check if RETURN was pressed
    beq $081b   ; if true go to operand of next instruction (#$60 = rts)

    lda #$60    ; load char $60 into accumulator
    jsr CHROUT  ; print it

    bvc keyScan ; loop

মন্তব্যসমূহ:

  • আমি ডক্সে কিছু খুঁজে পাইনি তবে মনে হচ্ছে GETIN কল করার পরে বেক শাখাগুলি কেবল যেখানে নতুন কী প্রেসগুলি রেকর্ড করা হয়নি;
  • আউটপুট চর হিসাবে # $ 60 ব্যবহার করে, রিটার্ন টিপলে বাইটটি "আরটিএস" নির্দেশিকা হিসাবে পুনরায় ব্যবহার করা যেতে পারে।

2

ফোর্থ (গফার্থ) , 54 বাইট

: f begin key dup 4 - swap 13 - * while ." *" repeat ;

ব্যাখ্যা

begin      \ enters the loop
    key    \ waits for a single character as input, places ascii code of character on stack
    dup    \ duplicates the key value on the stack
    4 -    \ subtracts 4 from the key value (shorter way of checking for not equals)
    swap   \ swaps the top two stack values
    13 -   \ subtract 13 from the key value
    *      \ multiply top two stack values (shorter version of "and")
while      \ if top of stack is true, enter loop body, else exit loop
    ." *"  \ output *
repeat     \ go back to beginning of loop

1

পাইথন 3 + tkinter- 63 61 বাইট

from tkinter import*
t=Tk();Entry(show=1).pack();t.mainloop()

1প্রতিটি চরিত্রের জন্য একটি প্রদর্শন করে, উইন্ডোটি বন্ধ করার পরে শেষ হয় (ওপি বলেছে এটি অনুমোদিত)।

Gif


হায় from tkinter import*(সম্পর্কে newline) Entry(show=1).pack();Tk().mainloop()কাজ করে?
কনার ও'ব্রায়েন

@ কনরও'ব্রায়ন টেস্টিং
জনাব এক্সকোডার

@ কনরও'ব্রায়ান নং এটি দুটি ভিন্ন tkinterউইন্ডো উত্পাদন করে । পাঠ্য ক্ষেত্র সহ একটি, একটি খালি। এটা আমার কাছে ঠিক মনে হচ্ছে না।
মিঃ এক্সকোডার

আপনার কি দরকার show=?
ফলমূল Esolanging

@ চ্যালেঞ্জার 5 হ্যাঁ, আমাদের দরকারshow=
মিঃ এক্সকোডার

1

গ্রোভি, 77 73 বাইট

{new java.awt.Frame(){{add(new javax.swing.JPasswordField());visible=1}}}

এটি একটি বেনামি বন্ধ, 0 ​​টি প্রয়োজনীয় ইনপুট রয়েছে।

Ungolfed:

{
    new java.awt.Frame() {
        {
            add(new javax.swing.JPasswordField())
            visible=1
        }
    }
}

সম্পাদনা 1 (-4 বাইট): উপাদান # দৃশ্যমান সরাসরি অ্যাক্সেস করা যেতে পারে, এখানে আরও পড়ুন


1

মাইক্রো , 35 বাইট

"":i{L46c:\
i~+:i
i10c=if(,a)}a
i:\

explination:

"": আমি নতুন ফাঁকা স্ট্রিং তৈরি করি 'আমি'
    input ইনপুট লুপ শুরু করুন
     একটি অক্ষর এল ইনপুট
      46c: as ascii char # 46 (।) প্রদর্শন করুন (এটি পপড হয়, 'এল' থেকে ইনপুট চরটি রেখে
           i ~ +: আমি আমি ধাক্কা দিই, আমি এবং চারটিকে চারপাশে ফ্লিপ করি, তাদের একত্রীকরণ করি এবং এটি আমার কাছে সঞ্চয় করি
                i10c = if (, a)} ঠিক আছে, এখানে অনেক কিছু ঘটে, যদি কোনও এনএল আমি থাকে, লুপটি শেষ হয় এবং চূড়ান্ত i: the ইনপুটটি প্রদর্শন করে


1
এটি একটি ভাষায় একটি দুর্দান্ত প্রথম প্রচেষ্টা! +1
এমডি এক্সএফ

1

বিএফ, 24 বাইট

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

Bf.doleczek.pl নিয়ে কাজ করে । আপনি প্রোগ্রামটিতে একটি শূন্য চর প্রেরণ করতে পারেন Ctrl + Z দিয়ে।

বিকল্প সমাধান:

বিএফ, 1 বাইট

,

এটি একটি খুব জিভ ইন গাল সমাধান। আমার টার্মিনালটি 0 টি অক্ষর প্রশস্ত, সুতরাং দয়া করে এর চেয়ে দীর্ঘতর কোনও পাসওয়ার্ড প্রবেশ করবেন না।


ওহ ... খারাপ না!
এমডি এক্সএফ

@ এমডিএক্সএফ আপনি কি 24 বাইট এক বা 1 বাইটটি উল্লেখ করছেন?
ফলমূল Esolanging

স্পষ্টভাবে 24 বাইট এক। আমি পুরোপুরি ভুলে গেছি যে মুদ্রণ \bএকটি জিনিস। : পি
এমডি এক্সএফ

@ এমডিএক্সএফ এর অর্থ কী? \bযাইহোক নিখরচায়।
ফলমূল Esolanging

না আমার অর্থ আপনার সমাধানটি \bইনপুটটিকে ওভাররাইড করতে ব্যবহার করে, তাই না?
এমডি এক্সএফ

1

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

Read-Host -a

এটি হোস্টের কাছ থেকে ইনপুট পড়ে এবং, -a পতাকা সহ এটি একটি সুরক্ষিত / পাসওয়ার্ড হিসাবে বিবেচনা করে। ISE এ এটি একটি বার্তা বাক্সে পপ আপ করে যা এর মত আচরণ করে যেহেতু ISE কীপ্রেস ক্যাপচারের অনুমতি দেয় না।

PS C:\Windows\system32> Read-Host -a
************

1

কিউ বেসিক, 48 বাইট

DO
a$=INPUT$(1)
IF ASC(a$)=13THEN END
?"*";
LOOP

INPUT$(1)কীবোর্ড ইনপুট থেকে পরবর্তী অক্ষরটি পড়ে। (এটিতে ট্যাব, ব্যাকস্পেস এবং পালানোর মতো জিনিস অন্তর্ভুক্ত থাকতে পারে, তবে যেহেতু ওপি তাদের সম্পর্কে কিছু না বলে আমি ধরে নিচ্ছি যে তাদের সম্পর্কে আমাদের চিন্তা করার দরকার নেই।) চরিত্রটি যদি \r(এএসসিআইআই 13) থাকে তবে এটি বন্ধ করুন কার্যক্রম; অন্যথায়, *একটি নতুন লাইন ছাড়া মুদ্রণ । বিজ্ঞাপনের পুনরাবৃত্তি করুন।


1

পার্ল + বাশ, 30 বাইট

print"*"while$|=1+`read -sn 1`

cবাশ থেকে *ব্যবহারগুলি হ'ল , readতাই খাঁটি পার্ল সমাধান নয়।


1

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

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

শেষ এক, আমি প্রতিশ্রুতি। ইনপুট = -1 নেই, ইনপুট = 0 হবে

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

-[  Enters the loop
  +>, Get input
     [<->+ If not end of input it create the ÿ character and check if the input is not -1
          [<.>[-]]] If there was input, print the ÿ character. 
                    <] Exit the loop if end of input

আপনার কোডটিতে একটি বন্ধনী বন্ধনী অনুপস্থিত। আর কেন আপনি এটিকে জটিল করে তুলছেন? একটি সরল "প্রতিটি ইনপুট চরিত্রের জন্য একটি 'print' মুদ্রণ করুন" একটি সাধারণ সাথে সম্পন্ন করা যায়,[>-.,]
ডোরিয়ান

@ ডোরিয়ান ব্র্যাকেটটি একটি ভুল ছিল, তবে জটিলতাটি ইনপুট এবং ইনপুট শেষ না হওয়া উভয়কেই পরিচালনা করার ফলে উদ্ভূত হয়েছিল
জো কিং

0

কিউবিআইসি , 44 বাইট

{X=inkey$~X<>@`|~X=chr$(13)|_X\Y=Y+@*`_C?Y

ব্যাখ্যা

{            DO
X=inkey$     Read a char, set it to X$
             Note that INKEY$ doesn't wait for keypress, but simply sends out "" if no key was pressed.
~X<>@`|      IF X$ has a value THEN
~X=chr$(13)| IF that value is ENTER
_X           THEN END
\            ELSE
Y=Y+@*`      append a literal * to Y$
_C           Clear the screen
?Y           Display Y$ (having 1 * for each char entered)
             The IF's and the DO-loop are auto-closed at EOF{            DO
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.