1. খেলার মাঠের কোষগুলির সাথে কাজ করা

এটা দারুণ যে আমরা খেলার মাঠকে কোষে ভাগ করতে পারি। কিন্তু আমরা নিজেদের কোষ দিয়ে কি করতে পারি?

খেলার মাঠের প্রতিটি ঘরের জন্য, আমরা সেট করতে পারি:

  • কোষের রঙ (কোষের পটভূমির রঙ);
  • পাঠ্য (এটি পাঠ্য বা একটি সংখ্যা হতে পারে);
  • লেখার রঙ;
  • ঘরের আকারের শতাংশ হিসাবে পাঠ্যের আকার।

খেলার ক্ষেত্রের কোষগুলির সাথে কাজ করার পদ্ধতিগুলি বিবেচনা করা যাক:

void setCellColor(int x, int y, Color color)(x, y)সমান স্থানাঙ্ক সহ ঘরের রঙ সেট করে color

উদাহরণ:

setCellColor(0, 0, Color.RED);
setCellColor(3, 6, Color.BLACK);
setCellColor(6, 8, Color.NONE);

Color getCellColor(int x, int y)স্থানাঙ্কের সাথে ঘরের রঙ ফেরত দেয় (x, y)

উদাহরণ:

Color myColor = getCellColor(2, 0);

void setCellValue(int x, int y, String value)String valueস্থানাঙ্ক সহ ঘরে পাঠ্য বরাদ্দ করে (x, y)

উদাহরণ:

setCellValue(3, 3, "text");
setCellValue(0, 8, "W");
setCellValue(4, 1, "2222");
setCellValue(6, 6, "");

String getCellValue(int x, int y)স্থানাঙ্ক সহ কক্ষে থাকা পাঠ্য ফেরত দেয় (x, y)

উদাহরণ:

String s = getCellValue(3, 3);
System.out.println(getCellValue(4, 1));

void setCellTextSize(int x, int y, int size)স্থানাঙ্কের সাথে কক্ষে পাঠ্যের আকার সেট করে (x, y), যেখানে sizeপাঠ্যের উচ্চতা ঘরের উচ্চতার শতাংশ হিসাবে।

উদাহরণ:

setCellTextSize(2, 0, 70); // 70% of the cell height

int getCellTextSize(int x, int y)স্থানাঙ্কের সাথে কক্ষের সামগ্রীর আকার ফেরত দেয় (x, y)

উদাহরণ:

int size = getCellTextSize(2 , 0);

void setCellNumber(int x, int y, int value)int valueস্থানাঙ্ক সহ কক্ষে সংখ্যা নির্ধারণ করে (x, y)

উদাহরণ:

setCellNumber(3, 3, 40);
setCellNumber(0, 8, -8);
setCellNumber(4, 1, 2222);
setCellNumber(6, 6, 0);

int getCellNumber(int x, int y)স্থানাঙ্ক সহ কক্ষে থাকা সংখ্যা ফেরত দেয় (x, y)। যদি ঘরে একটি সংখ্যা না থাকে তবে এটি 0 প্রদান করে।

উদাহরণ:

int i = getCellNumber(3, 3);
System.out.println(getCellNumber(4, 1));

void setCellTextColor(int x, int y, Color color)স্থানাঙ্কের সাথে ঘরের বিষয়বস্তুর (টেক্সট) রঙ সেট করে (x, y)

উদাহরণ:

setCellTextColor(2, 1, Color.GREEN);
setCellTextColor(0, 1, Color.NONE);

Color getCellTextColor(int x, int y)স্থানাঙ্কের সাথে ঘরের বিষয়বস্তুর (টেক্সট) রঙ ফেরত দেয় (x, y)

উদাহরণ:

Color textColor = getCellTextColor(1, 3);

setCellValueEx()আপনার সুবিধার জন্য, প্যারামিটারের বিভিন্ন সেট সহ একাধিক পদ্ধতি রয়েছে :

void setCellValueEx(int x, int y, Color cellColor, String value)ঘরের পটভূমির রঙ এবং পাঠ্য যথাক্রমে (x, y)সমান cellColorএবং সমান স্থানাঙ্ক সহ সেট করে।value

উদাহরণ:

setCellValueEx(0, 2, Color.BLUE, "56");

void setCellValueEx(int x, int y, Color cellColor, String value, Color textColor)যথাক্রমে , , এবং , (x, y)এর সমান স্থানাঙ্ক সহ ঘরের পটভূমির রঙ, পাঠ্য এবং পাঠ্যের রঙ সেট করে ।cellColorvaluetextColor

উদাহরণ:

setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN);

void setCellValueEx(int x, int y, Color cellColor, String value, Color textColor, int textSize);যথাক্রমে , , , এবং , (x, y)এর সমান স্থানাঙ্ক সহ ঘরের পটভূমির রঙ, পাঠ্য, পাঠ্যের রঙ এবং পাঠ্যের আকার সেট করে ।cellColorvaluetextColortextSize

উদাহরণ:

setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN, 70);


2. রঙের সাথে কাজ করা

CodeGym গেম ইঞ্জিনের একটি বিশেষ Colorপ্রকার রয়েছে যাতে 148টি রঙের জন্য অনন্য মান রয়েছে। এটির একটি বিশেষ মানও রয়েছে NONEযা রঙের অনুপস্থিতিকে প্রতিনিধিত্ব করে।

রঙের সাথে কাজ করার উদাহরণ

Color myColor = Color.WHITE;  // The color white is assigned to the myColor variable.
Color redColor = Color.RED; // The color red is assigned to the redColor variable.
Color blueColor = Color.BLUE; // The color blue is assigned to the blueColor variable.

আপনি কমান্ড ব্যবহার করে একটি ঘর লাল রঙ করতে পারেন:

setCellColor(0, 2, Color.RED);

আপনি একটি সেল একটি নির্দিষ্ট রঙ কিনা তা একটি কমান্ড সহ পরীক্ষা করতে পারেন:

if (getCellColor(0,2) == Color.GREEN)
{
}

কখনও কখনও আপনাকে প্রতিটি সম্ভাব্য রঙের অ্যারে পেতে হতে পারে। এটি করার জন্য, values()পদ্ধতিটি ব্যবহার করুন।

উদাহরণ:

// An array containing every available color is assigned to the colors variable.
Color[] colors = Color.values();

রঙ প্যালেটে একটি রঙের সূচী পাওয়া খুব সহজ - শুধুমাত্র ordinal()পদ্ধতিটি ব্যবহার করুন:

Color color = Color.RED;
int redIndex = color.ordinal(); // Index of the color red

int blueIndex = Color.BLUE.ordinal(); // Index of the color blue

আপনি সহজেই এর সূচক দ্বারা একটি রঙ পেতে পারেন:

// The color whose index is 10 in the Color enum is assigned to the color variable.
Color color = Color.values()[10];


3. ডায়ালগ বক্স

খেলার শেষে, আমাদের খেলোয়াড়কে জানাতে হবে যে সে জিতেছে নাকি হেরেছে। এই এবং অন্যান্য অনুষ্ঠানের জন্য, CodeGym গেম ইঞ্জিনের একটি বিশেষ পদ্ধতি রয়েছে , যা বার্তা void showMessageDialog(Color cellColor, String message, Color textColor, int textSize)সহ একটি ডায়ালগ বক্স প্রদর্শন করে । এই পদ্ধতির পরামিতি হল:message

  • cellColorডায়ালগ বক্সের পটভূমির রঙ
  • messageবার্তাটির পাঠ্য
  • textColorবার্তার পাঠ্যের রঙ
  • textSizeবার্তার পাঠ্যের আকার

ব্যবহারকারী স্পেস বার চাপলে বা মাউস দিয়ে ডায়ালগ বক্সে ক্লিক করলে ডায়ালগ বক্স নিজেই বন্ধ হয়ে যায়।

এই পদ্ধতি কল করার উদাহরণ:

// Display a dialog box with a message
showMessageDialog(Color.BLACK, "EPIC FAIL", Color.RED, 80);


4. ইউটিলিটি পদ্ধতি

গেম লেখার সময়, আপনি প্রায়ই এলোমেলো সংখ্যা ব্যবহার করবেন। এলোমেলো সংখ্যাগুলি পেতে সহজ করার জন্য, আপনি গেম ইঞ্জিনের ইউটিলিটি পদ্ধতিগুলি ব্যবহার করতে পারেন:

int getRandomNumber(int max)ইনক্লুসিভ 0থেকে একটি এলোমেলো সংখ্যা প্রদান করে ।(max–1)

int getRandomNumber(int min, int max)ইনক্লুসিভ minথেকে একটি এলোমেলো সংখ্যা প্রদান করে ।(max–1)


5. JDK 11+

IntelliJ IDEA থেকে আপনার প্রোগ্রাম চালানোর সময়, গেম ক্লাসের উত্তরাধিকারী একটি ক্লাস নিম্নলিখিত ত্রুটি তৈরি করতে পারে:

Error: JavaFX runtime components are missing, and are required to run this application

এই ক্ষেত্রে, এই জাতীয় প্রতিটি শ্রেণীর জন্য, আপনাকে একবার এই পদক্ষেপগুলি সম্পাদন করতে হবে:
  1. রানসম্পাদনা কনফিগারেশন খুলুন
  2. VM বিকল্পগুলির মানের জন্য , নিম্নলিখিতগুলি লিখুন:
    --module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base

    মনোযোগ:

    IntelliJ IDEA এর সাম্প্রতিক সংস্করণগুলিতে, "VM বিকল্পগুলি" ক্ষেত্রটি ডিফল্টরূপে দেখানো হয় না। এটি প্রদর্শন করতে, ALT+V টিপুন

  3. টিপুন: প্রয়োগ করুনঠিক আছে
  4. খেলা চালান।