স্ক্রিন#

ভূমিকা#

screen ক্লাসটি brain বেস ক্লাস থেকে উদ্ভূত। এটি নিয়ন্ত্রণ করে যে V5 ব্রেইন তার টাচস্ক্রিনে কীভাবে টেক্সট, সংখ্যা এবং গ্রাফিক্স প্রদর্শন করে এবং কীভাবে এটি টাচ ইনপুটে সাড়া দেয়।

ডিফল্টরূপে, ব্রেইনে প্রিন্ট করার জন্য ব্যবহৃত ফন্টটি হলো মনোস্পেসড স্মল, যেটিতে ১২টি সারি এবং ৪৮টি কলাম রয়েছে।

অঙ্কনের জন্য ব্রেইনটির রেজোলিউশন হলো ৪৮০ x ২৪০ পিক্সেল।

V5 ব্রেইন স্ক্রিন, যেখানে লাল গ্রিড লাইন দিয়ে মোট ১২টি সারি এবং ৪৮টি কলামের বিন্যাস দেখানো হয়েছে। এর পিক্সেল ডাইমেনশন হলো ৪৭৯ চওড়া এবং ২৩৯ লম্বা। উপরের বাম কোণাটি (০,০) পিক্সেল থেকে শুরু হয়ে সারি ১, কলাম ১-এ অবস্থিত, এবং নিচের ডান কোণাটি (৪৭৯, ২৩৯) পিক্সেল থেকে শেষ হয়ে সারি ১২, কলাম ৪৮-এ অবস্থিত।

অ্যাক্সেস#

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 V5 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 V5 Brain
brain Brain = brain();

print#

V5 ব্রেইন স্ক্রিনে টেক্সট, সংখ্যা বা বুলিয়ান মান প্রদর্শন করে।

Available Functions

1 — স্ট্রিং লিটারেল অথবা রিড-অনলি সি-স্টাইল স্ট্রিং ব্যবহার করে ফরম্যাট করা টেক্সট প্রিন্ট করে।

void print(
    const char* format,
    ... );

2 — পরিবর্তনযোগ্য ক্যারেক্টার অ্যারে ব্যবহার করে ফরম্যাট করা টেক্সট প্রিন্ট করে।

void print(
    char* format,
    ... );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

format

const char*

একটি ফরম্যাট স্ট্রিং যা স্ট্রিং লিটারেল অথবা রিড-অনলি সি-স্টাইল স্ট্রিং হিসেবে প্রদান করা হয় (উদাহরণস্বরূপ, “Score: %d”)।

format

char*

একটি ফরম্যাট স্ট্রিং যা একটি পরিবর্তনযোগ্য ক্যারেক্টার অ্যারে হিসাবে প্রদান করা হয়।

…

ফরম্যাট স্ট্রিং-এ কমা দ্বারা পৃথক করে এক বা একাধিক অতিরিক্ত মান যোগ করা হয়।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • Output begins at the current cursor position on the screen.

  • মুদ্রিত টেক্সটে বর্তমান স্ক্রিন ফন্ট ব্যবহৃত হয়

  • মুদ্রিত লেখায় বর্তমান কলমের রঙ এবং ব্যবহৃত হয়।

  • প্রিন্ট print দিয়ে প্রিন্ট করা টেক্সট সর্বদা একটি ব্যাকগ্রাউন্ড সহ প্রিন্ট করা হয়, এবং ব্যাকগ্রাউন্ডের রঙ বর্তমান ফিল কালার দ্বারা নির্ধারিত হয়।

  • ফরম্যাট স্ট্রিং ব্যবহার করার সময়, পাস করা মানগুলির সংখ্যা এবং প্রকার অবশ্যই স্ট্রিং-এর ফরম্যাট স্পেসিফায়ার-এর সাথে মিলতে হবে।

Examples
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

V5 ব্রেইনের একটি স্ক্রিনশট যেখানে স্ক্রিনের উপরের বাম কোণে সাদা অক্ষরে 'হ্যালো, রোবট!' লেখা দেখা যাচ্ছে।

setCursor#

V5 ব্রেইন স্ক্রিনের একটি নির্দিষ্ট সারি এবং কলামে কার্সার নিয়ে যায়। পরবর্তী print কলটি সেই অবস্থান থেকে প্রিন্ট করা শুরু করবে।

Available Functions
void setCursor(
  int32_t row, 
  int32_t col );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

row

int32_t

যে সারিতে কার্সারটি সরাতে হবে।

col

int32_t

যে কলামে কার্সারটি সরাতে হবে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • print ব্যবহার করার সময় পরবর্তী টেক্সট আউটপুট কোথা থেকে শুরু হবে তা প্রভাবিত করে।

  • সারি এবং কলামগুলি বর্তমানে সেট করা স্ক্রিন ফন্ট এর উপর ভিত্তি করে তৈরি করা হয়।

  • ডিফল্ট ফন্ট (mono20) ১২টি সারি এবং ৪৮টি কলাম ব্যবহার করে।

  • setCursor কল করলে তা শুধুমাত্র পরবর্তী টেক্সট আউটপুটের অবস্থানকে প্রভাবিত করে।

Examples
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

V5 ব্রেইনের একটি স্ক্রিনশট যেখানে স্ক্রিনের কেন্দ্রের কাছাকাছি উপরের অংশে, ঐ অবস্থানে সারি 3 কলাম 12 প্রিন্ট করা দেখা যাচ্ছে।

newLine#

ব্রেইন স্ক্রিনে কার্সারকে পরবর্তী সারির শুরুতে নিয়ে যায়।

Available Functions
void newLine();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • কার্সরটি যদি কোনো বাক্যের মাঝখানে থাকে, তাহলে newLine পরবর্তী সারিতে যাওয়ার আগে কার্সরের পরের সারির বাকি অংশ মুছে ফেলবে।

  • newLineকল করার পর, কার্সরটি পরবর্তী লাইনের প্রথম কলামে অবস্থান করে।

  • setCursor ব্যবহার করে কার্সরের অবস্থান এবং সারির সংখ্যা সেট করা হয়।

Examples
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে উপরের বাম কোণে দুটি সাদা লাইনের লেখা দেখা যাচ্ছে। উপরের লাইনে লেখা আছে লাইন 1, এবং তার ঠিক নিচের লাইনে লেখা আছে লাইন 2।

clearLine#

V5 ব্রেইন স্ক্রিনের কোনো একটি সারি থেকে লেখা মুছে ফেলে।

Available Functions

1 — কার্সরের অবস্থান থেকে বর্তমান লাইনের বাকি অংশ মুছে দেয়।

void clearLine();

2 — বর্তমানে কনফিগার করা ফিল কালার ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।

void clearLine(
    int number );

3 — পূর্বনির্ধারিত অথবা কাস্টম রঙ অবজেক্ট ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।

void clearLine(
    int          number,
    const color& color );

4 — একটি হেক্সাডেসিমাল রঙের মান ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।

void clearLine(
    int         number,
    const char* color );

5 — একটি হিউ ভ্যালু ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।

void clearLine(
    int number,
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

number

int

যে সারিটি পরিষ্কার করতে হবে তার নম্বর। সারির ক্রম 1 থেকে শুরু হয়।

color

const color&

একটি color অবজেক্ট ব্যবহার করে সারিটি পরিষ্কার করে। পূর্বনির্ধারিত রঙগুলির মধ্যে রয়েছে:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
এটি একটি কাস্টম রঙের অবজেক্ট ব্যবহার করতে পারে।

color

const char*

হেক্সাডেসিমাল রঙের মান ব্যবহার করে সারিটি পরিষ্কার করে (উদাহরণস্বরূপ, “#000000”)।

hue

int

কালার হুইলের বিভিন্ন ডিগ্রিকে 0–359রেঞ্জের মধ্যে একটি পূর্ণসংখ্যা হিউ ভ্যালু ব্যবহার করে সারিটি পরিষ্কার করে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • লাইন মুছে ফেললে কার্সরের বর্তমান অবস্থানের কোনো পরিবর্তন হয় না।

  • setCursor ব্যবহার করে কার্সরের অবস্থান এবং সারির সংখ্যা সেট করা হয়।

  • hue প্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

একটি রঙের চাকা যেখানে ০ থেকে ৩৫৯ পর্যন্ত রঙের পরিসর দেখানো হচ্ছে, যেখানে লাল হলো ০, সবুজ হলো ১২০ এবং নীল হলো ২৪০।

Examples
// 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#

V5 ব্রেইন স্ক্রিনে যে সারিতে লেখাটি প্রিন্ট করা হবে, সেটি ফেরত দেয়।

Available Functions
int32_t row();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

যে সারিতে লেখাটি প্রিন্ট করা হবে, তা নির্দেশ করে এমন একটি int32_t রিটার্ন করে।

সারির সংখ্যা ১ থেকে শুরু হয়।

Notes
  • কার্সরের অবস্থান বর্তমান স্ক্রিন ফন্ট এর উপর ভিত্তি করে নির্ধারিত হয়

  • প্রত্যাবর্তিত মানটি নির্দেশ করে যে পরবর্তী মুদ্রিত আউটপুট কোথায় প্রদর্শিত হবে।

  • টেক্সট প্রিন্ট করা হলে অথবা setCursor কল করা হলে সারির মান পরিবর্তিত হয়।

Examples
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে স্ক্রিনের উপরের বাম চতুর্থাংশে, সারি 3 কলাম 12 অবস্থানে সাদা রঙে 3 লেখা দেখা যাচ্ছে।

column#

V5 ব্রেইন স্ক্রিনে যে কলামে টেক্সট প্রিন্ট করা হবে, তা ফেরত দেয়।

Available Functions
int32_t column();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

যে কলামে টেক্সট প্রিন্ট করা হবে, তা বোঝানোর জন্য একটি int32_t রিটার্ন করে।

কলামের সংখ্যা ১ থেকে শুরু হয়।

Notes
  • কার্সরের অবস্থান বর্তমান স্ক্রিন ফন্ট এর উপর ভিত্তি করে নির্ধারিত হয়

  • প্রত্যাবর্তিত মানটি নির্দেশ করে যে পরবর্তী মুদ্রিত আউটপুট কোথায় প্রদর্শিত হবে।

  • টেক্সট প্রিন্ট করা হলে অথবা setCursor কল করা হলে কলামের মান পরিবর্তিত হয়।

Examples
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে স্ক্রিনের উপরের বাম চতুর্থাংশে, সারি 3 কলাম 15 অবস্থানে সাদা রঙে 15 লেখা দেখা যাচ্ছে।

getStringHeight#

V5 ব্রেইন স্ক্রিনে রেন্ডার করার সময় একটি স্ট্রিং-এর উচ্চতা পিক্সেলে ফেরত দেয়।

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

cstr

const char*

পরিমাপ করার জন্য টেক্সটটি একটি C-স্টাইল স্ট্রিং হিসেবে দিতে হবে (উদাহরণস্বরূপ, “Hello”)।

Return Values

ব্রেইন স্ক্রিনে রেন্ডার করার সময় স্ট্রিংটির উচ্চতা পিক্সেলে প্রকাশ করার জন্য একটি int32_t রিটার্ন করে।

Notes
  • ফেরত আসা উচ্চতা বর্তমানে নির্বাচিত স্ক্রিন ফন্ট এর উপর নির্ভর করে।

  • এই ফাংশনটি স্ট্রিংটিকে স্ক্রিনে না এঁকেই তার পরিমাপ করে।

  • ফেরত আসা উচ্চতাটি নির্দেশ করে যে স্ট্রিংটি প্রিন্ট করার সময় কেমন দেখাবে।

getStringWidth#

V5 ব্রেইন স্ক্রিনে রেন্ডার করার সময় একটি স্ট্রিং-এর প্রস্থ পিক্সেলে ফেরত দেয়।

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

cstr

const char*

পরিমাপ করার জন্য টেক্সটটি একটি C-স্টাইল স্ট্রিং হিসেবে দিতে হবে (উদাহরণস্বরূপ, “Hello”)।

Return Values

ব্রেইন স্ক্রিনে রেন্ডার করার সময় স্ট্রিংটির প্রস্থ পিক্সেলে প্রকাশ করার জন্য একটি int32_t রিটার্ন করে।

Notes
  • ফেরত আসা প্রস্থ বর্তমানে নির্বাচিত স্ক্রিন ফন্ট উপর নির্ভর করে।

  • এই ফাংশনটি স্ট্রিংটিকে স্ক্রিনে না এঁকেই তার পরিমাপ করে।

  • ফেরত আসা প্রস্থটি নির্দেশ করে যে স্ট্রিংটি প্রিন্ট করার সময় কেমন দেখাবে।

printAt#

V5 ব্রেইন স্ক্রিনের একটি নির্দিষ্ট স্থানাঙ্কে টেক্সট, সংখ্যা বা বুলিয়ান মান প্রিন্ট করে।

Available Functions

1 — নির্দিষ্ট পিক্সেল অবস্থানে ফরম্যাট করা আউটপুট প্রিন্ট করে।

void printAt(
    int32_t    x,
    int32_t    y,
    const char* format,
    ... );

2 — নির্দিষ্ট পিক্সেল অবস্থানে ফরম্যাট করা আউটপুট প্রিন্ট করে এবং টেক্সটের ব্যাকগ্রাউন্ড অস্বচ্ছ হবে নাকি স্বচ্ছ হবে তা নির্ধারণ করে।

void printAt(
    int32_t    x,
    int32_t    y,
    bool       bOpaque,
    const char* format,
    ... );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int32_t

প্রিন্ট করার জন্য এক্স-অবস্থান, যা স্ক্রিন অরিজিনের সাপেক্ষে নির্ধারিত।

y

int32_t

স্ক্রিন অরিজিনের সাপেক্ষে প্রিন্ট করার y-অবস্থান।

bOpaque

bool

মুদ্রিত লেখাটি অস্বচ্ছভাবে নাকি স্বচ্ছভাবে আঁকা হবে তা নিয়ন্ত্রণ করে:

  • true — মুদ্রিত লেখার পটভূমি বর্তমান ফিল কালার ব্যবহার করে পূরণ করা হয়।
  • false — লেখাটি স্বচ্ছভাবে আঁকা হয় এবং পটভূমি পূরণ করা হয় না।

format

const char*

একটি ফরম্যাট স্ট্রিং যা স্ক্রিনে কী প্রিন্ট করা হবে তা নিয়ন্ত্রণ করে (উদাহরণস্বরূপ, “Score: %d”)।

…

ফরম্যাট স্ট্রিং-এ কমা দ্বারা পৃথক করে এক বা একাধিক অতিরিক্ত মান যোগ করা হয়।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে পরিবর্তন করা যেতে পারে।

  • মুদ্রিত টেক্সটে বর্তমান স্ক্রিন ফন্ট ব্যবহৃত হয়

  • মুদ্রিত লেখায় বর্তমান কলমের রঙ এবং ব্যবহৃত হয়।

  • ফরম্যাট স্ট্রিং ব্যবহার করার সময়, পাস করা মানগুলির সংখ্যা এবং প্রকার অবশ্যই স্ট্রিং-এর ফরম্যাট স্পেসিফায়ার-এর সাথে মিলতে হবে।

Examples
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে সাদা অক্ষরে "Center" লেখাটি স্ক্রিনের মাঝখানে রয়েছে।

clearScreen#

ব্রেইন স্ক্রিন থেকে সমস্ত অঙ্কন ও লেখা মুছে দেয় এবং কার্সরের অবস্থানকে সারি ১, কলাম ১-এ পুনরায় সেট করে।

Available Functions

1 — স্ক্রিনকে সম্পূর্ণ কালো করে দেয়।

void clearScreen();

2 — পূর্বনির্ধারিত বা কাস্টম রঙ অবজেক্ট ব্যবহার করে স্ক্রিন পরিষ্কার করে।

void clearScreen(
    const color& color );

3 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে স্ক্রিন পরিষ্কার করে।

void clearScreen(
    const char* color );

4 — একটি হিউ ভ্যালু ব্যবহার করে স্ক্রিন পরিষ্কার করে।

void clearScreen(
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

color

const color&

একটি color অবজেক্ট ব্যবহার করে স্ক্রিন পরিষ্কার করে। পূর্বনির্ধারিত রঙগুলির মধ্যে রয়েছে:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
এটি একটি কাস্টম রঙের অবজেক্ট ব্যবহার করতে পারে।

color

const char*

একটি স্ট্রিং হিসাবে উপস্থাপিত হেক্সাডেসিমাল রঙের মান ব্যবহার করে স্ক্রিন পরিষ্কার করে (উদাহরণস্বরূপ, “#000000”)।

hue

int

কালার হুইলের বিভিন্ন ডিগ্রিকে 0–359পরিসরের মধ্যে একটি পূর্ণসংখ্যা হিউ (hue) মান ব্যবহার করে স্ক্রিনটি পরিষ্কার করে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • hue প্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

একটি রঙের চাকা যেখানে ০ থেকে ৩৫৯ পর্যন্ত রঙের পরিসর দেখানো হচ্ছে, যেখানে লাল হলো ০, সবুজ হলো ১২০ এবং নীল হলো ২৪০।

Examples
// 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(blue);

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে সম্পূর্ণ মুদ্রণযোগ্য এলাকা উজ্জ্বল নীল।

setFont#

V5 ব্রেইন স্ক্রিনে প্রদর্শিত টেক্সটের জন্য ব্যবহৃত ফন্ট নির্ধারণ করে।

এটি print এর মতো স্ক্রিন টেক্সট ফাংশন ব্যবহার করার সময় পরবর্তী টেক্সট আউটপুটে প্রয়োগ করা ফন্ট নিয়ন্ত্রণ করে।

Available Functions
void setFont(
  fontType font );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

font

fontType

ফন্টটিকে নিম্নলিখিতগুলির মধ্যে একটিতে সেট করে:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
  • fontType::cjk16 — চীনা, জাপানি এবং কোরিয়ান অক্ষর প্রিন্ট করতে পারে।
    • সরলীকৃত চীনা — ২৮ নম্বর কলাম পর্যন্ত দেখা যাবে।
    • প্রথাগত চীনা — ২৮ নম্বর কলাম পর্যন্ত দেখা যাবে।
    • জাপানি (কাঞ্জি) — ২৮ নম্বর কলাম পর্যন্ত দেখা যাবে।
    • কোরিয়ান (হাঙ্গুল) — ৩০ নম্বর কলাম পর্যন্ত দেখা যাবে।
এই বিকল্পগুলো নিচে দেখানো হলো।

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট, যার উপরের বাম কোণে MONO 12 ফন্টে সাদা রঙে সংখ্যা এবং অক্ষর ছাপা আছে। এতে স্ক্রিনের প্রস্থের প্রায় এক-চতুর্থাংশ জুড়ে এক লাইনে AZ লেখা আছে। নিচের বাম কোণে লেখা আছে 80 কলাম এবং 20 সারি।
mono12

আগেরটির মতোই একই ছবি, তবে Mono 15 ফন্টে। এতে AZ এক লাইনে, স্ক্রিনের প্রায় অর্ধেক প্রস্থ জুড়ে দেখানো হয়েছে। নীচের বাম কোণে 68 কলাম এবং 16 সারি লেখা আছে।
mono15

আগেরটির মতোই একই ছবি, তবে Mono 20 ফন্টে। এতে AZ এক লাইনে, স্ক্রিনের প্রায় দুই-তৃতীয়াংশ প্রস্থ জুড়ে দেখানো হয়েছে। নীচের বাম কোণে 48 কলাম এবং 12 সারি লেখা আছে।
mono20

আগেরটির মতোই একই ছবি, তবে Mono 30 ফন্টে। এতে AZ লেখাটি এক লাইনে, স্ক্রিনের প্রায় পুরো প্রস্থ জুড়ে দেখা যাচ্ছে। নিচের বাম কোণে লেখা আছে 32 কলাম এবং 8 সারি।
mono30

আগেরটির মতোই একই ছবি, তবে Mono 40 ফন্টে। এতে AX এক লাইনে, স্ক্রিনের প্রস্থ জুড়ে দেখানো হয়েছে। নিচের বাম কোণে লেখা আছে 24 কলাম এবং 6 সারি।
mono40

আগেরটির মতোই একই ছবি, তবে Mono 60 ফন্টে। এতে AP এক লাইনে, স্ক্রিনের প্রস্থ জুড়ে দেখানো হয়েছে। নীচে ১৬টি কলাম এবং ৪টি সারি নির্দেশ করা আছে।
mono60

আগেরটির মতোই একই ছবি, তবে Prop 20 ফন্টে। এতে AZ এক লাইনে, স্ক্রিনের প্রায় দুই-তৃতীয়াংশ প্রস্থ জুড়ে দেখানো হয়েছে। নিচের বাম কোণে লেখা আছে 48 কলাম এবং 12 সারি।
prop20

আগেরটির মতোই একই ছবি, তবে Prop 30 ফন্টে। এতে AZ এক লাইনে দেখানো হয়েছে, যা প্রায় স্ক্রিনের প্রস্থ জুড়ে বিস্তৃত। নিচের বাম কোণে লেখা আছে ৩২টি কলাম এবং ৮টি সারি।
prop30

আগেরটির মতোই একই ছবি, তবে Prop 40 ফন্টে। এতে AU এক লাইনে দেখানো হয়েছে, যা স্ক্রিনের প্রস্থ জুড়ে বিস্তৃত। নিচের বাম কোণে লেখা আছে ২৪টি কলাম এবং ৬টি সারি।
prop40

আগেরটির মতোই একই ছবি, তবে Prop 60 ফন্টে। এতে AN এক লাইনে, স্ক্রিনের প্রস্থ জুড়ে দেখানো হয়েছে। নীচে লেখা আছে 15 কলাম এবং 4 সারি।
prop60

আগেরটির মতোই একই ছবি, তবে CJK 16 ফন্টে। এতে এক লাইনে AZ লেখা আছে, যা স্ক্রিনের প্রায় দুই-তৃতীয়াংশ জুড়ে বিস্তৃত। পরবর্তী লাইনগুলোতে সরলীকৃত চীনা, প্রথাগত চীনা, কোরিয়ান এবং জাপানি ভাষায় VEXcode লেখা আছে। একদম নিচে লেখা আছে ৪৩টি কলাম এবং ১২টি সারি।
fontType::cjk16

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Examples
// Print larger text
Brain.Screen.setFont(mono40);
Brain.Screen.print("VEX");

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে উপরের বাম কোণে ডিফল্টের চেয়ে বড় ফন্টে সাদা অক্ষরে VEX লেখা দেখা যাচ্ছে।


// Print in Chinese
Brain.Screen.setFont(fontType::cjk16);
Brain.Screen.print("VEX机器人");

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে উপরের বাম কোণে চীনা ফন্টে "VEX机器人" লেখাটি দেখা যাচ্ছে।

setPenWidth#

অঙ্কিত রেখা এবং আকৃতির রূপরেখার পুরুত্ব নির্ধারণ করে।

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

width

uint32_t

কলমের প্রস্থ, পিক্সেলে, ০ থেকে ৩২ পর্যন্ত।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • কলমের প্রস্থ drawLine, drawRectangle, এবং drawCircle এর মতো অঙ্কন ফাংশনগুলিতে প্রযোজ্য।

Examples
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে স্ক্রিনের উপরের বাম চতুর্থাংশে মোটা বর্ডারযুক্ত একটি আয়তক্ষেত্র প্রিন্ট করা আছে।

setPenColor#

টেক্সট, পিক্সেল, লাইন এবং শেপের আউটলাইনের রঙ নির্ধারণ করে।

Available Functions

1 — পূর্বনির্ধারিত অথবা কাস্টম রঙ অবজেক্ট ব্যবহার করে কলমের রঙ সেট করে।

void setPenColor(
    const color& color );

2 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে কলমের রঙ নির্ধারণ করে।

void setPenColor(
    const char* color );

3 — হিউ ভ্যালু ব্যবহার করে পেনের রঙ নির্ধারণ করে।

void setPenColor(
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

color

const color&

Sets the pen color using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent

color

const char*

একটি স্ট্রিং হিসাবে উপস্থাপিত হেক্সাডেসিমাল রঙের মান ব্যবহার করে কলমের রঙ সেট করে (উদাহরণস্বরূপ, “#FF0000”)।

hue

int

0থেকে0পর্যন্ত পরিসরের একটি পূর্ণসংখ্যা হিউ (hue) মান ব্যবহার করে পেনের রঙ নির্ধারণ করে, যা একটি কালার হুইলের বিভিন্ন পর্যায়কে নির্দেশ করে (উদাহরণস্বরূপ, 359 হলো লাল, 120 হলো সবুজ এবং 240 হলো নীল)।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • প্রজেক্টের শুরুতে পেনের ডিফল্ট রঙ হলো white।

  • কলমের রঙ ব্যবহার করা হয় আকারের রূপরেখা (যেমন drawCircle বা drawRectangle দিয়ে), পাঠ্য এবং সংখ্যাসূচক আউটপুট (print এবং printAt দিয়ে), এবং drawPixel দিয়ে আঁকা স্বতন্ত্র পিক্সেলের জন্য।

  • hue প্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

একটি রঙের চাকা যেখানে ০ থেকে ৩৫৯ পর্যন্ত রঙের পরিসর দেখানো হচ্ছে, যেখানে লাল হলো ০, সবুজ হলো ১২০ এবং নীল হলো ২৪০।

Examples
// Draw a rectangle with orange borders
Brain.Screen.setPenColor(orange);
Brain.Screen.drawRectangle(50, 50, 130, 60);

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে স্ক্রিনের উপরের বাম চতুর্থাংশে কমলা রঙে আঁকা একটি আয়তক্ষেত্র দেখা যাচ্ছে।

setFillColor#

আকৃতি আঁকার সময় ব্যবহৃত ফিল কালার নির্ধারণ করে।

Available Functions

1 — পূর্বনির্ধারিত অথবা কাস্টম কালার অবজেক্ট ব্যবহার করে ফিল কালার সেট করে।

void setFillColor(
    const color& color );

2 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে ফিল কালার নির্ধারণ করে।

void setFillColor(
    const char* color );

3 — হিউ ভ্যালু ব্যবহার করে ফিল কালার নির্ধারণ করে।

void setFillColor(
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

color

const color&

Sets the fill color using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent

color

const char*

একটি স্ট্রিং হিসাবে উপস্থাপিত হেক্সাডেসিমাল রঙের মান ব্যবহার করে ফিল কালার সেট করে (উদাহরণস্বরূপ, “#00FF00”)।

hue

int

0থেকে0পর্যন্ত পরিসরের একটি পূর্ণসংখ্যা হিউ (hue) মান ব্যবহার করে ফিল কালার সেট করে, যা একটি কালার হুইলের বিভিন্ন ডিগ্রিকে বোঝায় (উদাহরণস্বরূপ, 359 হলো লাল, 120 হলো সবুজ এবং 240 হলো নীল)।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • প্রজেক্টের শুরুতে ডিফল্ট ফিল কালার হলো black।

  • ফিল কালার শেপের ভেতরের অংশের জন্য ব্যবহৃত হয় (যেমন drawCircle অথবা drawRectangle এর ক্ষেত্রে)।

  • ফিল কালারটি প্রিন্ট করা টেক্সটের ব্যাকগ্রাউন্ড কালার হিসেবে ব্যবহৃত হয় (যেমন print এবং printAt এর ক্ষেত্রে)।

    • যদি মুদ্রিত লেখার সাথে transparent ব্যবহার করা হয়, তাহলে পটভূমি হবে black।

  • hue প্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

একটি রঙের চাকা যেখানে ০ থেকে ৩৫৯ পর্যন্ত রঙের পরিসর দেখানো হচ্ছে, যেখানে লাল হলো ০, সবুজ হলো ১২০ এবং নীল হলো ২৪০।

Examples
// Draw a rectangle filled with purple
  Brain.Screen.setFillColor(purple);
  Brain.Screen.drawRectangle(50, 100, 130, 60);

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে স্ক্রিনের নিচের বাম চতুর্থাংশে বেগুনি রঙে ভরা একটি আয়তক্ষেত্র দেখা যাচ্ছে।

setOrigin#

ব্রেইন স্ক্রিনে অঙ্কন এবং স্থানাঙ্ক-ভিত্তিক মুদ্রণের জন্য ব্যবহৃত মূলবিন্দু নির্ধারণ করে।

Available Functions
void setOrigin(
  int32_t x,
  int32_t y );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int32_t

ব্রেইন স্ক্রিনের উপরের-বাম কোণার সাপেক্ষে মূলবিন্দুর x-অবস্থান ০ থেকে ৪৭৯ পর্যন্ত।

y

int32_t

ব্রেইন স্ক্রিনের উপরের-বাম কোণার সাপেক্ষে মূলবিন্দুর y-অবস্থান ০ থেকে ২৩৯ পর্যন্ত।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • ডিফল্ট মূলবিন্দু হল স্ক্রিনের উপরের-বাম কোণ, স্থানাঙ্ক (0, 0)।

  • drawLine, drawRectangle, drawCircle, এবং printAt এর মতো স্থানাঙ্ক ফাংশনগুলিতে মূলবিন্দু প্রযোজ্য।

  • পুনরায় পরিবর্তন না করা পর্যন্ত বা প্রকল্পটি রিসেট না করা পর্যন্ত মূল মানটি কার্যকর থাকবে।

setClipRegion#

স্ক্রিনে একটি আয়তাকার এলাকা নির্ধারণ করে, যেখানে সমস্ত অঙ্কন এবং লেখা সীমাবদ্ধ থাকবে। এই অঞ্চলের বাইরের কোনো বিষয়বস্তু প্রদর্শিত হবে না।

Available Functions
void setClipRegion(
  int x,
  int y,
  int width,
  int height );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int

ক্লিপ অঞ্চলের উপরের-বাম কোণার x-স্থানাঙ্ক, যা ০ থেকে ৪৭৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

y

int

ক্লিপ অঞ্চলের উপরের বাম কোণার y-স্থানাঙ্ক, যা ০ থেকে ২৩৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

width

int

ক্লিপ অঞ্চলের প্রস্থ পিক্সেলে, যা ০ থেকে ৪৭৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

height

int

ক্লিপ অঞ্চলের উচ্চতা পিক্সেলে, যা ০ থেকে ২৩৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • ড্রয়িং ফাংশনগুলো ক্লিপ অঞ্চলের বাইরে থাকলেও সম্পাদিত হয়, কিন্তু শুধুমাত্র অঞ্চলের ভেতরের অংশটুকুই দৃশ্যমান থাকে।

  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে পরিবর্তন করা যেতে পারে।

  • ক্লিপ অঞ্চলটি শুধুমাত্র বর্তমান থ্রেডের জন্য প্রযোজ্য।

  • একটি নতুন ক্লিপ অঞ্চল সেট করলে তা বর্তমান থ্রেডের জন্য পূর্বে সেট করা যেকোনো ক্লিপ অঞ্চলকে প্রতিস্থাপন করে।

Examples
// 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!");

V5 ব্রেইনের স্ক্রিনের একটি স্ক্রিনশট যেখানে সাদা অক্ষরে "Cut of" লেখা আছে এবং এর ঠিক নিচে উপরের বাম চতুর্ভাগে একটি নিরেট লাল বর্গক্ষেত্র রয়েছে, যা ক্লিপ অঞ্চলের মধ্যে যা প্রিন্ট করা হয় তা প্রতিফলিত করে।

drawPixel#

V5 ব্রেইন স্ক্রিনে নির্বাচিত x এবং y পিক্সেল অবস্থানে একটি পিক্সেল অঙ্কন করে।

Available Functions
void drawPixel(
  int x,
  int y );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int

যে x-স্থানাঙ্কে পিক্সেলটি আঁকা হবে, তা ০ থেকে ৪৭৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে।

y

int

যে y-স্থানাঙ্কে পিক্সেলটি আঁকা হবে, তা ০ থেকে ২৩৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • setPenColor দিয়ে সেট করা বর্তমান পেনের রঙ ব্যবহার করে পিক্সেল আঁকা হয়।

  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে সেট করা যেতে পারে।

  • নির্দিষ্ট পিক্সেল অবস্থানটি স্ক্রিনের সীমার বাইরে হলে, পিক্সেলটি আঁকা হয় না।

Examples
// Draw the pixels marking the corners of a square
Brain.Screen.drawPixel(250, 100);
Brain.Screen.drawPixel(275, 100);
Brain.Screen.drawPixel(250, 125);
Brain.Screen.drawPixel(275, 125);

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে স্ক্রিনের কেন্দ্রের কাছাকাছি একটি বর্গক্ষেত্রের কোণাগুলো দেখানো হচ্ছে।

drawLine#

V5 ব্রেইন স্ক্রিনে দুটি বিন্দুকে সংযুক্ত করে একটি সরলরেখা আঁকে।

Available Functions
void drawLine(
  int x1,
  int y1,
  int x2,
  int y2 );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x1

int

রেখাটির শুরুর x-স্থানাঙ্ক, যা ০ থেকে ৪৭৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে।

y1

int

রেখাটির শুরুর y-স্থানাঙ্ক, যা ০ থেকে ২৩৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

x2

int

রেখাটির শেষ x-স্থানাঙ্ক, যা ০ থেকে ৪৭৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

y2

int

রেখাটির শেষ y-স্থানাঙ্ক, যা ০ থেকে ২৩৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • setPenColor দিয়ে সেট করা বর্তমান পেনের রঙ ব্যবহার করে লাইন আঁকা হয়।

  • লাইনের প্রস্থ setPenWidth দিয়ে সেট করা বর্তমান পেনের প্রস্থ দ্বারা নির্ধারিত হয়।

  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে সেট করা যেতে পারে।

  • রেখার কোনো অংশ যদি স্ক্রিনের সীমার বাইরে থাকে, তবে কেবল দৃশ্যমান অংশটিই আঁকা হয়।

Examples
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশটে দেখা যাচ্ছে যে, মাঝখান দিয়ে উপরের বাম কোণা থেকে নিচের ডান কোণা পর্যন্ত একটি পাতলা তির্যক রেখা রয়েছে।

drawRectangle#

V5 ব্রেইন স্ক্রিনে নির্দিষ্ট অবস্থান ও আকারে একটি আয়তক্ষেত্র অঙ্কন করে।

Available Functions

1 — বর্তমানে কনফিগার করা ফিল কালার ব্যবহার করে একটি আয়তক্ষেত্র আঁকে এবং পূরণ করে।

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 );

4 — একটি হিউ ভ্যালু ব্যবহার করে একটি আয়তক্ষেত্র আঁকে এবং পূরণ করে।

void drawRectangle(
    int x,
    int y,
    int width,
    int height,
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int

আয়তক্ষেত্রটির উপরের-বাম কোণার x-স্থানাঙ্ক, যা ০ থেকে ৪৭৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

y

int

আয়তক্ষেত্রটির উপরের-বাম কোণার y-স্থানাঙ্ক, যা ০ থেকে ২৩৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

width

int

আয়তক্ষেত্রটির প্রস্থ, যা ০ থেকে ৪৭৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

height

int

আয়তক্ষেত্রটির উচ্চতা, যা ০ থেকে ২৩৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে।

color

const color&

একটি color অবজেক্ট ব্যবহার করে আয়তক্ষেত্রটি পূরণ করে। পূর্বনির্ধারিত রঙগুলির মধ্যে রয়েছে:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
এটি একটি কাস্টম রঙের অবজেক্ট ব্যবহার করতে পারে।

color

const char*

একটি হেক্সাডেসিমাল রঙের মান ব্যবহার করে আয়তক্ষেত্রটি পূরণ করে (উদাহরণস্বরূপ, “#FF0000”)।

hue

int

0–359 পরিসরের একটি হিউ মান ব্যবহার করে আয়তক্ষেত্রটি পূরণ করে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • setPenColor দিয়ে সেট করা বর্তমান পেনের রঙ ব্যবহার করে আয়তক্ষেত্রের রূপরেখা আঁকা হয়।

  • setPenWidth দিয়ে সেট করা বর্তমান পেনের প্রস্থ দ্বারা আউটলাইনের পুরুত্ব নির্ধারণ করা হয়।

  • যখন কোনও color প্যারামিটার প্রদান করা হয় না, তখন আয়তক্ষেত্রের অভ্যন্তরটি setFillColor দিয়ে সেট করা বর্তমান ফিল রঙ ব্যবহার করে পূরণ করা হয়।

  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে পরিবর্তন করা যেতে পারে।

  • যদি আয়তক্ষেত্রটির কোনো অংশ স্ক্রিনের সীমার বাইরে থাকে, তবে কেবল দৃশ্যমান অংশটিই আঁকা হয়।

  • hue প্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

একটি রঙের চাকা যেখানে ০ থেকে ৩৫৯ পর্যন্ত রঙের পরিসর দেখানো হচ্ছে, যেখানে লাল হলো ০, সবুজ হলো ১২০ এবং নীল হলো ২৪০।

Examples
// Draw a rectangle on the screen
Brain.Screen.drawRectangle(50, 50, 130, 60);

V5 ব্রেইনের স্ক্রিনের একটি স্ক্রিনশটে উপরের বাম চতুর্থাংশে একটি পাতলা সাদা বর্ডার সহ একটি আয়তক্ষেত্র প্রিন্ট করা দেখা যাচ্ছে।

drawCircle#

V5 ব্রেইন স্ক্রিনে নির্দিষ্ট অবস্থান ও ব্যাসার্ধে একটি বৃত্ত অঙ্কন করে।

Available Functions

1 — বর্তমানে কনফিগার করা ফিল কালার ব্যবহার করে একটি বৃত্ত আঁকে এবং পূরণ করে।

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 );

4 — একটি হিউ ভ্যালু ব্যবহার করে একটি বৃত্ত আঁকে এবং পূরণ করে।

void drawCircle(
    int x,
    int y,
    int radius,
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int

বৃত্তের কেন্দ্রের x-স্থানাঙ্ক, যা ০ থেকে ৪৭৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

y

int

বৃত্তের কেন্দ্রের y-স্থানাঙ্ক, যা ০ থেকে ২৩৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

radius

int

বৃত্তটির ব্যাসার্ধ, যা ০ থেকে ২৩৯ পিক্সেলের মধ্যে একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

color

const color&

একটি color অবজেক্ট ব্যবহার করে বৃত্তটি পূরণ করে। পূর্বনির্ধারিত রঙগুলির মধ্যে রয়েছে:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
এটি একটি কাস্টম রঙের অবজেক্ট ব্যবহার করতে পারে।

color

const char*

হেক্সাডেসিমাল রঙের মান ব্যবহার করে বৃত্তটি পূরণ করে (উদাহরণস্বরূপ, “#FF0000”)।

hue

int

0–359 পরিসরের একটি হিউ মান ব্যবহার করে বৃত্তটি পূরণ করে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • setPenColor দিয়ে সেট করা বর্তমান পেনের রঙ ব্যবহার করে বৃত্তের রূপরেখা আঁকা হয়।

  • setPenWidth দিয়ে সেট করা বর্তমান পেনের প্রস্থ দ্বারা আউটলাইনের পুরুত্ব নির্ধারণ করা হয়।

  • যখন কোনও color প্যারামিটার প্রদান করা হয় না, তখন বৃত্তের অভ্যন্তরটি setFillColor দিয়ে সেট করা বর্তমান ফিল রঙ ব্যবহার করে পূরণ করা হয়।

  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে পরিবর্তন করা যেতে পারে।

  • hue প্যারামিটার মানটি একটি বৃত্তাকার কালার হুইলের উপর ভিত্তি করে নির্ধারিত হয়, যেমনটি নিচে দেখানো হয়েছে, যেখানে মানগুলো হুইলটির চারপাশের ডিগ্রি নির্দেশ করে (উদাহরণস্বরূপ, লাল ০°-এর কাছাকাছি, সবুজ ১২০°-এর কাছাকাছি এবং নীল ২৪০°-এর কাছাকাছি)।

একটি রঙের চাকা যেখানে ০ থেকে ৩৫৯ পর্যন্ত রঙের পরিসর দেখানো হচ্ছে, যেখানে লাল হলো ০, সবুজ হলো ১২০ এবং নীল হলো ২৪০।

Examples
// Draw a circle on the screen
Brain.Screen.drawCircle(240, 120, 40);

V5 ব্রেইন স্ক্রিনের একটি স্ক্রিনশটে কেন্দ্রে একটি পাতলা সাদা বর্ডার আঁকা একটি বৃত্ত দেখা যাচ্ছে।

drawImageFromFile#

SD কার্ডে সংরক্ষিত একটি ইমেজ ফাইল ব্যবহার করে V5 ব্রেইন স্ক্রিনে একটি ছবি আঁকে।

Available Functions
bool drawImageFromFile(
  const char* name,
  int x,
  int y );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

name

const char*

এসডি কার্ডে থাকা ইমেজের ফাইলের নাম। ফাইলটির এক্সটেনশন অবশ্যই .bmp ( .bmp অথবা .png ( .png হতে হবে।

x

int

এক্স-স্থানাঙ্ক, যা ০ থেকে ৪৭৯ পিক্সেলের মধ্যে থাকবে, যেখানে ছবিটির বাম প্রান্ত আঁকা হবে।

y

int

y-স্থানাঙ্ক, যা ০ থেকে ২৩৯ পিক্সেলের মধ্যে থাকবে, যেখানে ছবিটির উপরের প্রান্ত আঁকা হবে।

Return Values

ছবিটি সফলভাবে আঁকা হয়েছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান রিটার্ন করে:

  • true — ছবিটি সফলভাবে লোড হয়েছে এবং স্ক্রিনে আঁকা হয়েছে।
  • false — ছবিটি আঁকা যায়নি (উদাহরণস্বরূপ, যদি ফাইলটি বিদ্যমান না থাকে বা অবৈধ হয়)।

Notes
  • সমর্থিত ছবির ফরম্যাটগুলো হলো .bmp এবং .png।

  • ইমেজ ফাইলের সাইজ অবশ্যই 512 KB এর বেশি হবে না।

    • ফাইলের আকার কমাতে ৮-বিট আরএলই এনকোডিং ব্যবহার করার পরামর্শ দেওয়া হয়।

  • সর্বোচ্চ সমর্থিত ছবির মাপ হলো ব্রেইন স্ক্রিনের আকারের সমান (প্রায় ৪৭৯ x ২৩৯ পিক্সেল)।

  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে পরিবর্তন করা যেতে পারে।

Examples
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);

render#

ব্রেইনের স্ক্রিনের জন্য ডাবল বাফারিং সক্ষম করে। একবার কল করা হলে, যেকোনো ড্রয়িং ফাংশন (যেমন টেক্সট, শেপ বা ইমেজ) প্রোজেক্টের বাকি অংশের জন্য আর তাৎক্ষণিকভাবে প্রদর্শিত হবে না। পরিবর্তে, আপডেটগুলো কেবল তখনই দেখানো হবে যখন render আবার ব্যবহার করা হবে। এটি আরও মসৃণ এবং নিয়ন্ত্রিত স্ক্রিন আপডেটের সুযোগ করে দেয়, কিন্তু এর মানে হলো render ব্যবহার না করা পর্যন্ত কিছুই দৃশ্যমান হবে না।

Available Functions

1 — ডাবল বাফারিং সক্ষম করে অথবা ব্যাক বাফারকে স্ক্রিনে রেন্ডার করে।

bool render();

2 — ভার্টিকাল সিঙ্ক আচরণ নিয়ন্ত্রণ এবং ঐচ্ছিক শিডিউলার নির্বাহের সুবিধা সহ ব্যাক বাফারকে স্ক্রিনে রেন্ডার করে।

bool render(
    bool bVsyncWait,
    bool bRunScheduler = true );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

bVsyncWait

bool

​

  • true — ভিজ্যুয়াল টিয়ারিং কমাতে রেন্ডারিং করার আগে স্ক্রিনের ভার্টিকাল রিফ্রেশের জন্য অপেক্ষা করুন।
  • false — রেন্ডারিং করার আগে স্ক্রিনের ভার্টিকাল রিফ্রেশের জন্য অপেক্ষা করবেন না।

bRunScheduler

bool

ঐচ্ছিক।

  • true (ডিফল্ট) — রেন্ডার করার জন্য অপেক্ষা করার সময় ব্যাকগ্রাউন্ড টাস্ক চলার অনুমতি দিন।
  • false — রেন্ডার করার জন্য অপেক্ষা করার সময় ব্যাকগ্রাউন্ড টাস্ক চলার অনুমতি দেবেন না।

Return Values

বাফারে সংরক্ষিত ড্রয়িংগুলো স্ক্রিনে সফলভাবে রেন্ডার করা হয়েছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান রিটার্ন করে:

  • true — ড্রয়িংগুলো স্ক্রিনে সফলভাবে রেন্ডার করা হয়েছে।
  • false — ড্রয়িংগুলো স্ক্রিনে রেন্ডার করা যায়নি।
  • Notes
    • render কল করলে, প্রোজেক্টের বাকি অংশের জন্য render ব্যবহার করতে হবে।

    Examples
    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();
    
    

pressing#

ভি৫ ব্রেইন স্ক্রিনটি বর্তমানে চাপা আছে কিনা তা জানায়।

Available Functions
bool pressing();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

স্ক্রিনের বর্তমান চাপা অবস্থা নির্দেশ করে একটি বুলিয়ান মান রিটার্ন করে:true — স্ক্রিনটি বর্তমানে চাপা আছে। অথবা false — স্ক্রিনটি চাপা নেই।

Examples
// Change the screen's color after it's pressed
while (Brain.Screen.pressing() == false) {
  wait(5, msec);
}

Brain.Screen.setFillColor(green);
Brain.Screen.drawRectangle(0, 0, 479, 239);


// Display different messages after the screen is pressed
while (!Brain.Screen.pressing()) {
  wait(5, msec);
}
Brain.Screen.print("First message!");
Brain.Screen.newLine();

// Lift finger to press the screen again
while (Brain.Screen.pressing()) {
  wait(5, msec);
}
while (Brain.Screen.pressing() == false) {
  wait(5, msec);
}
Brain.Screen.print("Second message!");
Brain.Screen.newLine();

xPosition#

V5 ব্রেইন স্ক্রিনে সর্বশেষ চাপ দেওয়া স্থানের x-স্থানাঙ্ক ফেরত দেয়।

Available Functions
int32_t xPosition();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

সর্বশেষ স্ক্রিন প্রেসের x-স্থানাঙ্ক (পিক্সেল ০ থেকে ৪৭৯ পর্যন্ত) বোঝাতে একটি int32_t রিটার্ন করে।

Examples
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
  wait(5, msec);
}

Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);

yPosition#

V5 ব্রেইন স্ক্রিনে সর্বশেষ চাপ দেওয়া স্থানের y-স্থানাঙ্ক ফেরত দেয়।

Available Functions
int32_t yPosition();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

সর্বশেষ স্ক্রিন প্রেসের y-স্থানাঙ্ক (পিক্সেল ০ থেকে ২৩৯ পর্যন্ত) বোঝাতে একটি int32_t রিটার্ন করে।

Examples
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
  wait(5, msec);
}

Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);

pressed#

V5 ব্রেইন স্ক্রিন চাপলে যে ফাংশনটি কল করা হবে, তা রেজিস্টার করে।

Available Functions

1 — স্ক্রিনে চাপ দিলে একটি ফাংশন কল করা হয়।

void pressed(
    void (*callback)(void)
);

2 — স্ক্রিনে চাপ দিলে একটি ফাংশন কল করা হয় এবং সেই কলব্যাক ফাংশনে ব্যবহারকারী-নির্ধারিত একটি আর্গুমেন্ট পাঠানো হয়।

void pressed(
    void (*callback)(void*),
    void* arg );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

callback

void (*)(void)

একটি ফাংশন যা স্ক্রিনে চাপ দিলে কল করা হয়।

callback

void ()(void)

একটি ফাংশন যা স্ক্রিনে চাপ দিলে কল করা হয় এবং একটি ব্যবহারকারী-নির্ধারিত আর্গুমেন্ট গ্রহণ করে।

arg

void*

ব্যবহারকারী-নির্ধারিত একটি মান, যা স্ক্রিন চাপলে কলব্যাক ফাংশনে পাঠানো হয়।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • প্রতিবার ব্রেইন স্ক্রিন চাপলে কলব্যাক ফাংশনটি কার্যকর হয়।

  • একবারে কেবল একটি কলব্যাক ফাংশন নিবন্ধন করা যায়; pressed চাপলে পূর্ববর্তী কলব্যাকটি প্রতিস্থাপিত হয়।

  • কলব্যাক ফাংশনটিকে অবশ্যই void রিটার্ন করতে হবে।

Examples

কলব্যাক ফাংশনটি সংজ্ঞায়িত করুন ( int main() এর বাইরে)

// Tracks how many times the screen is pressed.
void onScreenPressed(void* arg) {
  int* count = (int*)arg;
  (*count)++;

  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1, 1);
  Brain.Screen.print("Pressed %d times", *count);
}

int main() এর ভিতরে কলব্যাকটি নিবন্ধন করুন

int main() {
  int pressCount = 0;

  // Register the callback and pass a value to update.
  Brain.Screen.pressed(onScreenPressed, &pressCount);

  while (true) {
    wait(20, msec);
  }
}

released#

V5 ব্রেইন স্ক্রিনটি চাপার পর ছেড়ে দিলে যে ফাংশনটি কল করা হবে, তা রেজিস্টার করে।

Available Functions

1 — স্ক্রিন চেপে রাখার পর তা ছেড়ে দিলে একটি ফাংশন কল করা হয়।

void released(
    void (*callback)(void)
);

2 — স্ক্রিন চেপে রাখার পর তা ছেড়ে দিলে একটি ফাংশন কল করে এবং কলব্যাক ফাংশনে একটি ব্যবহারকারী-সংজ্ঞায়িত আর্গুমেন্ট প্রেরণ করে।

void released(
    void (*callback)(void*),
    void* arg );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

callback

void (*)(void)

এমন একটি ফাংশন যা স্ক্রিন চেপে রাখার পর ছেড়ে দিলে কল করা হয়।

callback

void ()(void)

এমন একটি ফাংশন যা স্ক্রিন চেপে রাখার পর ছেড়ে দিলে কল করা হয় এবং এটি একটি ব্যবহারকারী-নির্ধারিত আর্গুমেন্ট গ্রহণ করে।

arg

void*

ব্যবহারকারী-নির্ধারিত একটি মান, যা স্ক্রিন চেপে রাখার পর ছেড়ে দিলে কলব্যাক ফাংশনে পাঠানো হয়।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • ব্রেইন স্ক্রিনটি একবার চেপে ধরার পর প্রতিবার ছেড়ে দিলে কলব্যাক ফাংশনটি কার্যকর হয়।

  • একবারে কেবল একটি কলব্যাক ফাংশন নিবন্ধন করা যায়; released আবার পূর্ববর্তী কলব্যাকটিকে প্রতিস্থাপন করে।

  • কলব্যাক ফাংশনটিকে অবশ্যই void রিটার্ন করতে হবে।

Examples

কলব্যাক ফাংশনটি সংজ্ঞায়িত করুন ( int main() এর বাইরে)

// Tracks how many times the screen is released.
void onScreenReleased(void* arg) {
  int* count = (int*)arg;
  (*count)++;

  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1, 1);
  Brain.Screen.print("Released %d times", *count);
}

int main() এর ভিতরে কলব্যাকটি নিবন্ধন করুন

int main() {
  int releaseCount = 0;

  // Register the callback and pass a value to update.
  Brain.Screen.released(onScreenReleased, &releaseCount);

  while (true) {
    wait(20, msec);
  }
}