স্ক্রিন#

ভূমিকা#

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

EXP Brain-এর স্ক্রিনে টেক্সট প্রিন্ট করার জন্য একটি নির্দিষ্ট সংখ্যক সারি এবং কলাম থাকে।

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

অঙ্কনের জন্য ব্রেইনটির রেজোলিউশন হলো ১৫৯ x ১০৭ পিক্সেল।

VEX ব্রেইন স্ক্রিনের একটি চিহ্নিত গ্রিড ডায়াগ্রাম যেখানে সারি, কলাম, পিক্সেল মাত্রা এবং স্থানাঙ্ক দেখানো হয়েছে, এবং লাল রেখা দ্বারা গ্রিডটি চিহ্নিত করা হয়েছে।

অ্যাক্সেস#

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 EXP 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 — ডাবল বাফারিং সক্ষম করে অথবা ব্যাক বাফারকে স্ক্রিনে রেন্ডার করে।

যেকোনো screen মেম্বার ফাংশন কল করার আগে, নিচে দেখানো অনুযায়ী একটি brain ইনস্ট্যান্স তৈরি করতে হবে:

// Create the EXP Brain
brain Brain = brain();

print#

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

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

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

setCursor#

EXP Brain স্ক্রিনের একটি নির্দিষ্ট সারি এবং কলামে কার্সার নিয়ে যায়। পরবর্তী 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 10
Brain.Screen.setCursor(3, 10);
Brain.Screen.print("R3, C10");

EXP ব্রেইনের একটি স্ক্রিনশট যেখানে স্ক্রিনের মাঝখানের কাছাকাছি উপরের অংশে, ঐ অবস্থানে সারি 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");

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

clearLine#

EXP Brain স্ক্রিনের কোনো একটি সারি থেকে লেখা মুছে দেয়।

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#

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

Available Functions
int32_t row();

Parameters

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

Return Values

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

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

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

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

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

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

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

column#

EXP Brain স্ক্রিনে যে কলামে টেক্সট প্রিন্ট করা হবে, সেটি রিটার্ন করে।

Available Functions
int32_t column();

Parameters

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

Return Values

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

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

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

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

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

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

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

getStringHeight#

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

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

cstr

const char*

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

Return Values

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

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

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

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

getStringWidth#

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

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

cstr

const char*

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

Return Values

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

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

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

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

printAt#

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

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 the number 1 at pixel (100, 40)
Brain.Screen.printAt(100, 40, "1");

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

setFont#

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

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

Available Functions
void setFont(
  fontType font );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

font

fontType

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

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
এই বিকল্পগুলি নীচে দেখানো হলো।

মস্তিষ্কের স্ক্রিনে মনো ১২ সাইজের ফন্টে সংখ্যা এবং অক্ষর প্রিন্ট করা ছিল। এতে A থেকে Z পর্যন্ত সমস্ত সংখ্যা দেখা যাচ্ছিল। স্ক্রিনের নীচে লেখা ছিল ৯টি সারি, ২৬টি কলাম।
mono12

মস্তিষ্কের স্ক্রিনে মনো ১৫ সাইজের ফন্টে সংখ্যা এবং অক্ষর প্রিন্ট করা ছিল। এতে A থেকে T পর্যন্ত সমস্ত সংখ্যা দেখা যাচ্ছিল। স্ক্রিনের নীচে লেখা ছিল ৭টি সারি, ২২টি কলাম।
mono15

মস্তিষ্কের স্ক্রিনে মনো ২০ সাইজের ফন্টে সংখ্যা এবং অক্ষর প্রিন্ট করা ছিল। এতে A থেকে P পর্যন্ত সমস্ত সংখ্যা দেখা যাচ্ছিল। স্ক্রিনের নীচে লেখা ছিল ৫টি সারি, ১৬টি কলাম।
mono20

মস্তিষ্কের স্ক্রিনে মনো ৩০ সাইজের ফন্টে সংখ্যা এবং অক্ষর প্রিন্ট করা ছিল। এতে A থেকে J পর্যন্ত দেখানো হয়েছে। স্ক্রিনের নীচে লেখা ছিল R:3 C:10।
mono30

মস্তিষ্কের স্ক্রিনে মনো ৪০ সাইজের ফন্টে সংখ্যা এবং অক্ষর প্রিন্ট করা ছিল। স্ক্রিনের নীচে লেখা ছিল R:2 C:8।
mono40

মস্তিষ্কের স্ক্রিনে mono 60 সাইজের ফন্টে সংখ্যা এবং অক্ষর প্রিন্ট করা হয়েছে। শুধুমাত্র MON60 প্রদর্শিত হচ্ছে।
mono60

মস্তিষ্কের স্ক্রিনে prop 20 ফন্ট সাইজে সংখ্যা এবং অক্ষর প্রিন্ট করা ছিল। এতে A থেকে W পর্যন্ত সমস্ত সংখ্যা দেখা যাচ্ছিল। স্ক্রিনের নীচে লেখা ছিল ৫টি সারি, ১৬টি কলাম।
prop20

মস্তিষ্কের স্ক্রিনে প্রপ ৩০ ফন্ট সাইজে সংখ্যা এবং অক্ষর প্রিন্ট হয়েছে। এতে A থেকে P পর্যন্ত দেখানো হচ্ছে। স্ক্রিনের নীচে লেখা আছে R:3 C:10।
prop30

মস্তিষ্কের স্ক্রিনে প্রপ ৪০ ফন্ট সাইজের সংখ্যা এবং অক্ষর প্রিন্ট হয়েছে। স্ক্রিনের নীচে লেখা আছে R:2 C:8।
prop40

মস্তিষ্কের স্ক্রিনে prop 60 ফন্ট সাইজের সংখ্যা এবং অক্ষর প্রিন্ট করা হয়েছে। শুধুমাত্র PROP60 প্রদর্শিত হচ্ছে।
prop60

Return Values

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

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

EXP ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে উপরের বাম কোণে ডিফল্টের চেয়ে বড় ফন্টে সাদা অক্ষরে 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(20, 20, 75, 50);

EXP ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে স্ক্রিনের বাম দিকে মোটা বর্ডারযুক্ত একটি আয়তক্ষেত্র প্রিন্ট করা আছে।

setPenColor#

রেখা, আকৃতি এবং লেখা আঁকার জন্য ব্যবহৃত কলমের রঙ নির্ধারণ করে।

Available Functions

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

void setPenColor(
    const color& color );

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

void setPenColor(
    const char* color );

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

void setPenColor(
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

color

const color&

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

  • 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(20, 20, 75, 50);

EXP ব্রেইন স্ক্রিনের একটি স্ক্রিনশট যেখানে স্ক্রিনের বাম দিকে কমলা রঙে আঁকা একটি আয়তক্ষেত্র দেখা যাচ্ছে।

setFillColor#

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

Available Functions

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

void setFillColor(
    const color& color );

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

void setFillColor(
    const char* color );

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

void setFillColor(
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

color

const color&

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

  • 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(20, 20, 75, 50);

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

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

drawPixel#

EXP ব্রেইন স্ক্রিনের নির্বাচিত 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(50, 50);
Brain.Screen.drawPixel(50, 75);
Brain.Screen.drawPixel(75, 50);
Brain.Screen.drawPixel(75, 75);

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

drawLine#

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

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, 159, 107);

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

drawRectangle#

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

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(20, 20, 80, 30);

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

drawCircle#

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

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(80, 50, 20);

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

drawImageFromFile#

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

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