প্রসেসিংয়ে গল্ফ করার জন্য কারও কাছে কোনও কোড-গল্ফ টিপস রয়েছে ? এটি জাভাটির একটি গ্রাফিকাল এক্সটেনশন এবং গল্ফ কিছুটা কঠিন difficult
প্রসেসিংয়ে গল্ফ করার জন্য কারও কাছে কোনও কোড-গল্ফ টিপস রয়েছে ? এটি জাভাটির একটি গ্রাফিকাল এক্সটেনশন এবং গল্ফ কিছুটা কঠিন difficult
উত্তর:
void draw()
সমস্ত কিছু everything োকাতে পারেন void setup()
।(100, 100)
ডিফল্টরূপে শুরু করা হবে ।height
এবং ব্যবহারের প্রয়োজন হয় তবে width
পরিবর্তে তাদের সংখ্যাসূচক মানগুলি ব্যবহার করা কম। উদাহরণস্বরূপ, আকারের একটি ক্যানভাস সঙ্গে (100, 100)
ব্যবহার 99
প্রতিস্থাপন height
এবং width
আপনি 7 বাইট সংরক্ষণ করতে পারবেন।আপনি যদি কেবল সেটআপ পদ্ধতিতে কোড চালনা করেন তবে আপনার পদ্ধতির রূপরেখা লেখার দরকার নেই। উদাহরণস্বরূপ আপনি লিখতে পারেন:
rect(10,10,90,90);
পরিবর্তে
void setup {
rect(10,10,90,90);
}
এবং যতক্ষণ আপনি অন্য কোনও পদ্ধতি ব্যবহার করবেন না ততক্ষণ চলার আগে সেটআপ পদ্ধতিতে সবকিছু রেখে দেওয়া হবে
(R, G, B)
স্বরলিপিপ্রক্রিয়াকরণ রঙ বিন্যাসে খুব নমনীয়।
fill(255,255,0); //16 bytes
হেক্সাডেসিমাল স্বরলিপি হিসাবে ব্যবহার করে লেখা যেতে পারে
fill(#ffff00); //14 bytes (2 bytes saved)
রঙগুলির জন্য এখানে বিশেষ ব্যবহার রয়েছে যদি সমস্ত লাল, সবুজ এবং নীল মান একই হয় (সাদা):
fill(255,255,255); //18 bytes
fill(#ffffff); //14 bytes
fill(255); //10 bytes
সমস্ত তিনটি প্যারামিটার গ্রেস্কেল মান সমেত একটি প্যারামিটারে সংক্ষিপ্ত করা যেতে পারে: 0
কালো থেকে 255
সাদা।
এটি আলফার জন্যও বাড়ানো যেতে পারে:
fill(175,175,175,50); //translucent gray
fill(175,50); //8 bytes shorter
উভয়টির অর্থ একই রঙ, তবে পরবর্তী উপায়টি 8 বাইট দ্বারা সংক্ষিপ্ত।
যদিও সুস্পষ্ট, এটি উল্লেখ করা উচিত যে বর্ণ বর্ণগুলিতে আলফা প্যারামিটারটি alচ্ছিক কারণ রঙগুলি 255
(100% অস্বচ্ছ) এর একটি আলফা মানকে ডিফল্ট করা হয় ।
আপনার রঙটি প্রকাশ করার জন্য সংক্ষিপ্ততম রঙিন বিন্যাসটি ব্যবহার করুন (প্রোগ্রামের প্রসঙ্গে নির্ভর করে - অপ্রয়োজনীয় বিটগুলি রেখে যেতে ভুলবেন না - উদাহরণস্বরূপ: আলফা বা গ্রেস্কেল)
R
: লাল
G
: সবুজ
B
: নীল
A
: আলফা
g
: গ্রেস্কেল
RRR,GGG,BBB
#RRGGBB
ggg
RRR,GGG,BBB,AAA
ggg,AAA
আপনি যদি কখনও প্রসেসিংয়ের (যেমন DIFFERENCE
বা TRIANGLE_FAN
) সমস্ত ক্যাপ কীওয়ার্ড ব্যবহার করে থাকেন তবে দেখুন যে তারা সংখ্যার সাথে সংযুক্ত সংখ্যাটি সংক্ষিপ্ত।
উদাহরণস্বরূপ, DIFFERENCE
এটি int
32 এর সমান একটি। DIFFERENCE
এখানে ব্যবহার না করে আমি 32
8 টি অক্ষর সংরক্ষণ করে লিখতে পারি ।
void keyPressed(){}
void draw(){}void keyPressed(){foo;} //36 bytes
void draw(){if(key>0)foo;} //26 bytes
void draw(){}
জন্য অর্ডার ডিফল্টরূপে প্রয়োজন হয় key
আপডেট করা হবে। প্রোগ্রামটি শুরু হওয়ার পরে যদি ব্যবহারকারী কোনও কী টিপেন না, key
একটি মান দেওয়া হয় 0
। এটির চেয়ে বেশি কিনা তা পরীক্ষা করে 0
(যেমন ব্যবহারকারী কোনও কী চাপেছে), আমাদের গল্ফিয়ার কোড রয়েছে এবং 10 বাইট সংরক্ষণ করুন।
#FFFFFF
সম্পর্কিত: রঙ স্বরলিপি
এটি সাদা রঙের জন্য ব্যবহার করার পরিবর্তে:
color(255) //10 bytes
তুমি এটি করতে পারো:
color(-1) //9 bytes
এবং 1 বাইট সংরক্ষণ করুন।
এটি পিক্সেলের মাধ্যমে পিক্সেল সেট করা আরও দক্ষ [] :
pixels[0] = color(255)
updatePixels();
যাইহোক, এটি প্রয়োজন updatePixels()
এবং এছাড়াও একটি সূচক ব্যবহার করে যা দৃশ্যের উপর নির্ভর করে একটি এক্স, ওয়াই অবস্থানকে পিক্সেল সূচীতে রূপান্তর করতে হবে। জিনিসগুলি সংক্ষিপ্ত রাখার জন্য, যদিও এটি কম সিপিইউ দক্ষ (যেমন প্রতিটি কল পুরো বাফার আপডেট করে), সেট () একটি পিক্সেল সেট করতে দেয় এবং সরাসরি একটি কলে সরাসরি বাফার প্রতিশ্রুতিবদ্ধ।
set(0,0,color(255));