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)के बराबर निर्देशांक के साथ सेट करता है।cellColorvalue

उदाहरण:

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. जेडीके 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 के हाल के संस्करणों में, "वीएम विकल्प" फ़ील्ड डिफ़ॉल्ट रूप से नहीं दिखाया गया है। इसे प्रदर्शित करने के लिए, ALT+V दबाएं

  3. प्रेस: ​​लागू करेंठीक है
  4. खेल चलाओ।