1. تعارف
ڊولپر لاءِ، ڪمپيوٽر جي راند کي لاڳو ڪرڻ لاءِ ٽي مرحلا آهن:-
راند جي شروعات - هي مرحلو تياري جي عملن تي مشتمل آهي: راند جي ميدان جي سائيز کي ترتيب ڏيڻ، راند جي ميدان کي ڊرائنگ ڪرڻ، راند جي شين کي ٺاهڻ ۽ انهن کي انهن جي شروعاتي پوزيشن ۾ رکڻ، ۽ ٻيا عمل جيڪي راند جي شروعات ۾ ٿيڻ گهرجن.
-
راند جو عمل. ھن اسٽيج ۾ شامل آھن ھلندڙ گيم جون شيون، پليئر ايڪشن، سکور رکڻ، ۽ ٻيا عمل جيڪي ھڪ خاص تعدد تي ٿيڻ گهرجن يا جڏھن بٽڻ دٻايا وڃن.
-
راند جي مڪمل ٿيڻ. ھن اسٽيج ۾ شامل آھي انيميشن کي روڪڻ، جيت يا نقصان جي رپورٽ ڪرڻ، ۽ ٻيون ڪارناما جيڪي لازمي طور تي راند جي آخر ۾ انجام ڏنا وڃن.
2. راند جي شروعات
راند جي شروعات صرف ٻن مرحلن تي مشتمل آهي: قدم 1: راند جو مکيه ڪلاس ٺاهيو. ڪوڊ گيم گيم انجڻ استعمال ڪندي پنهنجي راند کي ترقي ڪرڻ لاءِ، توهان کي ڪلاس ٺاهڻ جي ضرورت آهي جيڪا ورثي ۾ ملي ٿي ڪلاسGame
(com.codegym.engine.cell.Game). هي توهان جي ڪلاس کي گيم انجڻ جي طريقن کي ڪال ڪرڻ جي صلاحيت ڏئي ٿو، ۽ انجڻ کي توهان جي طريقن کي ڪال ڪرڻ جي صلاحيت ڏئي ٿو. مثال طور:
import com.codegym.engine.cell.Game;
public class MySuperGame extends Game {
...
}
مرحلا 2: اوور رائڊ ڪريو شروعاتي طريقو (). راند کي شروع ڪرڻ لاءِ گهربل سڀ عمل هن طريقي سان ٿيندا: راند جو ميدان ٺاهڻ، راند جون شيون ٺاهڻ وغيره. توهان کي صرف هن طريقي کي ڪلاس ۾ بيان ڪرڻ جي ضرورت آهي جيڪا ڪلاس کي ورثي ۾ ملي ٿي Game
. مثال طور:
import com.codegym.engine.cell.Game;
public class MySuperGame extends Game {
@Override
public void initialize() {
// Here we perform all actions to initialize the game and its objects
}
}
اهو initialize()
طريقو طريقو جي مطابق آهي main()
: اهو راند لاءِ لکيل سڀني ڪوڊ لاءِ شروعاتي نقطو آهي.
3. راند جو ميدان ٺاهڻ
راند جي ميدان ٺاهڻ ۾ پڻ صرف ٻن مرحلن تي مشتمل آهي. قدم 1: راند جي ميدان کي سيلن ۾ ورهايو. سڄي راند جو ميدان راند انجڻ جي سيلز ۾ ورهايل آهي. گھٽ ۾ گھٽ ماپ 3x3 آهي؛ وڌ ۾ وڌ 100x100 آهي. راندين جي اسڪرين جا طول و عرض مسلسل آهن. اهو سيلن جي مختلف تعداد ۾ ورهائي سگهجي ٿو. مثال طور، 7 سيلز ويڪرا 9 سيلز اونچا: نوٽ ڪريو ته سيلز نمبر ڏنل آهن مٿين کاٻي ڪنڊ کان شروع ٿيندي. راند جي ميدان جي سائيز کي سيٽ ڪرڻ لاء،void setScreenSize(int width, int height)
طريقو استعمال ڪريو. اهو راند جي ميدان جي سائيز کي مقرر ڪري ٿو. ان جا پيٽرول سيلز جو تعداد افقي طور تي (چوڪر) ۽ عمودي (اوچائي) جي نمائندگي ڪن ٿا. اهو عام طور تي سڏيو ويندو آهي هڪ ڀيرو جڏهن راند شروع ٿئي ٿي. مثال طور:
import com.codegym.engine.cell.Game;
public class MySuperGame extends Game {
@Override
public void initialize() {
// Set the field size to 7 cells x 9 cells
setScreenSize(7, 9);
...
}
}
جڏهن هڪ راند لکڻ، توهان کي راند جي ميدان جي موجوده چوٽي ۽ اوچائي حاصل ڪرڻ جي ضرورت پوندي. هن کي ڪرڻ لاء، طريقا int getScreenWidth()
۽ int getScreenHeight()
طريقا هٿ ۾ ايندا. قدم 2: گرڊ کي بند ڪريو يا بند ڪريو (اختياري). جيڪڏھن توھان پسند نٿا ڪريو ڪارو گرڊ راند جي ميدان تي سيلز کي ڌار ڪري، توھان ان کي بند ڪري سگھو ٿا. طريقو void showGrid(boolean isShow)
گرڊ کي آن ۽ آف ڪري ٿو. ڊفالٽ طور، گرڊ ڏيکاريل آهي. ان کي بند ڪرڻ لاء، هن طريقي کي ڪال ڪريو غلط سان دليل طور:
showGrid(false);
نتيجو: گرڊ کي واپس ڪرڻ لاءِ، ڪال ڪريو:
showGrid(true);
4. هڪ ابتدائي پروگرام
هتي هڪ پروگرام جو هڪ مثال آهي:public class MySuperGame extends Game {
@Override
public void initialize() {
// Create a playing field that is 3 cells x 3 cells
setScreenSize(3, 3);
// Turn off the grid
showGrid(false);
// Change the background of the center cell to blue, and display an "X" in it.
setCellValueEx(1, 1, Color.BLUE, "X", Color.ORANGE, 50);
}
}
هن مثال ۾، راند جو ميدان 3x3 تي سيٽ ڪيو ويو آهي، گرڊ بند ڪيو ويو آهي، ۽ هڪ نارنگي "X" اڌ سيل جي سائيز سينٽر سيل ۾ نيري پس منظر تي سيٽ ڪيو ويو آهي. اها پهرين شيءِ هوندي جيڪا پليئر ڏسندي جڏهن راند شروع ٿيندي.
5. راند جي ميدان جي سيلن سان ڪم ڪرڻ
حقيقت اها آهي ته اسان راندين جي ميدان کي سيلن ۾ ورهائي سگهون ٿا، پر اسان پاڻ کي سيلز سان ڇا ڪري سگهون ٿا؟ توهان راند جي ميدان جي هر سيل لاء هيٺيون خاصيتون مقرر ڪري سگهو ٿا:- سيل رنگ (سيل پس منظر رنگ)؛
- متن (ٽيڪسٽ يا نمبر)؛
- متن جو رنگ؛
- ٽيڪسٽ سائيز سيل جي سائيز جي سيڪڙو جي طور تي.
-
void setCellColor(int x, int y, Color color)
- سيل جو رنگ مقرر ڪري ٿو همراهن سان (x، y):setCellColor(0, 0, Color.RED); setCellColor(3, 6, Color.BLACK); setCellColor(6, 8, Color.NONE);
-
Color getCellColor(int x, int y)
- coordinates سان سيل جو رنگ موٽائي ٿو (x، y):Color myColor = getCellColor(2, 0);
-
void setCellValue(int x, int y, 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) سان سيل جي مواد جي سائيز کي سيٽ ڪري ٿو. سائيز پيٽرولر ٽيڪسٽ جي اوچائي آهي سيل جي اوچائي جي سيڪڙو جي طور تي: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)
- سيل جو متن مقرر ڪري ٿو همراهن سان (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)
- ترتيب ڏئي ٿو پس منظر جو رنگ (cell Color) ۽ مواد (قيمت) سيل جي همراهن سان (x، y):setCellValueEx(0, 2, Color.BLUE, "56");
-
void setCellValueEx(int x, int y, Color cellColor, String value, Color textColor)
- ترتيب ڏئي ٿو پس منظر جو رنگ (سيل جو رنگ)، مواد (قدر)، ۽ ٽيڪسٽ رنگ (ٽيڪسٽ رنگ) سيل جي همراهن سان (x، y):setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN);
-
void setCellValueEx(int x, int y, Color cellColor, String value, Color textColor, int textSize)
- سيٽ ڪري ٿو پس منظر جو رنگ (سيل جو رنگ)، مواد (قدر)، ٽيڪسٽ رنگ (ٽيڪسٽ رنگ)، ۽ ٽيڪسٽ سائيز (ٽيڪسٽ سائز) سيل جي همراهن سان (x، y):setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN, 70);
6. رنگ سان ڪم ڪرڻ
Color enum
راند انجڻ ۾ رنگن لاء ذميوار آهي . اهو 148 رنگن لاء منفرد قدر آهي. اهو پڻ هڪ خاص قدر آهي (NONE) جيڪو ڪنهن به رنگ جي نمائندگي نٿو ڪري. هتي رنگ سان ڪم ڪرڻ جو هڪ مثال آهي:
Color myColor = Color.WHITE; // The myColor variable is set to white.
Color redColor = Color.RED; // The redColor variable is set to red.
Color blueColor = Color.BLUE; // The blueColor variable is set to light blue.
ڪڏهن ڪڏهن توهان کي تمام موجوده رنگن جي هڪ صف حاصل ڪرڻ جي ضرورت پوندي. هن کي ڪرڻ لاء، values()
طريقو استعمال ڪريو. مثال طور:
Color[] colors = Color.values(); // The colors variable is assigned an array containing all available colors.
پيٽ ۾ رنگ جي انڊيڪس حاصل ڪرڻ تمام آسان آهي:
Color color = Color.RED;
int redIndex = color.ordinal(); // Index of red
int blueIndex = Color.BLUE.ordinal(); // Index of blue
توھان پڻ حاصل ڪري سگھو ٿا رنگ ان جي انڊيڪس ذريعي:
Color color = Color.values()[10]; // The color variable is assigned the color with index 10 in the Color enum.
7. ڊائلاگ باڪس
راند جي آخر ۾، توهان کي پليئر کي جيت يا نقصان جي رپورٽ ڪرڻ جي ضرورت آهي. هن کي ڪرڻ لاء، اتي هڪ خاص طريقو آهي جيڪو ڏيکاري ٿو هڪ ڊائلاگ باڪس راند اسڪرين تي:void showMessageDialog(Color cellColor, String message, Color textColor, int textSize)
هتي:
cellColor
ڊائلاگ باڪس جو پس منظر رنگ آھي؛message
پيغام جو متن آهي؛textColor
پيغام جي متن جو رنگ آهي؛textSize
پيغام جي متن جي سائيز آهي.
8. افاديت جا طريقا
جڏهن رانديون لکڻ، بي ترتيب نمبر تمام گهڻو استعمال ڪيا ويا آهن. ان کي آسان بڻائڻ لاءِ بي ترتيب نمبر حاصل ڪرڻ لاءِ، توھان استعمال ڪري سگھوٿا ھيٺ ڏنل يوٽيلٽي طريقا استعمال ڪندي مهيا ڪيل گيم انجڻ:-
int getRandomNumber(int max)
- 0 کان (max-1) ۾ شامل بي ترتيب انٽيجر واپس ڪري ٿو. -
int getRandomNumber(int min, int max)
- منٽ کان (max-1) تائين هڪ بي ترتيب انٽيجر واپس ڪري ٿو.
GO TO FULL VERSION