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. डायलॉग बॉक्स

खेळाच्या शेवटी, तो किंवा ती जिंकली किंवा हरली हे आम्हाला खेळाडूला कळवावे लागेल. या आणि इतर प्रसंगांसाठी, कोडजिम गेम इंजिनमध्ये विशेष 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. खेळ चालवा.