একটি খারাপ পিক্সেল তৈরি করুন


40

আপনার কাজটি এমন একটি প্রোগ্রাম লিখতে হবে যা আপনার স্ক্রিনটির খারাপ পিক্সেল উপস্থিত হতে পারে।

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

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

মূলত সেই পিক্সেলটিতে প্রদর্শিত হওয়া রঙটি যদি বদলে যায়, সিস্টেমটি দ্রুত পর্যাপ্ত হলে আপনার প্রোগ্রামটি 0.5 সেকেন্ডেরও কম সময়ে আপডেট হওয়া উচিত।

আপনি বর্তমানে স্ক্রিনে কী প্রদর্শিত হয় (যেমন ডিফল্ট থিমটি ব্যবহার করে একটি টাস্কবার) সম্পর্কে অনুমান করা যায় না।

যখন কোনও স্ক্রিনসেভার, লগইন স্ক্রিন, উইন্ডো ম্যানেজারের প্রভাব ইত্যাদি সক্রিয় থাকে তখন আপনার প্রোগ্রামে কাজ করার প্রয়োজন হয় না।

সংক্ষিপ্ততম কোড জিতেছে।


1
আমরা কি একটি নির্দিষ্ট ওএস ধরে নিতে পারি?
লুভজো

@ লভজো হ্যাঁ, আপনি পারেন
jimmy23013

ও ... অন্যান্য চ্যানেলগুলি সংরক্ষণের প্রয়োজনীয়তা সম্ভবত আমার ইতিমধ্যে হাস্যকর বাইট গণনা দ্বিগুণ করে।
বব

উত্তর:


21

লিনাক্সে ব্যাশ করুন - ল্যাটিন -1 এর 25 বাইট

@Wyldstallyns / -2 থেকে +3 / কোটস / -1 অপসারণ করা থেকে কেননা আমি ভুলে গিয়েছিলাম যে এটি @ ডেনিস থেকে / -9 কীভাবে কাজ করে

printf ÿ>/dev/fb0;exec $0

ধরে নিন যে / dev / fb0 বিদ্যমান (এটি আমার আর্চ লিনাক্স সিস্টেমে রয়েছে এবং আমি মনে করি এটি অন্য কোনও লিনাক্স সিস্টেমে করা উচিত)। রুট অ্যাক্সেস এছাড়াও প্রয়োজন। এক্স চলমান অবস্থায় এটি আমার পক্ষে কাজ করে না। আমার সিস্টেমে এটি কেবল ধারাবাহিকভাবে উপরের-বাম পিক্সেলের নীল চ্যানেলটি পূর্ণতায় পূর্ণ হয় ( ÿএটি 255)।


আপনার প্রতিধ্বনি প্রয়োজন - অন্যথায় এটি গল্ফ করতে পারে: হ্যাঁ ff> / dev / fb0
wyldstallyns

@ ওয়েল্ডস্ট্যালেন্স হ্যাঁ, আমি এটি অনুসারে এটি স্থির করেছি। আফাইক, নতুন লাইনটি মুদ্রণ একের বেশি পিক্সেলকে প্রভাবিত করবে (চ্যালেঞ্জের বিবরণ দিয়ে অনুমোদিত নয়)
কৃত্রিম

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

1
printf ÿ>/dev/fb0;exec $0কয়েক বাইট সাশ্রয়।
ডেনিস

3
@orion এই yesপদ্ধতিটি কার্যকর হয় না। /dev/fb0একটি পিক্সেল চ্যানেল লেখার পরে আবার খুলতে হবে।
ডেনিস

11

ভিজ্যুয়াল সি ++, 102 100 99 98 বাইট

#include<Windows.h>
int main(){for(HDC d=GetDC(0);;Sleep(99))SetPixel(d,9,9,GetPixel(d,9,9)|255);}

উইন্ডোতে চলছে, কনসোল সাবসিস্টেমকে লক্ষ্য করে সরাসরি ভিজ্যুয়াল সি ++ সংকলক সহ উইন 32 এপিআই ব্যবহার করে। (9,9) এ পিক্সেলের লাল চ্যানেল সেট করতে "স্ক্রিন" ডিভাইস প্রসঙ্গটি ব্যবহার করে 0xFF

ঘুম অন্যান্য প্রোগ্রামের পেতে / সেট মধ্যে আঁকা করার অনুমতি প্রয়োজন - এবং 9ms খুব ছোট ছিল, আটকে পেয়ে পিক্সেল নেতৃস্থানীয় 1 তার প্রারম্ভিক রঙ।


1 দুর্ভাগ্যক্রমে, আটকে থাকা পিক্সেলের মতো একই ধরণের নয় এই প্রশ্নটি ...


8

হলিসি, 13 বাইট

GrPlot(,9,9);

অবিরাম স্তরে সরাসরি একটি কালো বিন্দু রাখে।

স্তরসমূহ

এটা কিসের মত দেখতে.

স্ক্রিনশট


6

সি #, 247 244 371 366 354 352 বাইট

উইন্ডোজ চলমান। পুরো স্ক্রিনের জন্য একটি ডিভাইস প্রসঙ্গ পাওয়া যায় এবং বারবার লাল চ্যানেলটি সর্বোচ্চ (9,9) এ সর্বাধিক করে তোলে।

namespace System.Runtime.InteropServices{using I=IntPtr;class P{[DllImport("User32")]static extern I GetDC(I h);[DllImport("Gdi32")]static extern int GetPixel(I h,int x,int y);[DllImport("Gdi32")]static extern int SetPixel(I h,int x,int y,int c);static void Main(){for(I d=GetDC((I)0);;Threading.Thread.Sleep(99))SetPixel(d,9,9,GetPixel(d,9,9)|255);}}}

আমি মূলত GetPixel/ আমদানি করতে চাইনি SetPixel, তবে একটিতে একক পিক্সেল পড়ার বিশেষ কোনও সহজ উপায় নেই Graphic। তাই এখনই এটি কার্যকরভাবে আমার ভিসি ++ প্রচেষ্টা হিসাবে একই । সম্ভবত বিটম্যাপে সঞ্চয় করা আরও কম হবে ...


-৫ বাইটস @ টুকুএক্সএক্সকে ধন্যবাদ


1
আপনি প্যারামিটার তালিকা থেকে সাদা স্থানগুলি মুছে ফেলতে পারেন SetPixel
Yytsi

@ টুকুএক্সএক্স ধন্যবাদ! মিস করেছেন those
বব

আপনি 9msবরং এটি ঘুমিয়ে রাখতে পারেন99ms
রব

2
@ রব আমি এটি চেষ্টা করেছি, যেমন সি ++ উত্তরে উল্লিখিত হয়েছে। দুর্ভাগ্যক্রমে, আমি পরীক্ষার সময় 9 মিমি যথেষ্ট বলে মনে হয় নি (উইন 7)। অন্যান্য প্রোগ্রামগুলিতে আঁকার জন্য পর্যাপ্ত সময় ছিল না, তাই পিক্সেল কার্যকরভাবে এর প্রাথমিক রঙটিতে আটকে গেল।
বব

0x1FFFFFFFঘুমের পরিবর্তে ব্যস্ত লুপে প্রায় পুনরাবৃত্তির মধ্য দিয়ে চালিয়েও এটি সংক্ষিপ্ত করতে পারত, তবে প্রতিটি মেশিনকে 0.5 দশকের সীমাতে থাকার জন্য এটি টিউন করতে হবে।
বব

3

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

SPSET.,299,99,1,1,33

আপডেট ক্রমাগত।
সেট পরী 0একটি থেকে 1এক্স 1এ এলাকায় 299, 99পরী শীট (যা একটি লাল পিক্সেল হয়) উপর।
33এটি প্রদর্শন বৈশিষ্ট্য, যা 1(প্রদর্শিত হবে) + 32(অ্যাডিটিভ মিশ্রণ)।


1

জাভা 7, 266 বাইট

import java.awt.*;public class K extends java.applet.Applet{public static void main(String[]a){new K();}Label l=new Label(".");public K(){add(l);}public void paint(Graphics g){s(Color.red);s(Color.green);s(Color.blue);repaint();}void s(Color c){l.setForeground(c);}}

আমি এটি উইন্ডোজ ran এ চালাত a একটি জাভা অ্যাপলেট খোলে যা ডিফল্টরূপে একটি সাদা ব্যাকগ্রাউন্ড রয়েছে। একটি পিরিয়ড সহ একটি লেবেল যুক্ত করে এবং তারপরে লেবেল বিজ্ঞাপনের বমিভাবের রঙ পরিবর্তন করে।


2
এটি বৈধ কিনা আসলে তা নিশ্চিত নয় যেহেতু এটি কেবল অ্যাপলেট উইন্ডোতে পিক্সেল পরিবর্তন করে। অ্যাপলেট ফোকাস হারিয়ে ফেললে পিক্সেল রঙ পরিবর্তন করবে না ... আমি যদি এই চ্যালেঞ্জের মানদণ্ড পূরণ না করে তবে এই উত্তরটি মুছে ফেলব।
পোকে দিন

0

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

wm at . -tr #F0F0F0
wm o . 1
grid [canvas .c]
.c cr o 9 9 9 9

চিত্রটিতে ভিভালদি আইকনের উপরের বাম কোণার কাছে একটি কালো পিক্সেল রয়েছে: badpixel


যদি ইন্টারেক্টিভ শেলটিতে থাকে তবে কমান্ডের সংক্ষিপ্তসার উপলব্ধ রয়েছে:

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

wm at . -tr #F0F0F0
wm o . 1
gri [can .c]
.c cr o 9 9 9 9

ভিভালদি আইকনের ভি হোয়াইট এরিয়াতে একটি কালো পিক্সেল রয়েছে: badpixel

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