স্ক্রিন#
ভূমিকা#
screen ক্লাসটি brain বেস ক্লাস থেকে উদ্ভূত। এটি নিয়ন্ত্রণ করে যে IQ (2nd gen) ব্রেইন তার অন্তর্নির্মিত স্ক্রিনে কীভাবে টেক্সট, সংখ্যা এবং গ্রাফিক্স প্রদর্শন করে।
ডিফল্টরূপে, ব্রেইনে প্রিন্ট করার জন্য ফন্টটি হলো মনোস্পেসড স্মল।
আঁকার জন্য ব্রেইনটির রেজোলিউশন হলো ১৬০ x ১০৮ পিক্সেল।
অ্যাক্সেস#
screen ক্লাসটি নিম্নলিখিত উপায়ে অ্যাক্সেস করা যাবে:
Brain.Screen
নোট#
screenঅবজেক্টটি মস্তিষ্ক দ্বারা সরবরাহ করা হয়। এটি সরাসরি নির্মিত হয় না।প্রজেক্টগুলো একটিমাত্র গ্লোবাল
Brainব্যবহার করে, তাই স্ক্রিন ফাংশনগুলোBrain.Screen
উদাহরণ#
/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */
// Create the Brain
brain Brain = brain();
// Print text to the Brain screen
Brain.Screen.print("Hello!");
সদস্যদের কার্যাবলী#
screen ক্লাসে নিম্নলিখিত মেম্বার ফাংশনগুলো অন্তর্ভুক্ত রয়েছে:
print— ব্রেইন স্ক্রিনে ফরম্যাট করা টেক্সট, সংখ্যা, অথবা বুলিয়ান মান প্রিন্ট করে।setCursor— টেক্সট কার্সারকে একটি নির্দিষ্ট সারি এবং কলামে নিয়ে যায়।newLine— বর্তমান লাইনের বাকি অংশ মুছে দেয় এবং কার্সারকে পরবর্তী লাইনে নিয়ে যায়।clearLine— বর্তমান লাইনের বাকি অংশ অথবা নির্দিষ্ট লাইন মুছে দেয়।row— যে সারিতে লেখাটি প্রিন্ট করা হবে তা ফেরত দেয়।column— যে কলামে লেখাটি প্রিন্ট করা হবে তা ফেরত দেয়।getStringHeight— বর্তমান ফন্ট ব্যবহার করে একটি স্ট্রিংয়ের উচ্চতা পিক্সেলে ফেরত দেয়।getStringWidth— বর্তমান ফন্ট ব্যবহার করে একটি স্ট্রিংয়ের প্রস্থ পিক্সেলে ফেরত দেয়।printAt— একটি x, y পিক্সেল অবস্থানে ফরম্যাট করা টেক্সট প্রিন্ট করে (ঐচ্ছিকভাবে অস্বচ্ছ)।clearScreen— সম্পূর্ণ স্ক্রিন পরিষ্কার করে (ঐচ্ছিকভাবে একটি নির্দিষ্ট রঙে)।setFont— স্ক্রিনে প্রিন্ট করার জন্য ব্যবহৃত ফন্ট সেট করে।setPenWidth— অঙ্কিত রেখা এবং আকৃতির রূপরেখার পুরুত্ব নির্ধারণ করে।setPenColor— টেক্সট, পিক্সেল, লাইন এবং শেপের আউটলাইনের রঙ সেট করে।setFillColor— অঙ্কিত আকার এবং মুদ্রিত লেখার পটভূমির জন্য পূরণের রঙ নির্ধারণ করে।setOrigin— স্ক্রিন স্থানাঙ্কের জন্য ব্যবহৃত মূলবিন্দু নির্ধারণ করে।setClipRegion— স্ক্রিনের আউটপুট একটি আয়তক্ষেত্রাকার অঞ্চলে সীমাবদ্ধ করে।drawPixel— একটি স্থানাঙ্কে একটি পিক্সেল আঁকে।drawLine— দুটি বিন্দুর মধ্যে একটি রেখা আঁকে।drawRectangle— একটি x, y অবস্থানে নির্দিষ্ট আকারের একটি আয়তক্ষেত্র আঁকে।drawCircle— একটি x, y অবস্থানে নির্দিষ্ট ব্যাসার্ধ সহ একটি বৃত্ত আঁকে।drawImageFromFile— এসডি কার্ডের ফাইল থেকে স্ক্রিনে একটি ছবি আঁকে।render— ডাবল বাফারিং সক্ষম করে অথবা ব্যাক বাফারকে স্ক্রিনে রেন্ডার করে।pressing— স্ক্রিনটি বর্তমানে চাপা আছে কিনা তা ফেরত দেয়।xPosition— সর্বশেষ স্ক্রিন প্রেসের x-স্থানাঙ্ক ফেরত দেয়।yPosition— সর্বশেষ স্ক্রিন প্রেসের y-স্থানাঙ্ক ফেরত দেয়।pressed— স্ক্রিন চাপলে চালানোর জন্য একটি কলব্যাক ফাংশন নিবন্ধন করে।released— স্ক্রিন চাপার পর ছেড়ে দিলে চালানোর জন্য একটি কলব্যাক ফাংশন নিবন্ধন করে।
যেকোনো screen মেম্বার ফাংশন কল করার আগে, নিচে দেখানো অনুযায়ী একটি brain ইনস্ট্যান্স তৈরি করতে হবে:
// Create the Brain
brain Brain = brain();
print#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনে টেক্সট, সংখ্যা বা বুলিয়ান মান প্রদর্শন করে।
Available Functions1 — স্ট্রিং লিটারেল অথবা রিড-অনলি সি-স্টাইল স্ট্রিং ব্যবহার করে ফরম্যাট করা টেক্সট প্রিন্ট করে।
void print( const char* format, ... );
Parameters2 — পরিবর্তনযোগ্য ক্যারেক্টার অ্যারে ব্যবহার করে ফরম্যাট করা টেক্সট প্রিন্ট করে।
void print( char* format, ... );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
একটি ফরম্যাট স্ট্রিং যা স্ট্রিং লিটারেল অথবা রিড-অনলি সি-স্টাইল স্ট্রিং হিসেবে প্রদান করা হয় (উদাহরণস্বরূপ, |
|
|
একটি ফরম্যাট স্ট্রিং যা একটি পরিবর্তনযোগ্য ক্যারেক্টার অ্যারে হিসাবে প্রদান করা হয়। |
|
ফরম্যাট স্ট্রিং-এ কমা দ্বারা পৃথক করে এক বা একাধিক অতিরিক্ত মান যোগ করা হয়। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
NotesOutput begins at the current cursor position on the screen.
মুদ্রিত টেক্সটে বর্তমান স্ক্রিন ফন্ট ব্যবহৃত হয়
মুদ্রিত লেখায় বর্তমান কলমের রঙ এবং ব্যবহৃত হয়।
প্রিন্ট
printদিয়ে প্রিন্ট করা টেক্সট সর্বদা একটি ব্যাকগ্রাউন্ড সহ প্রিন্ট করা হয়, এবং ব্যাকগ্রাউন্ডের রঙ বর্তমান ফিল কালার দ্বারা নির্ধারিত হয়।ফরম্যাট স্ট্রিং ব্যবহার করার সময়, পাস করা মানগুলির সংখ্যা এবং প্রকার অবশ্যই স্ট্রিং-এর ফরম্যাট স্পেসিফায়ার-এর সাথে মিলতে হবে।
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনের একটি নির্দিষ্ট সারি ও কলামে কার্সার নিয়ে যায়। পরবর্তী print কলটি সেই অবস্থান থেকে প্রিন্ট করা শুরু করবে।
void setCursor(
int32_t row,
int32_t col );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে সারিতে কার্সারটি সরাতে হবে। |
|
|
যে কলামে কার্সারটি সরাতে হবে। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesprintব্যবহার করার সময় পরবর্তী টেক্সট আউটপুট কোথা থেকে শুরু হবে তা প্রভাবিত করে।সারি এবং কলামগুলি বর্তমানে সেট করা স্ক্রিন ফন্ট এর উপর ভিত্তি করে তৈরি করা হয়।
ডিফল্ট ফন্ট (
mono20) 5টি সারি এবং 16টি কলাম ব্যবহার করে।setCursorকল করলে তা শুধুমাত্র পরবর্তী টেক্সট আউটপুটের অবস্থানকে প্রভাবিত করে।
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Repeatedly print the Brain timer at top-left
while (true) {
Brain.Screen.print("%d", Brain.Timer.time(seconds));
Brain.Screen.newLine();
wait(1, seconds);
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
}
}

newLine#
ব্রেইন স্ক্রিনে কার্সারকে পরবর্তী সারির শুরুতে নিয়ে যায়।
Available Functionsvoid newLine();
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
Return Valuesএই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesকার্সরটি যদি কোনো বাক্যের মাঝখানে থাকে, তাহলে
newLineপরবর্তী সারিতে যাওয়ার আগে কার্সরের পরের সারির বাকি অংশ মুছে ফেলবে।newLineকল করার পর, কার্সরটি পরবর্তী লাইনের প্রথম কলামে অবস্থান করে।setCursorব্যবহার করে কার্সরের অবস্থান এবং সারির সংখ্যা সেট করা হয়।
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

clearLine#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনের একটি সারি থেকে লেখা মুছে ফেলে।
Available Functions1 — কার্সরের অবস্থান থেকে বর্তমান লাইনের বাকি অংশ মুছে দেয়।
void clearLine();
2 — বর্তমানে কনফিগার করা ফিল কালার ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।
void clearLine( int number );
3 — পূর্বনির্ধারিত অথবা কাস্টম রঙ অবজেক্ট ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।
void clearLine( int number, const color& color );
4 — একটি হেক্সাডেসিমাল রঙের মান ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।
void clearLine( int number, const char* color );
Parameters5 — একটি হিউ ভ্যালু ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।
void clearLine( int number, int hue );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে সারিটি পরিষ্কার করতে হবে তার নম্বর। সারির ক্রমিক সংখ্যা |
|
|
একটি
|
|
|
হেক্সাডেসিমাল রঙের মান ব্যবহার করে সারিটি পরিষ্কার করে (উদাহরণস্বরূপ, |
|
|
কালার হুইলের বিভিন্ন ডিগ্রিকে |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesলাইন মুছে ফেললে কার্সরের বর্তমান অবস্থানের কোনো পরিবর্তন হয় না।
setCursorব্যবহার করে কার্সরের অবস্থান এবং সারির সংখ্যা সেট করা হয়।hueপ্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

// Display text on two rows
Brain.Screen.print("This text stays");
Brain.Screen.newLine();
Brain.Screen.print("This disappears");
// Wait 3 seconds before clearing row 2
wait(3, seconds);
Brain.Screen.clearLine(2);
row#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনে যে সারিতে লেখাটি প্রিন্ট করা হবে, সেটি ফেরত দেয়।
Available Functionsint32_t row();
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
Return Valuesযে সারিতে লেখাটি প্রিন্ট করা হবে, তা নির্দেশ করে এমন একটি int32_t রিটার্ন করে।
সারির সংখ্যা ১ থেকে শুরু হয়।
Notesকার্সরের অবস্থান বর্তমান স্ক্রিন ফন্ট এর উপর ভিত্তি করে নির্ধারিত হয়
প্রত্যাবর্তিত মানটি নির্দেশ করে যে পরবর্তী মুদ্রিত আউটপুট কোথায় প্রদর্শিত হবে।
টেক্সট প্রিন্ট করা হলে অথবা
setCursorকল করা হলে সারির মান পরিবর্তিত হয়।
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("row: ", Brain.Screen.row());

column#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনে যে কলামে লেখাটি প্রিন্ট করা হবে, সেটি ফেরত দেয়।
Available Functionsint32_t column();
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
Return Valuesযে কলামে টেক্সট প্রিন্ট করা হবে, তা বোঝানোর জন্য একটি int32_t রিটার্ন করে।
কলামের সংখ্যা ১ থেকে শুরু হয়।
Notesকার্সরের অবস্থান বর্তমান স্ক্রিন ফন্ট এর উপর ভিত্তি করে নির্ধারিত হয়
প্রত্যাবর্তিত মানটি নির্দেশ করে যে পরবর্তী মুদ্রিত আউটপুট কোথায় প্রদর্শিত হবে।
টেক্সট প্রিন্ট করা হলে অথবা
setCursorকল করা হলে কলামের মান পরিবর্তিত হয়।
// Display the cursor's current column
Brain.Screen.print("column: ", Brain.Screen.column());

getStringHeight#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনে রেন্ডার করার সময় একটি স্ট্রিং-এর উচ্চতা পিক্সেলে ফেরত দেয়।
Available Functionsint32_t getStringHeight(
const char* cstr );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
পরিমাপ করার জন্য টেক্সটটি একটি C-স্টাইল স্ট্রিং হিসাবে প্রদান করতে হবে (উদাহরণস্বরূপ, |
ব্রেইন স্ক্রিনে রেন্ডার করার সময় স্ট্রিংটির উচ্চতা পিক্সেলে প্রকাশ করার জন্য একটি int32_t রিটার্ন করে।
getStringWidth#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনে রেন্ডার করার সময় একটি স্ট্রিং-এর প্রস্থ পিক্সেলে ফেরত দেয়।
Available Functionsint32_t getStringWidth(
const char* cstr );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
পরিমাপ করার জন্য টেক্সটটি একটি C-স্টাইল স্ট্রিং হিসাবে প্রদান করতে হবে (উদাহরণস্বরূপ, |
ব্রেইন স্ক্রিনে রেন্ডার করার সময় স্ট্রিংটির প্রস্থ পিক্সেলে প্রকাশ করার জন্য একটি int32_t রিটার্ন করে।
printAt#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনের একটি নির্দিষ্ট স্থানাঙ্কে টেক্সট, সংখ্যা বা বুলিয়ান মান প্রিন্ট করে।
Available Functions1 — নির্দিষ্ট পিক্সেল অবস্থানে ফরম্যাট করা আউটপুট প্রিন্ট করে।
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — নির্দিষ্ট পিক্সেল অবস্থানে ফরম্যাট করা আউটপুট প্রিন্ট করে এবং টেক্সটের ব্যাকগ্রাউন্ড অস্বচ্ছ হবে নাকি স্বচ্ছ হবে তা নির্ধারণ করে।
void printAt( int32_t x, int32_t y, bool bOpaque, const char* format, ... );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
প্রিন্ট করার জন্য এক্স-অবস্থান, যা স্ক্রিন অরিজিনের সাপেক্ষে নির্ধারিত। |
|
|
স্ক্রিন অরিজিনের সাপেক্ষে প্রিন্ট করার y-অবস্থান। |
|
|
মুদ্রিত লেখাটি অস্বচ্ছভাবে নাকি স্বচ্ছভাবে আঁকা হবে তা নিয়ন্ত্রণ করে:
|
|
|
একটি ফরম্যাট স্ট্রিং যা স্ক্রিনে কী প্রিন্ট করা হবে তা নিয়ন্ত্রণ করে (উদাহরণস্বরূপ, |
|
ফরম্যাট স্ট্রিং-এ কমা দ্বারা পৃথক করে এক বা একাধিক অতিরিক্ত মান যোগ করা হয়। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesxএবংyস্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যাsetOriginব্যবহার করে পরিবর্তন করা যেতে পারে।মুদ্রিত টেক্সটে বর্তমান স্ক্রিন ফন্ট ব্যবহৃত হয়
মুদ্রিত লেখায় বর্তমান কলমের রঙ এবং ব্যবহৃত হয়।
ফরম্যাট স্ট্রিং ব্যবহার করার সময়, পাস করা মানগুলির সংখ্যা এবং প্রকার অবশ্যই স্ট্রিং-এর ফরম্যাট স্পেসিফায়ার-এর সাথে মিলতে হবে।
// Print the number 1 at pixel (100, 40)
Brain.Screen.printAt(100, 40, 1);

clearScreen#
ব্রেইনের স্ক্রিন থেকে সমস্ত অঙ্কন ও লেখা মুছে দেয়।
Available Functions1 — স্ক্রিনকে সম্পূর্ণ কালো করে দেয়।
void clearScreen();
2 — পূর্বনির্ধারিত বা কাস্টম রঙ অবজেক্ট ব্যবহার করে স্ক্রিন পরিষ্কার করে।
void clearScreen( const color& color );
3 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে স্ক্রিন পরিষ্কার করে।
void clearScreen( const char* color );
Parameters4 — একটি হিউ ভ্যালু ব্যবহার করে স্ক্রিন পরিষ্কার করে।
void clearScreen( int hue );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
একটি
|
|
|
একটি স্ট্রিং হিসাবে উপস্থাপিত হেক্সাডেসিমাল রঙের মান ব্যবহার করে স্ক্রিন পরিষ্কার করে (উদাহরণস্বরূপ, |
|
|
কালার হুইলের বিভিন্ন ডিগ্রিকে |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Noteshueপ্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

// Clear screen after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen();
// Clear screen to blue after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen(red);

setFont#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনে প্রদর্শিত টেক্সটের জন্য ব্যবহৃত ফন্ট নির্ধারণ করে।
এটি print এর মতো স্ক্রিন টেক্সট ফাংশন ব্যবহার করার সময় পরবর্তী টেক্সট আউটপুটে প্রয়োগ করা ফন্ট নিয়ন্ত্রণ করে।
void setFont(
fontType font );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ফন্টটি নিম্নলিখিতগুলির মধ্যে একটিতে সেট করে:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Examples// Display two different fonts on
// two separate lines
Brain.Screen.setFont(mono20);
Brain.Screen.print("Mono Medium");
Brain.Screen.newLine();
Brain.Screen.setFont(prop20);
Brain.Screen.print("Prop Medium");

setPenWidth#
অঙ্কিত রেখা এবং আকৃতির রূপরেখার পুরুত্ব নির্ধারণ করে।
Available Functionsvoid setPenWidth(
uint32_t width );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
কলমের প্রস্থ, পিক্সেলে, ০ থেকে ৩২ পর্যন্ত। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesকলমের প্রস্থ
drawLine,drawRectangle, এবংdrawCircleএর মতো অঙ্কন ফাংশনগুলিতে প্রযোজ্য।
// Draw a circle with a pen width of 5
Brain.Screen.drawCircle(40, 70, 20);
Brain.Screen.setPenWidth(5);
Brain.Screen.drawCircle(100, 70, 20);

setPenColor#
টেক্সট, পিক্সেল, লাইন এবং শেপের আউটলাইনের রঙ নির্ধারণ করে।
Available Functions1 — পূর্বনির্ধারিত অথবা কাস্টম রঙ অবজেক্ট ব্যবহার করে কলমের রঙ সেট করে।
void setPenColor( const color& color );
2 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে কলমের রঙ নির্ধারণ করে।
void setPenColor( const char* color );
Parameters3 — হিউ ভ্যালু ব্যবহার করে পেনের রঙ নির্ধারণ করে।
void setPenColor( int hue );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
Sets the pen color using a
|
|
|
একটি স্ট্রিং হিসাবে উপস্থাপিত হেক্সাডেসিমাল রঙের মান ব্যবহার করে কলমের রঙ সেট করে (উদাহরণস্বরূপ, |
|
|
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesপ্রজেক্টের শুরুতে পেনের ডিফল্ট রঙ হলো
white।কলমের রঙ ব্যবহার করা হয় আকারের রূপরেখা (যেমন
drawCircleবাdrawRectangleদিয়ে), পাঠ্য এবং সংখ্যাসূচক আউটপুট (printএবংprintAtদিয়ে), এবংdrawPixelদিয়ে আঁকা স্বতন্ত্র পিক্সেলের জন্য।hueপ্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

Brain.Screen.drawRectangle(100, 50, 10, 20);
Brain.Screen.setPenColor(blue);
Brain.Screen.drawRectangle(50, 50, 10, 20);

setFillColor#
আকৃতি আঁকার সময় ব্যবহৃত ফিল কালার নির্ধারণ করে।
Available Functions1 — পূর্বনির্ধারিত অথবা কাস্টম কালার অবজেক্ট ব্যবহার করে ফিল কালার সেট করে।
void setFillColor( const color& color );
2 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে ফিল কালার নির্ধারণ করে।
void setFillColor( const char* color );
Parameters3 — হিউ ভ্যালু ব্যবহার করে ফিল কালার নির্ধারণ করে।
void setFillColor( int hue );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
Sets the fill color using a
|
|
|
একটি স্ট্রিং হিসাবে উপস্থাপিত হেক্সাডেসিমাল রঙের মান ব্যবহার করে ফিল কালার সেট করে (উদাহরণস্বরূপ, |
|
|
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesপ্রজেক্টের শুরুতে ডিফল্ট ফিল কালার হলো
black।ফিল কালার শেপের ভেতরের অংশের জন্য ব্যবহৃত হয় (যেমন
drawCircleঅথবাdrawRectangleএর ক্ষেত্রে)।ফিল কালারটি প্রিন্ট করা টেক্সটের ব্যাকগ্রাউন্ড কালার হিসেবে ব্যবহৃত হয় (যেমন
printএবংprintAtএর ক্ষেত্রে)।যদি মুদ্রিত লেখার সাথে
transparentব্যবহার করা হয়, তাহলে পটভূমি হবেblack।
hueপ্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

// Draw a circle filled with yellow
Brain.Screen.setFillColor(yellow);
Brain.Screen.drawCircle(50, 50, 20);

setOrigin#
ব্রেইন স্ক্রিনে অঙ্কন এবং স্থানাঙ্ক-ভিত্তিক মুদ্রণের জন্য ব্যবহৃত মূলবিন্দু নির্ধারণ করে।
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ব্রেইন স্ক্রিনের উপরের-বাম কোণার সাপেক্ষে মূলবিন্দুর x-অবস্থান ০ থেকে ১৫৯ পর্যন্ত। |
|
|
ব্রেইন স্ক্রিনের উপরের-বাম কোণার সাপেক্ষে মূলবিন্দুর y-অবস্থান ০ থেকে ১০৭ পর্যন্ত। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesডিফল্ট মূলবিন্দু হল স্ক্রিনের উপরের-বাম কোণ, স্থানাঙ্ক (0, 0)।
drawLine,drawRectangle,drawCircle, এবংprintAtএর মতো স্থানাঙ্ক ফাংশনগুলিতে মূলবিন্দু প্রযোজ্য।পুনরায় পরিবর্তন না করা পর্যন্ত বা প্রকল্পটি রিসেট না করা পর্যন্ত মূল মানটি কার্যকর থাকবে।
setClipRegion#
স্ক্রিনে একটি আয়তাকার এলাকা নির্ধারণ করে, যেখানে সমস্ত অঙ্কন এবং লেখা সীমাবদ্ধ থাকবে। এই অঞ্চলের বাইরের কোনো বিষয়বস্তু প্রদর্শিত হবে না।
Available Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ক্লিপ অঞ্চলের উপরের-বাম কোণার x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
|
ক্লিপ অঞ্চলের উপরের বাম কোণার y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
|
ক্লিপ অঞ্চলের প্রস্থ পিক্সেলে, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
|
ক্লিপ অঞ্চলের উচ্চতা পিক্সেলে, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesড্রয়িং ফাংশনগুলো ক্লিপ অঞ্চলের বাইরে থাকলেও সম্পাদিত হয়, কিন্তু শুধুমাত্র অঞ্চলের ভেতরের অংশটুকুই দৃশ্যমান থাকে।
xএবংyস্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যাsetOriginব্যবহার করে পরিবর্তন করা যেতে পারে।ক্লিপ অঞ্চলটি শুধুমাত্র বর্তমান থ্রেডের জন্য প্রযোজ্য।
একটি নতুন ক্লিপ অঞ্চল সেট করলে তা বর্তমান থ্রেডের জন্য পূর্বে সেট করা যেকোনো ক্লিপ অঞ্চলকে প্রতিস্থাপন করে।
// Restrict text and drawings to a specific region
Brain.Screen.setClipRegion(0, 0, 120, 120);
Brain.Screen.drawRectangle(60, 60, 100, 100, red);
Brain.Screen.printAt(60, 60, "Cut off!");

drawPixel#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনের নির্বাচিত x এবং y পিক্সেল অবস্থানে একটি পিক্সেল অঙ্কন করে।
Available Functionsvoid drawPixel(
int x,
int y );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে x-স্থানাঙ্কে পিক্সেলটি আঁকা হবে, তা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে। |
|
|
যে y-স্থানাঙ্কে পিক্সেলটি আঁকা হবে, তা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
NotessetPenColorদিয়ে সেট করা বর্তমান পেনের রঙ ব্যবহার করে পিক্সেল আঁকা হয়।xএবংyস্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যাsetOriginব্যবহার করে সেট করা যেতে পারে।নির্দিষ্ট পিক্সেল অবস্থানটি স্ক্রিনের সীমার বাইরে হলে, পিক্সেলটি আঁকা হয় না।
// Draw one pixel at the center
// of the screen
Brain.Screen.drawPixel(80, 50);
![]()
drawLine#
আইকিউ (২য় প্রজন্ম) ব্রেইন স্ক্রিনে দুটি বিন্দুকে সংযুক্ত করে একটি সরলরেখা আঁকে।
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
রেখাটির শুরুর x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে। |
|
|
রেখাটির শুরুর y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
|
রেখাটির শেষ x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
|
রেখাটির শেষ y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
NotessetPenColorদিয়ে সেট করা বর্তমান পেনের রঙ ব্যবহার করে লাইন আঁকা হয়।লাইনের প্রস্থ
setPenWidthদিয়ে সেট করা বর্তমান পেনের প্রস্থ দ্বারা নির্ধারিত হয়।xএবংyস্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যাsetOriginব্যবহার করে সেট করা যেতে পারে।রেখার কোনো অংশ যদি স্ক্রিনের সীমার বাইরে থাকে, তবে কেবল দৃশ্যমান অংশটিই আঁকা হয়।
// Draw a line from the top left to
// bottom right of the screen
Brain.Screen.drawLine(0, 0, 159, 107);

drawRectangle#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনে নির্দিষ্ট অবস্থান ও আকারে একটি আয়তক্ষেত্র অঙ্কন করে।
Available Functions1 — বর্তমানে কনফিগার করা ফিল কালার ব্যবহার করে একটি আয়তক্ষেত্র আঁকে এবং পূরণ করে।
void drawRectangle( int x, int y, int width, int height );
2 — পূর্বনির্ধারিত অথবা কাস্টম রঙ অবজেক্ট ব্যবহার করে একটি আয়তক্ষেত্র অঙ্কন ও পূরণ করে।
void drawRectangle( int x, int y, int width, int height, const color& color );
3 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে একটি আয়তক্ষেত্র আঁকে এবং পূরণ করে।
void drawRectangle( int x, int y, int width, int height, const char* color );
Parameters4 — একটি হিউ ভ্যালু ব্যবহার করে একটি আয়তক্ষেত্র অঙ্কন ও পূরণ করে।
void drawRectangle( int x, int y, int width, int height, int hue );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
আয়তক্ষেত্রটির উপরের-বাম কোণার x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
|
আয়তক্ষেত্রটির উপরের-বাম কোণার y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
|
আয়তক্ষেত্রটির প্রস্থ, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
|
আয়তক্ষেত্রটির উচ্চতা, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে। |
|
|
একটি
|
|
|
একটি হেক্সাডেসিমাল রঙের মান ব্যবহার করে আয়তক্ষেত্রটি পূরণ করে (উদাহরণস্বরূপ, |
|
|
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
NotessetPenColorদিয়ে সেট করা বর্তমান পেনের রঙ ব্যবহার করে আয়তক্ষেত্রের রূপরেখা আঁকা হয়।setPenWidthদিয়ে সেট করা বর্তমান পেনের প্রস্থ দ্বারা আউটলাইনের পুরুত্ব নির্ধারণ করা হয়।যখন কোনও
colorপ্যারামিটার প্রদান করা হয় না, তখন আয়তক্ষেত্রের অভ্যন্তরটিsetFillColorদিয়ে সেট করা বর্তমান ফিল রঙ ব্যবহার করে পূরণ করা হয়।xএবংyস্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যাsetOriginব্যবহার করে পরিবর্তন করা যেতে পারে।যদি আয়তক্ষেত্রটির কোনো অংশ স্ক্রিনের সীমার বাইরে থাকে, তবে কেবল দৃশ্যমান অংশটিই আঁকা হয়।
hueপ্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

// Draw a red rectangle on the screen
Brain.Screen.drawRectangle(25, 25, 100, 50, red);

drawCircle#
IQ (২য় প্রজন্ম) ব্রেইন স্ক্রিনে নির্দিষ্ট অবস্থান ও ব্যাসার্ধে একটি বৃত্ত অঙ্কন করে।
Available Functions1 — বর্তমানে কনফিগার করা ফিল কালার ব্যবহার করে একটি বৃত্ত আঁকে এবং পূরণ করে।
void drawCircle( int x, int y, int radius );
2 — পূর্বনির্ধারিত বা কাস্টম রঙ অবজেক্ট ব্যবহার করে একটি বৃত্ত আঁকে এবং পূরণ করে।
void drawCircle( int x, int y, int radius, const color& color );
3 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে একটি বৃত্ত আঁকে এবং পূরণ করে।
void drawCircle( int x, int y, int radius, const char* color );
Parameters4 — একটি হিউ ভ্যালু ব্যবহার করে একটি বৃত্ত আঁকে এবং পূরণ করে।
void drawCircle( int x, int y, int radius, int hue );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
বৃত্তের কেন্দ্রের x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
|
বৃত্তের কেন্দ্রের y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
|
বৃত্তটির ব্যাসার্ধ, যা ০ থেকে ১০৭ পিক্সেলের মধ্যে একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
|
একটি
|
|
|
হেক্সাডেসিমাল রঙের মান ব্যবহার করে বৃত্তটি পূরণ করে (উদাহরণস্বরূপ, |
|
|
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
NotessetPenColorদিয়ে সেট করা বর্তমান পেনের রঙ ব্যবহার করে বৃত্তের রূপরেখা আঁকা হয়।setPenWidthদিয়ে সেট করা বর্তমান পেনের প্রস্থ দ্বারা আউটলাইনের পুরুত্ব নির্ধারণ করা হয়।যখন কোনও
colorপ্যারামিটার প্রদান করা হয় না, তখন বৃত্তের অভ্যন্তরটিsetFillColorদিয়ে সেট করা বর্তমান ফিল রঙ ব্যবহার করে পূরণ করা হয়।xএবংyস্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যাsetOriginব্যবহার করে পরিবর্তন করা যেতে পারে।hueপ্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

// Draw a green circle on the screen
Brain.Screen.drawCircle(80, 50, 20, green);

drawImageFromFile#
SD কার্ডে সংরক্ষিত একটি ইমেজ ফাইল ব্যবহার করে IQ (2nd gen) ব্রেইন স্ক্রিনে একটি ছবি আঁকে।
Available Functionsbool drawImageFromFile(
const char* name,
int x,
int y );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
এসডি কার্ডে থাকা ইমেজের ফাইলের নাম। ফাইলটির এক্সটেনশন অবশ্যই .bmp ( |
|
|
এক্স-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পিক্সেলের মধ্যে থাকবে, যেখানে ছবিটির বাম প্রান্ত আঁকা হবে। |
|
|
y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পিক্সেলের মধ্যে থাকবে, যেখানে ছবিটির উপরের প্রান্ত আঁকা হবে। |
ছবিটি সফলভাবে আঁকা হয়েছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান রিটার্ন করে:
true— ছবিটি সফলভাবে লোড হয়েছে এবং স্ক্রিনে আঁকা হয়েছে।false— ছবিটি আঁকা যায়নি (উদাহরণস্বরূপ, যদি ফাইলটি বিদ্যমান না থাকে বা অবৈধ হয়)।
সমর্থিত ছবির ফরম্যাটগুলো হলো
.bmpএবং.png।ইমেজ ফাইলের সাইজ অবশ্যই
512 KBএর বেশি হবে না।ফাইলের আকার কমাতে ৮-বিট আরএলই এনকোডিং ব্যবহার করার পরামর্শ দেওয়া হয়।
সর্বোচ্চ সমর্থিত ছবির মাপ হলো ব্রেইন স্ক্রিনের আকারের (১৬০ x ১০৮ পিক্সেল)।
xএবংyস্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যাsetOriginব্যবহার করে পরিবর্তন করা যেতে পারে।
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);
render#
ব্রেইনের স্ক্রিনের জন্য ডাবল বাফারিং সক্ষম করে। একবার কল করা হলে, যেকোনো ড্রয়িং ফাংশন (যেমন টেক্সট, শেপ বা ইমেজ) প্রোজেক্টের বাকি অংশের জন্য আর তাৎক্ষণিকভাবে প্রদর্শিত হবে না। পরিবর্তে, আপডেটগুলো কেবল তখনই দেখানো হবে যখন render আবার ব্যবহার করা হবে। এটি আরও মসৃণ এবং নিয়ন্ত্রিত স্ক্রিন আপডেটের সুযোগ করে দেয়, কিন্তু এর মানে হলো render ব্যবহার না করা পর্যন্ত কিছুই দৃশ্যমান হবে না।
1 — ডাবল বাফারিং সক্ষম করে অথবা ব্যাক বাফারকে স্ক্রিনে রেন্ডার করে।
bool render();
Parameters2 — ভার্টিকাল সিঙ্ক আচরণ নিয়ন্ত্রণ এবং ঐচ্ছিক শিডিউলার নির্বাহের সুবিধা সহ ব্যাক বাফারকে স্ক্রিনে রেন্ডার করে।
bool render( bool bVsyncWait, bool bRunScheduler = true );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
|
|
|
ঐচ্ছিক।
|
বাফারে সংরক্ষিত ড্রয়িংগুলো স্ক্রিনে সফলভাবে রেন্ডার করা হয়েছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান রিটার্ন করে:
true— ড্রয়িংগুলো স্ক্রিনে সফলভাবে রেন্ডার করা হয়েছে।false— ড্রয়িংগুলো স্ক্রিনে রেন্ডার করা যায়নি।
Notes
renderকল করলে, প্রোজেক্টের বাকি অংশের জন্যrenderব্যবহার করতে হবে।
Brain.Screen.render();
// Draw text to the back buffer
Brain.Screen.print("Render later...");
// Wait for a screen press to render drawings
while (!Brain.Screen.pressing()) {
wait(20, msec);
}
Brain.Screen.render();









