একটি চেকবাক্স তৈরি করুন


51

এমন একটি প্রোগ্রাম লিখুন যা একটি দ্বি-রাষ্ট্রের চেকবক্স তৈরি করে যা লোকেরা মাউস ব্যবহারের মাধ্যমে ইন্টারেক্ট করতে পারে।

বিশেষত, আপনার প্রোগ্রামের নিম্নলিখিত সমস্তগুলি অর্জন করা উচিত:

  1. স্ক্রিনের একটি 8 × 8 পিক্সেল (বা ইচ্ছুক হলে আরও বড়) অঞ্চল যা চেকবক্সের ক্লিকযোগ্য ক্ষেত্র। এখন থেকে এই অঞ্চলটিকে কেবল চেকবক্স বলা হয়।

  2. যখন মাউস কার্সারটি চেকবাক্সের মধ্যে সরিয়ে নেওয়া হয় এবং ডিফল্ট * মাউস বোতাম টিপানো হয়, তখন চেকবক্সটি রাষ্ট্রগুলি টগল করা উচিত।
    চেক করা চেক করা হয়ে যায়। চেক না করা চেক হয়ে যায়।

  3. টগল করা হলে চেকবক্সটি সরানো উচিত নয়।

  4. চেক করা অবস্থায়, চেকবক্সটি কোনও রঙ হতে পারে।

  5. অবারিত অবস্থায়, চেকবক্স যে কোনো রঙ হতে পারে যতদিন অন্তত 16 পিক্সেল চেক করা রাষ্ট্র থেকে চাক্ষুষরূপে স্বতন্ত্র

  6. একক প্রোগ্রামের উদাহরণে, সমস্ত পরীক্ষিত রাজ্যগুলি একে অপরের সাথে চাক্ষুষরূপে অভিন্ন হওয়া উচিত এবং সমস্ত চেক করা রাষ্ট্রগুলি একে অপরের সাথে চাক্ষুষরূপে অভিন্ন হওয়া উচিত।

  7. প্রোগ্রামটি স্পষ্টভাবে শেষ না হওয়া অবধি শেষ করবেন না (যেমন প্রস্থান বাটন বা Alt + F4- এর মাধ্যমে), যাতে কোনও ব্যবহারকারী চেকবক্সটি যত খুশি তার উপর ক্লিক করতে পারে।

* আপনি ধরে নিতে পারেন ডিফল্ট মাউস বোতামটি সর্বদা বাম ক্লিক থাকে, তবে মাউস সফ্টওয়্যার বা ওএস দ্বারা নির্ধারিত হিসাবে ডিফল্টটি ব্যবহার করা ঠিক আছে যা ব্যবহারকারীর উপর নির্ভর করে সম্ভবত বাম ক্লিক নাও হতে পারে।

নোট

  • আপনার চেকবক্স অঞ্চলের বাইরের কী তা বিচার্য নয়। এটা ঠিক ডেস্কটপ হতে পারে। এটি কোনও কনসোলের অংশ হতে পারে যা প্রতিটি টগল-এ পরিবর্তিত হয়।

  • আপনার চেকবক্সটি কী অবস্থায় শুরু হবে তা বিবেচ্য নয়।

  • চেকবক্স অঞ্চলে 8 × 8 পিক্সেল বা তারও বেশি মাত্রা থাকতে পারে। এটি বর্গক্ষেত্র হতে হবে না।

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

  • যদি আপনার প্রোগ্রামটি একটি উইন্ডো খোলে, আপনি ধরে নিতে পারেন এটি প্রয়োজনে পর্দার উপযুক্ত স্থানে টেনে নিয়ে গেছে (যেমন উপরের বাম কোণে)।

  • আপনি এইচটিএমএল বা অন্যান্য ভাষাগুলির মতো মার্কআপ ভাষা ব্যবহার করতে পারেন যা আমরা সাধারণত পূর্ণ-প্রোগ্রামিং ভাষা হিসাবে বিবেচনা করি না

  • আপনার চেকবক্সটি অবশ্যই ডিফল্ট মাউস বোতামটি ব্যবহার করে টগল করতে হবে। এটি ঠিক আছে যদি এটি মাউস গতি ব্যতীত অন্যান্য ফর্মের (যেমন ডান মাউস বোতাম) জন্যও টগল করে । অর্থাত্ যদি মাউসটি কেবলমাত্র চেকবক্সের মধ্যে সরিয়ে নেওয়া হয় তবে রাষ্ট্রের পরিবর্তন করা উচিত নয়।

  • আপনার চেকবক্সের স্ক্রিনশটগুলি কার্যকরভাবে উত্সাহিত করা হচ্ছে!

স্কোরিং

বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।

উদাহরণ

23 বাইটে একটি প্রমিত HTML উদাহরণ।

<input type="checkbox">

গুগল ক্রোমে আমার জন্য, এটি একটি 12 × 12 পিক্সেল চেকবক্স তৈরি করে এবং প্রায় 30 পিক্সেল স্পষ্টভাবে চেক করা এবং চেক করা না হওয়া রাজ্যের মধ্যে পরিবর্তন করে।

ব্রাউজার জুম 100% এ ভাতা দিয়ে থাকি।


2
চেকবক্সটি কি পুরো পর্দাটি কভার করতে পারে?
ক্রিটসি লিথোস

@ ক্রিটসিলিথোস হ্যাঁ, এটি বৈধ হবে oughএকটি নোট যে আপনি, যদি ইচ্ছা করেন তবে একটি নির্দিষ্ট 8x8 অঞ্চলটিকে অফিসিয়াল চেকবক্স হিসাবে গণনা করতে পারেন, এমনকি বৃহত্তর অঞ্চলটি কাজ করলেও।
ক্যালভিনের

@ হেলকা হোমবা - চেকবক্সটি বাদ দিয়ে কোনও অ্যাপ্লিকেশনকে অন্যান্য নিয়ন্ত্রণ প্রদর্শন করার অনুমতি দেওয়া হচ্ছে কি?
জেপেলিন

অন্য ধরণের ইনপুটটিতে চেকবক্সটি টগল করা কি ঠিক আছে? (উদাহরণস্বরূপ, চেকবক্সটি যে কোনও ধরণের ব্যবহারকারীর ইনপুটটিতে টগল করে যদি একটি সমাধান সঠিক হয় তবে তা মাউস ক্লিক, মাউস চলাচল বা কী-চাপটি বিবেচনা না করেই? এটি একটি মাউস ক্লিকে টগল করতে চাইবে, তবে এটি টগল লাগবে) অন্যান্য উদ্দীপনাও))

1
@zeppelin "আপনার চেকবক্সের অঞ্চলের বাইরে যা আছে তা বিচার্য নয়। এটি কেবল ডেস্কটপ হতে পারে It এটি কোনও কনসোলের অংশ হতে পারে যা প্রতিটি টগল-এ পরিবর্তিত হয়" " সুতরাং, যতক্ষণ না চেকবক্স রয়েছে ততক্ষণ অন্য কী তা বিবেচ্য নয়।
ক্যালভিনের শখ

উত্তর:


33

ম্যাথমেটিকা, 10 বাইট

Checkbox[]

গণিতের নোটবুকের পরিবেশটি ধরে নিল ।

দুটি রাষ্ট্রের মতো দেখতে:

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


73
অবশ্যই। গণিত আবারও ঠকায়।
ম্যাথু রোহ

1
মন্তব্যটি উত্তরের চেয়ে আরও কীভাবে উপকৃত হয়েছে তা মজার
রুডলফ জেলিন

4
@ রুডলফএল. জেলেনেক এই মজার বিষয়টির উত্তরে কীভাবে কোনও অগ্রগতি পেয়েছে তা মজার ...
মার্টিন এন্ডার

31

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

উত্তর হিসাবে এটি কতটা বৈধ হবে জানেন না। এইচটিএমএলটিকে আইনত বৈধতা দেওয়ার জন্য ট্যাগটি বন্ধ করা দরকার, তবে আধুনিক ব্রাউজারগুলি এগুলি স্বয়ংক্রিয়ভাবে বন্ধ করে দেবে যাতে এটি কার্যকর হয়।

<input type=checkbox


3
আমি এটি আগে একটি বিকল্প হিসাবে দেখছিলাম (উদ্ধৃতি ব্যতীত) তবে সম্পূর্ণরূপে বন্ধ হওয়াটি মিস করলাম >। +1 এবং বৈধ IMHO।
এলপেড্রো

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

1
ধন্যবাদ @ জনগাউয়ার্স, আমি কতটা আপত্তি গ্রহণযোগ্য তা সংজ্ঞা সম্পর্কে ভাবছিলাম about
জানুয়ারী

27

বাশ , 67 55 50 35 32 31 বাইট

:()(read -p$[i^=1]
›?9h -sn6
:)

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

কোড নামের একটি ফাংশন সংজ্ঞায়িত করে :, যা পর্যায়ক্রমে একটি কালো আয়তক্ষেত্রে একটি সাদা 1 বা 0 প্রদর্শন করে । এক্সটারের ডিফল্ট সেটিংস সহ ঠিক 24 টি পৃথক পিক্সেল রয়েছে। ( প্রমাণ )

পুরানো সংস্করণে যা পুরো টার্মিনালের রঙ টোগল করে, এই উত্তরের পুনর্বিবেচনা 10 পরীক্ষা করে দেখুন ।

এক্সটারম প্রস্তাব দেওয়ার জন্য @ আইস 523 কে ধন্যবাদ , যা 4 বাইট সংরক্ষণ করে!

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

:(...):এক্সিকিউটিভ নামের একটি ফাংশন তৈরি করে ...

পঠিত কমান্ড প্রকৃত জাদু আছে।

  • -p একটি ইনপুট প্রম্পট নির্দিষ্ট করে, যা STDOUT এ মুদ্রিত।

    • $[i^=1]একটি গাণিতিক সম্প্রসারণ যা 1 এর সাথে ভ্যারিয়েবল i কে XORs দেয় । আমি প্রথমে আনসেট হতে পারি; এটি যখন ঘটে তখন এটি 0 হিসাবে গণ্য হবে ।

    • ক্যারেজ রিটার্ন লাইনের শুরুতে কার্সারটিকে পিছনে রাখে।

    • ›?9hসমর্থিত টার্মিনালগুলিতে মাউস ক্যাপচার করে। প্রতিটি ক্লিক টার্মিনালে ছয় অক্ষর প্রেরণ করবে, যেমন ←[Mbxy, যেখানে ESC বাইট উপস্থাপন করে ( 0x1b )। ←[এড়িয়ে যাওয়ার জন্য একটি ক্রম, ইঙ্গিত Mমাউস, bবোতাম ( 0x20 , + বোতামে সংখ্যা) এক্স ক্লিক (স্থানাঙ্ক 0x20 + + তুল্য), এবং Y স্থানাঙ্ক।xy

    • -sn6পড়তে নিরব করে তোলে (মাউস ইনপুটটি এসটিডিআরআর প্রতিধ্বনিত হবে না) এবং ঠিক by বাইট পড়ার পরে থামে। এটি REPLY ভেরিয়েবলের ইনপুট সংরক্ষণ করে , তবে আমরা উত্পাদিত আউটপুটটিতে আগ্রহী নই।

অবশেষে, একবার পড়া শেষ (ঠিক একটি মাউস ক্লিক পরে), :যাও recursively নিজেই কল একটি অসীম লুপ লিখে।

সৃষ্টি এবং প্রার্থনা

$ echo $':()(read -p$[i^=1]\r\x9b?9h -sn6\n:);:' > checkbox.sh
$ xxd -c 17 -g 1 checkbox.sh
0000000: 3a 28 29 28 72 65 61 64 20 2d 70 24 5b 69 5e 3d 31  :()(read -p$[i^=1
0000011: 5d 0d 9b 3f 39 68 20 2d 73 6e 36 0a 3a 29 3b 3a 0a  ]..?9h -sn6.:);:.
$ LANG=en_US xterm -e bash checkbox.sh

আউটপুট

স্ক্রীণকাস্ট


আমি নিজেই এর অনুরূপ সমাধানের জন্য কাজ করছিলাম (যদিও ভিন্ন ভাষায়, আমাকে ছেড়ে দিতে বাধ্য করছি কারণ আমি কোনও নতুন লাইন ছাড়া ইনপুট নেওয়ার কোনও উপায় খুঁজে পাইনি)। একজন সম্ভাব্য উন্নতি: পরিবর্তন 1000hকরতে 9h(পার্থক্য যে 1000hউভয় মাউস টিপুন পরিচালনা এবং প্রকাশ, এবং 9hশুধুমাত্র মাউস রিলিজ পরিচালনা)। এটি কোডের অন্য কোথাও পরিবর্তনের প্রয়োজন হতে পারে বা নাও হতে পারে।

@ ais523 আমি চেষ্টা করেছিলাম, তবে কমপক্ষে আমার টার্মিনাল এমুলেটর (কনসোল) এটি সমর্থন করছে বলে মনে হয় না। আপনি কি জানেন যে একটি করে?
ডেনিস

gnome-terminalকাজ করে মনে হচ্ছে, এটাই আমি পরীক্ষার জন্য ব্যবহার করছিলাম (সম্পাদনা করুন: তবে আমার মনে হয় না যে এটি 1-বাইট সিএসআই সমর্থন করে)। xtermএছাড়াও কাজ করা উচিত এবং আপনার যদি কে.ডি. সিস্টেম থাকে তবে ইনস্টল করা আরও সহজ হতে পারে। (আমি এটি নিজেই পরীক্ষা করেছি; এটি কোনও কারণে \x1b[নিয়ে কাজ করে তবে \x9bসম্ভবত টার্মিনালের চেয়ে আমার স্টেটি সেটিংসের সাথে সম্পর্কিত))

@ ais523 আমার এক্সটার্ম আছে। আমি আমার পিসিতে ফিরে আসব কিনা তা আমি পরীক্ষা করব।
ডেনিস

8
এটি কীভাবে শেষের দিকে :)থেকে যায় তা আমি পছন্দ করি:(
আন্দ্রেস ডেক

22

প্রক্রিয়াজাতকরণ, 78 66 65 63 61 বাইট

2 টি বাইট -a%2পরিবর্তে ব্যবহার করে @ টুক্কাএক্সকে ধন্যবাদ বাঁচিয়েছেa%2*-1

2 টি বাইট ব্যবহার করে @ টুকুএক্সএক্সকে ধন্যবাদ বাঁচিয়েছে a=-a

int a=1;void draw(){background(a);}void mousePressed(){a=-a;}

চেকবাক্সটি কালো এবং সাদা হওয়ার মধ্যে বিকল্প হয়।

ব্যাখ্যা

int a=1;                   //the variable that contains the state of the checkbox
void mousePressed(){a=-a;} //if the mouse is pressed, change the sign of a

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

এখন mousePressed()চিরকালের জন্য ডাকা হওয়ার জন্য (অন্যথায় প্রোগ্রামটি শুরু হওয়ার পরে এটি বন্ধ হয়ে যাবে), আমাদের একটি draw()ফাংশন প্রয়োজন ।

void draw(){               //loop infinitely
  background(a);           //set the sketch's background to -a%2
  //if a ==  1, the background colour is set to almost black
  //if a == -1, the background colour is set to white
}

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


একটি ছোট চেকবক্সটি 90 বাইট হতে হবে (চেকবক্সটি বাম দিকের উপরের কোণায় রয়েছে, তাই আমরা কিছু মাউসের শর্ত সরিয়ে ফেলতে পারি):

int a=1;void draw(){fill(a);rect(0,0,8,8);}void mousePressed(){if(mouseX<9&mouseY<9)a=-1;}

2
প্রসেসিং কীভাবে একক পূর্ণসংখ্যাকে গ্রেস্কেল রঙ হিসাবে গ্রহণ করে তার চতুর ব্যবহার!
ফ্লিপট্যাক

@ ফ্লিপট্যাক দেখে মনে হচ্ছে সাদাকেও প্রকাশ করা যেতে পারেfill(-1)
ক্রিটসি লিথোস

1
আমার একটা পরিকল্পনা আছে. আরম্ভ a1 0. পরিবর্তে পরিবর্তন a++করতে a=-a, যার ফলে -a%2মাত্র a। এটি a1 এবং -1 এর মধ্যে টগল করবে । আমি জানি না 1 কি রঙ উত্পাদন করে।
Yytsi

@ টুক্কাএক্স এটি কার্যকরভাবে কাজ করে। color(1)উত্পাদিত #010101যা কৃষ্ণাঙ্গের খুব কাছাকাছি
ক্রিতিক্সী লিথোস

22

এইচটিএমএল + জাভাস্ক্রিপ্ট, 32 30 25 অক্ষর

<p onclick=innerHTML^=1>0


3
thisঅন্তর্নিহিত এবং অপসারণ করা যেতে পারে। এছাড়াও, innerHTMLছোট হয়।
ডেনিস

@ ডেনিস, এটির সাথে আজব ... ধন্যবাদ
কিওয়ারটি

<input>উপাদানটি ব্যবহার না করার জন্য +1
রেডক্লুভার

20

ইউনিক্স শেল (+ x11-অ্যাপস), 3 বাইট

দাবি পরিত্যাগী

নীচের উত্তরটি বিরক্তিকর, সীমান্তরেখা এবং "প্রতারণা বোধ করে" (কমপক্ষে আমার কাছে) is

তবুও, এটি "লিখিত" বা "ডিফল্ট লুফোলস" হিসাবে চ্যালেঞ্জের কোনও নিয়ম লঙ্ঘন করেছে বলে মনে হয় না, তাই আমি এটি পোস্ট করছি।

(যদি আপনি এটি ভেঙে কোনও নির্দিষ্ট বিধি নির্দেশ করতে পারেন তবে মন্তব্য করুন!)

Golfed

xgc

এক্সজিসি প্রোগ্রাম এক্স গ্রাফিক্সের আদিমগুলির বিভিন্ন বৈশিষ্ট্য প্রদর্শন করে।

Xgc পর্দা আসলে বিভিন্ন চেকবাক্সগুলি ভরা হয়:

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

এবং "স্টিকি বোতাম" (যা এই চ্যালেঞ্জের নিয়মের অধীনে চেকবক্স হিসাবে যোগ্যতা অর্জন করে):

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


20

গিটহাব স্বাদযুক্ত মার্কডাউন - 6 বাইট

- [ ] 

(একটি পিছনে স্থান আছে)

সংক্ষেপে: চেক / চেক না


অবশ্যই এটি প্রথম মঞ্চের ২ য় অর্ধের সাথে মিলে যায়, "এমন একটি প্রোগ্রাম লিখুন যা দ্বি-রাষ্ট্রের চেকবক্স তৈরি করে যা লোকেরা মাউস ব্যবহারের সাথে যোগাযোগ করতে পারে ?"
manatwork

1
হ্যাঁ, আপনি যদি এটি একটি টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরাক্রাক্ট বলতে বলতে পারবেন।
এক্সেল

মজাদার. ধন্যবাদ @ এক্স 31। আমি কখনও টুকরো টুকরো ব্যবহার করিনি।
manatwork

1
আমি "গিথুব স্বাদযুক্ত মার্কডাউন" আশা করতাম না।
জোনাস শোফার



14

পাইথন আরপিএল, 45 বাইট

from tkinter import*
Checkbutton(Tk()).pack()

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

1
@ ক্র্যাজারটি tkinterপাইথনের একটি স্ট্যান্ডার্ড লাইব্রেরি (তবে এটি না থাকলেও আমি কেবল পাইথন আরইপিএল + টিনেটার ঘোষণা করতে হত)। এর অর্থ হল যে আমি এর বৈশিষ্ট্যগুলি কেবল এটি আমদানি করে ব্যবহার করতে পারি। আপনার প্রস্তাবিত জরিমানা ব্যবহারকারীরা যে ভাষায় আপনি লিখছেন তার উত্সের বাইট সংখ্যা গণনাতে অন্তর্ভুক্ত করতে অনুরোধ করার অনুরূপ Here এখানে আমরা কোনও ভাষা বা মডিউল যতক্ষণ না প্রকাশ্যে প্রকাশিত হয়েছিল ততক্ষণ প্রতিযোগিতা করার অনুমতি দিচ্ছি চ্যালেঞ্জ পোস্ট করা হয়েছিল।
নীল

ঠিক আছে, স্পষ্টির জন্য আপনাকে ধন্যবাদ।
এফএমাজ

14

জিওজেব্রা , 10 বাইট

Checkbox[]

ইনপুট বারে প্রবেশ করানো।

এখানে মৃত্যুদন্ড কার্যকর করার একটি জিআইএফ:

প্রোগ্রাম কার্যকর


7
ওহ, জিওজেব্রা। আমি ইহা মনে রাখব. কিছুক্ষণ হবে.
নিক হার্টলি

আমি জানি এটি অফ-টপিক তবে আপনি কি ওয়াটারলু কলেজিয়েট ইনস্টিটিউটে যান? আপনার নামের উপর ভিত্তি করে কৌতূহলের বাইরে। আমি কোনও
স্ট্যাকারের কথা


11

জাভাস্ক্রিপ্ট সহ এইচটিএমএল - 136 124 120 115 113 111 109 79 বাইট

<p style=height:20;border:solid onClick=t=this;t.innerHTML=(t.e=!t.e)?'x':''>

-২ ক্রিটিক্সিলিথোসকে ধন্যবাদ দিয়ে

@ জন থেকে চমত্কার গল্ফ করার পরে 79৯-এ নামিয়ে আনা হয়েছে। যদিও নতুন সংস্করণটি প্রয়োজনীয়তার সাথে ফিট করে আমি পেশাদার গর্বের কারণে পুরানো সংস্করণটি রেখেছি kept

যদিও এটি বিল্ট-ইনগুলি ব্যবহারের জন্য পুরোপুরি বৈধ, তবে আমি ভেবেছিলাম স্ক্র্যাচ থেকে নিজের তৈরি করা আরও মজাদার। ক্রোম এবং ফায়ারফক্সের সাথে পরীক্ষিত। border:solidআইই সামঞ্জস্যের জন্য রয়েছে তবে আমি জানি না এটি আসলে নতুন আইই সংস্করণে প্রয়োজন কিনা - আমার কাছে পরীক্ষার জন্য আইআই উপলব্ধ নেই।

pxউচ্চতায় "চালান কোড স্নিপেট" তাই "বাস্তব" বাইট গণনা এ অন্তর্ভুক্ত নেই সুবিধার জন্য নেই। এটি ছাড়া এটি ব্রাউজারে দুর্দান্ত কাজ করে।

<p style=height:20px;border:solid onClick=t=this;t.innerHTML=(t.e=!t.e)?'x':''>

পূর্ববর্তী সংস্করণ:

<p id=d style="width:20px;height:20px;border:solid 1px"onClick="d.innerHTML=d.innerHTML=='x'?'':'x'"align=center>


1
আপনি কি id=dঅপসারণ করতে পারেন d=this?
ক্রিটসি লিথোস

1
@ ক্রিতিক্সিলিথোস - সত্যই আমি পারি। ধন্যবাদ এবং ভাল স্পট :)
এলপিড্রো

1
আপনার প্রস্থ নির্ধারণ করার দরকার নেই, বিধিগুলি বলে যে এটি কোনও মাত্রা হতে পারে। আপনি যদি কোনও সম্পত্তিতে রাজ্যটি thisসঞ্চয় করেন তবে আপনি আইডির সেটিংস সংরক্ষণ করতে পারবেন। আপনি যদি thisকোনও সম্পত্তি সঞ্চয় করেন তবে আপনি কয়েকটি বাইট সংরক্ষণ করবেন। alignঅপ্রয়োজনীয়। যেহেতু অ্যাট্রিবিউট স্ট্রিংগুলিতে কোনও স্থান নেই তাই আপনার উদ্ধৃতিগুলির প্রয়োজন নেই। <p style=height:20px;border:solid onClick=t=this;t.innerHTML=(t.e=!t.e)?'x':''>79 বাইট
জানুয়ারী

@ জান - ধন্যবাদ! প্রস্থ বিটটি আমার নিজের পেশাদার গর্ব। যদি আমি এটি সেট না করি তবে এটি কুৎসিত দেখাচ্ছে এবং যেহেতু এই উত্তরটি কখনই জিততে পারে না এবং একটি বিকল্প হিসাবে সবেমাত্র পোস্ট করা হয়েছিল আমি সম্ভবত এটি সেখানে রেখে দেব। কিছু মহান ইঙ্গিত ছাড়া অন্য। অনেক ধন্যবাদ. আগামীকাল আপডেট হবে।
এলপেড্রো

ধন্যবাদ ইস্টারলি কোড আপডেট করেছে তবে অন্যান্য বিটগুলি ভুলে গেছে। দেরি হচ্ছে.
এলপেড্রো

9

মাইনক্রাফ্ট 1.0.0, 1 বাইট

মিনক্রাফ্টের একটি লিভার একটি চেক বাক্সের জন্য সমস্ত মানদণ্ড পূরণ করে। এই উত্তরটি কেবল গেমের পুরানো সংস্করণগুলির জন্য বৈধ যেখানে কোনও লিভারকে খোঁচা দেওয়া এখনও টোগল করে।

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

@ কনর ও'ব্রায়েনের প্রস্তাবিত বাইট গণনাটি ব্যবহার করে স্কোর।


দুটি জবাবের মধ্যে 3 টির একটি পার্থক্য কঠোরভাবে একটি makesক্যমত্য তৈরি করে বা ভেঙে দেয়, তবে কনরের উত্তরটি যথেষ্ট বিতর্কিত (বর্তমানে + 24 / -10-এ ) বিবেচনা করে এবং গ্রহণযোগ্য উত্তরটি অতিমাত্রায় ভালভাবে প্রাপ্ত হয়েছে বলে মনে করে ( + 17 / -0 ), আমি মনে করি পরেরটি মাইনক্রাফ্টের উত্তরগুলি স্কোর করতে ব্যবহার করা উচিত।
ডেনিস

তবে মাইনক্রাফ্ট
০.০.০

1
এটি nকনর- এর একটি , বিটিডব্লিউ :)
কনার ও'ব্রায়েন

বা আপনি যে কোনও নতুন সংস্করণে বাম এবং ডান মাউস বোতামগুলি এটি বৈধ করে তুলতে
পুনরায় প্রত্যাবর্তন

@ কনরও'ব্রায়েন তাই না 1 block? কেন 1 byte? আমি মনে করি না যে এমসি প্রতিটি ব্লককে একটি বাইট হিসাবে সঞ্চয় করে ...
রেডক্লুভার

8

টিআই-বেসিক, 15 বাইট

While 1:Shade(0,9:Input :ClrDraw:Input :End

মোটামুটি সহজবোধ্য. চেকবাক্সটি প্রায় 40% পর্দা জুড়ে এবং কালো এবং সাদা রঙের মধ্যে বিকল্প covers চেক করা হলে, স্ক্রিনটি এরকম কিছু দেখবে:

পর্দা


8

উইন্ডোজ কমান্ড লাইনের যে কোনও সংস্করণ, 3 বাইট

(সেমিডি.এক্সি, ব্যাচ, পাওয়ারশেল, শুরু-> রান যাই হোক না কেন)

osk

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


7

অক্টাভা, 36 20 বাইট

uicontrol('sty','c')

@ লুইস মেন্ডোকে ধন্যবাদ 16 টি বাইট সংরক্ষণ!


1
uicontrol('sty','c')এছাড়াও কাজ করে
লুইস মেন্ডো

@ লুইস মেন্ডো ধন্যবাদ! ১/২ বাইট গুনে সংরক্ষণ করা হয়েছে!
rahnema1

7

কেভি ল্যাং , 8 বাইট

CheckBox

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


কেভি ল্যাং এমনকি চালানোর জন্য একটি সত্যিকারের বেসিক পাইথন পরিবেশ ধরে:

from kivy.app import runTouchApp
from kivy.lang import Builder
runTouchApp(Builder.load_string('CheckBox'))

এটি মূলত কাজ করে কারণ স্ট্যান্ডার্ড লাইব্রেরি থেকে প্রতিটি উইজেটের CheckBoxমধ্যে অন্তর্ভুক্ত একটি কুই উইজেট kivy.Factory

এই সরল স্ট্রিংটি একটি উদাহরণ তৈরি করে CheckBoxএবং runTouchAppকোনও উইজেট চালানোর আশা করার কারণে আমি ব্যবহার করতে পারি Builder.load_string

load_stringমূলত প্রতিটি কেভি স্ট্রিং হ্যান্ডলগুলির পটভূমি এবং যদি কোনও উইজেটের সংজ্ঞা দেওয়া থাকে (উদাহরণস্বরূপ CheckBox), তবে এটি রুট উইজেটের অবস্থানে উন্নীত হয় , উদাহরণস্বরূপ:

Application
    openGL Window
        root widget(mostly layout)
            main tree
            and some widgets
            ...

7

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

@L
O=T
TOUCH OUT T,,
X=T<O!=X
KEY 1,""[X]GOTO@L

এবং এসবি এর ফন্টে একটি খালি বাক্স এবং একটি চেক বাক্স।
স্ক্রিনটি স্পর্শ করে চেকবক্সটি টগল করুন (মাউসের সাহায্যে ক্লিক করার নিকটতম জিনিস)

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

প্রতারণার উত্তর:

0 বাইট:

(অন-স্ক্রিন কীবোর্ডে বোতাম রয়েছে যা চেকবক্সগুলির মতো কাজ করে, যেমন ক্যাপস লক এবং সন্নিবেশ কীগুলি)

14 বাইট:

EXEC"SYS/SBGED

বিল্ট ইন গ্রাফিক্স সম্পাদক খুলুন, এতে একাধিক চেকবক্সের মতো বোতাম রয়েছে


এটি কেবল উজ্জ্বল, যদিও 4 র্থ লাইনটি কী করছে তা আমি সত্যিই বুঝতে পারি না। আপনি ব্যাখ্যা করতে পারেন?
শামুক_

T<Oসত্য আপনি যখন পর্দা স্পর্শ করা বন্ধ, এবং !=একটি লজিকাল XOR হিসাবে ব্যবহৃত হয়। X=X XOR (O && !T)
12

7

সি #, 124 120 বাইট

গ্র্যাফথফিশকে ধন্যবাদ 4 বাইট সংরক্ষণ

চেকবক্স চেক করা হয়েছে এবং চেক করা হয়নি দ্রষ্টব্য: সম্পাদনাগুলির কারণে, ছবিটি কোডটি কী করে তা হুবহু উপস্থাপন করে না, বর্তমান কোড দিয়ে "চেকবক্স 1" প্রদর্শিত হয় না।

using System.Windows.Forms;class P{static void Main(){var a=new Form();a.Controls.Add(new CheckBox());a.ShowDialog();}}

ungolfed: using System.Windows.Forms; class P{ static void Main(){ var a=new Form(); a.Controls.Add(new CheckBox()); Application.Run(a); a.ShowDialog(); } }


যদি আপনি মেটাতে এ সম্পর্কে কিছু না পেয়ে থাকেন তবে এই বিষয়ে মেটা সম্পর্কে জিজ্ঞাসা করুন।
ম্যাথু রোহ

আপনি ফাঁকা স্থানগুলি থেকে মুক্তি পেতে পারেন var a = new Form();
ক্লিমেমিক

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

আপনি ব্যবহার করতে পারে a.ShowDialog();কয়েক বাইট সংরক্ষণ করতে
grabthefish

ধন্যবাদ @ গ্রাবাথিফিশ, যদিও সি # এখনও জাভা হারায় :(
সাতটিবেল


6

জাভাস্ক্রিপ্ট সহ এইচটিএমএল, 46 33 28 বাইট

<body onclick=innerHTML^=1>0

v2

<body onclick=this.innerHTML^=1>0

v1 এ

<body onclick=t=this;t.innerHTML=t.e=!t.e||''>

এটি @ এলপিড্রোর উত্তরের একটি বৈকল্পিক: একটি চেকবক্স তৈরি করুন । @ অ্যালবার্ট রেনশোর সহায়তায় ২৮ বাইটে নামলেন এটি আরও কমানো যেতে পারে তবে এটি একটি চেকবাক্স তৈরির অনুরূপ হয়ে উঠবে

পুরো প্রয়োগের ক্ষেত্রটি ক্লিকযোগ্য। প্রদর্শন করব 0মধ্যে offরাষ্ট্র ও 1মধ্যে onরাষ্ট্র। Https://jsbin.com/nuhetiyocu/1/edit এ চেষ্টা করে দেখুন


1
এখানে 39 বাইটে একটি ঝরঝরে প্রকরণ রয়েছে। <body onclick=t=this;t.innerHTML^=t?1:0রাষ্ট্র পরিবর্তনের মধ্যে 16 পিক্সেলের নিয়মটি যদিও বিতর্কের জন্য রয়েছে।
আলবার্ট রেনশওয়া

38<body onclick=this.innerHTML^=this?1:0
অ্যালবার্ট রেনশওয়া

1
ওহ না আপনার সহায়তায় আমি ইতিমধ্যে 33
জানুয়ারী


1
এখন যেহেতু ধারকটির ভিতরে সর্বদা একটি মান থাকে তাই এটি অন্য থেকে bodyআলাদা উপাদানে পরিবর্তিত হতে পারে । তবে আমি কেবল লক্ষ্য করেছি যে এটি অন্য উত্তর কোডগল্ফ.সটাকেক্সচেঞ্জ / সেকশনস 109155/create-a-checkbox/… এর অনুরূপ হয়ে উঠবে তাই আমি এটিকে ঠিক যেমন রেখে দিচ্ছি
জানুয়ারী

6

পাওয়ারশেল ভি 5 +, 94 বাইট

($a=[Windows.Forms.Form]::new()).Controls.Add([Windows.Forms.Checkbox]::new());$a.ShowDialog()

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

এটি বেশ ভয়াবহ, তবে আমি বিবৃতিগুলি উভয় Add-Typeবা এর সাথে সংক্ষিপ্ততর পেতে পারি না using namespace- এবং ভেরিয়েবলটি প্রয়োজনীয়, যেহেতু আমাকে ফর্মটি দেখানোর জন্য অবজেক্টটি পুনরায় ব্যবহার করতে হবে, এবং Controls.Add()কিছুই ব্যবহারযোগ্য নয় returns

ShowDialog এই কমান্ডটি চালানোর পরে বাক্সটি ইন্টারেক্টিভ করার জন্য আমার সিস্টেমে প্রয়োজনীয়, অন্যথায় ফর্মটি হিমশীতল।

এছাড়াও System.Windows.Forms.Formএটি কেবলমাত্র ছোট করা Windows.Forms.Formযেতে পারে (কমপক্ষে আমার নিজের) সিস্টেমটি তাজা সেশনে এটি স্বয়ংক্রিয়ভাবে সম্পন্ন করা বন্ধ করে দেয়।


নিস! এটি যুক্ত করতে চান যে এর জন্য 5+ সংস্করণ প্রয়োজন।
ব্রিটিশবাদী

@ ব্রায়ান্টিস্ট আপডেট হয়েছে, ধন্যবাদ
7:25

6

এক্সেল ভিবিএ, 38 32 31 29 বাইট

A1সক্রিয় এক্সেল ভিবিএ প্রকল্পের প্রথম শীটে সেলটিতে উচ্চতা = 9 এবং প্রস্থ = 9 এর একটি চেকবাক্স সন্নিবেশ করানো উইন্ডো ফাংশনটি প্রতিরোধ করে

Sheet1.CheckBoxes.Add 0,0,9,9

-6 ধন্যবাদ প্রতিস্থাপন জন্য pajonk করার [A1],[A1],9,9সঙ্গে0,0,9,9

-1 প্রতিস্থাপন জন্য Sheets(1)সঙ্গে[Sheet1]

উপরোক্ত অনুধাবন করার জন্য -2 বোকা এবং Sheet1পরিবর্তে ব্যবহার করা হয়েছিল


মনে হয় যে 1,1,9,9আর্গুমেন্ট হিসাবে কাজ করে।
pajonk

1
আপনার দরকার নেই Sheet(1)., আপনি এক্সেল এ এটি দ্রুত চালাতে পারেন তবে CheckBoxesসক্রিয় শীটের
উত্তরাধিকারী

@ মিঃ বার্নস আমি এটি যাচাই করে দেখেছি, তবে কোনও ওয়ার্কশিট অবজেক্টের সরাসরি উল্লেখ না করে CheckBoxes.Addপদ্ধতিটি "অবজেক্ট আবশ্যক" উল্লেখ করে একটি ত্রুটি ছুঁড়ে ফেলেছে
টেলর স্কট

@ টেলরস্কট আপনি সঠিক, আমি কোডটি একটি সাধারণ মডিউলের চেয়ে শীট মডিউলে
রেখেছি

4

ভিবিএ (শব্দ), 74 57 বাইট

-17 টেলর স্কট ধন্যবাদ

Sub a()
f = a.FormFields.Add(Selection.Range, 71)
End Sub

দস্তাবেজের ফাইলের নাম হওয়া উচিত একটি।


1
17 বাইটের সঞ্চয়ের জন্য আপনি ( ধ্রুবকটির পূর্ণসংখ্যার মান ) wdFieldFormCheckBoxদিয়ে প্রতিস্থাপন করতে পারেন71wdFieldFormCheckBox
টেলর স্কট

আমি মনে করি আপনি -2 বাইটের জন্য নিউলাইনগুলি সরাতে পারেন।
devRicher

4

পগ, 20 বাইট

input(type=checkbox)

এগুলি ছাড়াও আমি 23 হিসাবে গণনা করি you
এলপেড্রো

@ ইওনলিগুস্তি - সত্যই তবে উদ্ধৃতিগুলি না থাকলে আমি বিটিডব্লুতে উজ্জীবিত হত: ডাউনওয়েট আমার ছিল না।
এলপেড্রো

আমি যদি উক্ত ভোটদানগুলির প্রয়োজন না হয় তবে এটির পক্ষে ভোট দিতে পারতাম।
নাইটস্কাইকোড

@ তিওনলিগুস্টি মোটেও নয় একবার চেষ্টা করে দেখো.
নাইটস্কাইকোড

4

ক্লোজার, 201 195 145 127 বাইট

(ns c(:require[quil.core :as q]))(def a(atom nil))(q/defsketch b :draw #(q/background(if@a 0 99)):mouse-clicked #(swap! a not))

প্রয়োজন থেকে মুক্তি পেয়ে বাইট m/fun-mode

সরিয়ে -50 বাইট :setupএবং :sizeঅপশন, যেহেতু তারা defaultable ও বেসরকারি অপ্রয়োজনীয় হয় fun-mode। মিডলওয়্যারের জন্য অপ্রয়োজনীয় আমদানিও সরিয়ে ফেলেছে।

-18 বাইটস কেবলমাত্র ASCII- এর জন্য ধন্যবাদ "ছোট" রঙে পরিবর্তিত হয়েছে, এবং ডিरेফারেন্স অপারেটর ( @) এর আগে একটি অপ্রয়োজনীয় স্থান সরিয়ে নিয়েছে ।

একটি কয়েল স্কেচ তৈরি করে ( ক্লোজার লাইব্রেরি যা প্রসেসিংয়ের উপর একটি স্তর সরবরাহ করে) তৈরি করে, অতএব, এটি চালনার জন্য কুইল লাইব্রেরি প্রয়োজন।

(ns bits.golf.checkbox
  (:require [quil.core :as q]))

; Mutable global variable to hold the toggle state
(def a (atom nil))

(q/defsketch b
         ; Draw the background color to be either black or red depending on the toggle state.
         :draw #(apply q/background (if @a [0 0 0] [255 0 0]))

         ; Negate the state on mouse click
         :mouse-clicked #(swap! a not))

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

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


আপনি 255 99 এর সাথে প্রতিস্থাপন করতে পারবেন না? এছাড়াও আমি চিহ্নগুলির আগে / পরে ফাঁকা স্থানগুলি সরিয়ে এবং এটি এখনও কার্যকর কিনা তা দেখার চেষ্টা করব
ASCII- কেবল

@ এএসসিআইআই-হ্যাঁ, আমি পারলাম। এটি আইরিচ হওয়া সত্ত্বেও একটি রেন্টকে কুৎসিত রঙ তৈরি করেছে এবং কোনও কারণে আমি সেই সময়টিকে অগ্রাধিকার দিয়েছিলাম। এবং না, এটি আমি দুর্ভাগ্যক্রমে অপসারণ করতে পারে এমন অনেক জায়গা।
কারসিজেনিকেট

@ এএসসিআই-কেবল সমস্যাটি হ'ল প্রতীকগুলি প্রায় কোনও চরিত্র ধারণ করতে পারে, তাই সত্যই কেবলমাত্র "নিরাপদ প্রতিবেশী" যা আপনি আশেপাশের স্থানগুলি সরাতে পারবেন যে কোনও ধরণের বন্ধনী বা উদ্ধৃতি। ভাগ্যক্রমে প্রাক্তনটির কাছে এটি বেশ জনপ্রিয়।
কারসিজেনিকেট

হুম [0 0 99]তাহলে কি? (
এএসসিআইআই

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

4

অপারেশন ফ্ল্যাশপয়েন্ট স্ক্রিপ্টিং ভাষা, 273 বাইট

চেকবক্সটি দেখানোর জন্য:

createDialog"b"

তবে প্রথমে এটি সংজ্ঞায়িত করা উচিত:

description.extমিশন ফোল্ডারে নামের একটি ফাইলে নিম্নলিখিতটি সংরক্ষণ করুন :

class b{idd=999;movingEnable=1;class controls{class c{idc=457;x=0.1;y=0.1;w=0.1;h=0.1;text="";action="if(ctrlText 457=={})then{ctrlSetText[457,{V}]}else{ctrlSetText[457,{}]}";type=1;style=2;colorText[]={1,1,1,1};font="tahomaB36";sizeEx=0.1;}}}

চেকবক্সটি কার্যকর:


3

অটোআইটি , 78 বাইট

GUICreate(0)
GUISetState(GUICtrlCreateCheckbox(0,0,0))
Do
Until GUIGetMsg()=-3

একটি সর্বাধিক উইন্ডো খোলে যা অন্য উইন্ডো উইন্ডোর মতো বন্ধ হতে পারে। সর্বোচ্চকরণ এবং ... অন টপ-নেস গল্ফের একটি পার্শ্ব প্রতিক্রিয়া।

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


আমি এটি লিনাক্সে কীভাবে চালাব?
dkudriavtsev

@ওয়াত wine AutoIt3.exe script.au3, যেখানে script.au3ফাইলটিতে এই কোড রয়েছে।
mınxomaτ

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