- تعارف
- گیم کی شروعات
- کھیل کا میدان بنانا
- ابتدائی پروگرام
- کھیل کے میدان کے خلیوں کے ساتھ کام کرنا
- رنگ کے ساتھ کام کرنا
- ڈائیلاگ باکسز
- افادیت کے طریقے
- گیم انجن کی حدود
1. تعارف
ڈویلپر کی طرف سے کمپیوٹر گیم کے نفاذ میں تین مراحل ہیں:- کھیل کا آغاز تیاری کے اعمال ہیں: کھیل کے میدان کے سائز اور ڈرائنگ کو ترتیب دینا، ابتدائی پوزیشن میں گیم آبجیکٹ بنانا اور انسٹال کرنا، نیز دیگر اعمال جو کھیل کے آغاز میں انجام دینے چاہئیں۔
- کھیل کا عمل۔ اس میں گیم آبجیکٹ کی نقل و حرکت، پلیئر ایکشنز، حاصل کردہ پوائنٹس کا حساب کتاب، اور ساتھ ہی دیگر اعمال بھی شامل ہیں جنہیں کچھ وقفوں پر یا بٹن دبانے سے انجام دیا جانا چاہیے۔
- کھیل ختم کرنا۔ اس میں متحرک تصاویر کو روکنا، فتح یا شکست کا اعلان کرنا، اور دیگر اعمال شامل ہیں جو گیم کے اختتام پر انجام دینے کی ضرورت ہے۔
2. گیم کی شروعات
گیم شروع کرنا صرف دو مراحل پر مشتمل ہے:مرحلہ 1: مرکزی گیم کلاس بنائیں۔
JavaRush گیم انجن کی بنیاد پر اپنا گیم تیار کرنے کے لیے، آپ کو ایک کلاس بنانا ہوگا اور اسے گیم کلاس (com.javarush.engine.cell.Game) سے وراثت میں لینا ہوگا۔ یہ آپ کی کلاس کو گیم انجن پر طریقوں کو کال کرنے کی صلاحیت اور انجن کو آپ کے طریقوں کو کال کرنے کی صلاحیت فراہم کرے گا۔ مثال:import com.javarush.engine.cell.Game;
public class MySuperGame extends Game {
...
}
مرحلہ 2: ابتداء() طریقہ کو اوور رائڈ کریں۔
اس طریقہ کار میں، گیم شروع کرنے کے لیے ضروری تمام اعمال انجام پائے گا: کھیل کا میدان بنانا، گیم کی اشیاء بنانا وغیرہ۔ آپ کو صرف اس طریقہ کا اعلان کلاس میں کرنے کی ضرورت ہے جو گیم کلاس سے وراثت میں ملتی ہے ۔ مثال:import com.javarush.engine.cell.Game;
public class MySuperGame extends Game {
@Override
public void initialize() {
// Тут выполняем все действия по инициализации игры и ее an objectов
}
}
ابتداء() طریقہ مین() طریقہ کا ایک اینالاگ ہے : یہ وہ جگہ ہے جہاں گیم کے لیے لکھے گئے تمام کوڈ پر عمل درآمد ہونا شروع ہوتا ہے۔
3. کھیل کا میدان بنانا
کھیل کا میدان بنانا بھی صرف دو مراحل پر مشتمل ہے۔مرحلہ 1: کھیل کے میدان کو خلیوں میں تقسیم کریں۔
پورے کھیل کے میدان کو گیم انجن کے ذریعہ سیلوں میں تقسیم کیا گیا ہے۔ کم از کم سائز 3x3 ہے، زیادہ سے زیادہ 100x100 ہے۔ گیم اسکرین کا سائز مستقل ہے۔ اسے خلیوں کی مختلف تعداد میں تقسیم کیا جاسکتا ہے۔ مثال کے طور پر، چوڑائی 7 اور اونچائی 9:import com.javarush.engine.cell.Game;
public class MySuperGame extends Game {
@Override
public void initialize() {
// задали размер поля 7x9 клеток
setScreenSize(7, 9);
...
}
}
کھیل لکھتے وقت، آپ کو کھیل کے میدان کی موجودہ چوڑائی اور اونچائی حاصل کرنے کی ضرورت پڑ سکتی ہے۔ int getScreenWidth() اور int getScreenHeight() طریقے اس کے لیے کارآمد ہیں ۔
مرحلہ 2: گرڈ کو آن یا آف کریں (اختیاری)۔
اگر آپ کو بلیک گرڈ پسند نہیں ہے جو کھیل کے میدان میں خلیات کو الگ کرتا ہے، تو آپ اسے بند کر سکتے ہیں۔ void showGrid (بولین isShow) طریقہ گرڈ کو الگ کرنے والے سیلز کو آن اور آف کرتا ہے۔ پہلے سے طے شدہ طور پر، گرڈ ظاہر ہوتا ہے۔ اسے آف کرنے کے لیے، اس طریقہ کو غلط پیرامیٹر کے ساتھ کال کریں:showGrid(false);
نتیجہ:
showGrid(true);
4. قدیم پروگرام
مثال پروگرام:public class MySuperGame extends Game {
@Override
public void initialize() {
// Создаем игровое поле 3x3 клетки
setScreenSize(3, 3);
// Выключаем отображение сетки
showGrid(false);
// Меняем фон центральной клетки на синий, и отображаем в ней “Х”
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);
-
رنگ getCellColor(int x, int y) - نقاط کے ساتھ سیل کا رنگ لوٹاتا ہے (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, "");
-
اسٹرنگ 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% высоты клетки
-
int getCellTextSize(int x, int y) - کوآرڈینیٹس کے ساتھ سیل میں مواد کا سائز واپس کرتا ہے (x, y):
int size = getCellTextSize(2 , 0);
-
void setCellNumber(int x, int y, int ویلیو) - نمبر ویلیو کو کوآرڈینیٹ کے ساتھ سیل میں رکھتا ہے (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);
-
رنگ getCellTextColor(int x, int y) - کوآرڈینیٹس والے سیل میں مواد (متن) کا رنگ لوٹاتا ہے (x, y):
Color textColor = getCellTextColor(1, 3);
-
void setCellValueEx(int x, int y, Color cell Color, String Value) — سیل کو کوآرڈینیٹ (x, y) پس منظر کے رنگ کے سیل رنگ اور مواد کی قدر کے ساتھ سیٹ کرتا ہے:
setCellValueEx(0, 2, Color.BLUE, "56");
-
void setCellValueEx(int x، int y، کلر سیل کلر، سٹرنگ ویلیو، کلر ٹیکسٹ کلر) — سیل کو کوآرڈینیٹ (x، y) پس منظر کا رنگ سیل کلر، مواد کی قدر اور مواد کا رنگ ٹیکسٹ کلر کے ساتھ سیٹ کرتا ہے:
setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN);
-
void setCellValueEx(int x، int y، کلر سیل کلر، سٹرنگ ویلیو، کلر ٹیکسٹ کلر، انٹ ٹیکسٹ سائز)؛ — سیل کو کوآرڈینیٹس (x، y) پس منظر کا رنگ سیل کلر، مواد کی قدر، مواد کا رنگ ٹیکسٹ کلر اور مواد کا سائز ٹیکسٹ سائز کے ساتھ سیٹ کرتا ہے:
setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN, 70);
6. رنگ کے ساتھ کام کرنا
گیم انجن میں رنگوں کو Color enum کے ذریعے کنٹرول کیا جاتا ہے ، جس میں 148 رنگوں کی منفرد قدر ہوتی ہے۔ اور خصوصی قدر NONE - رنگ کی عدم موجودگی۔ رنگ کے ساتھ کام کرنے کی مثال:Color myColor = Color.WHITE; // переменной myColor присваивается белый цвет.
Color redColor = Color.RED; // переменной redColor присваивается красный цвет.
Color blueColor = Color.BLUE; // переменной blueColor присваивается синий цвет.
کبھی کبھی آپ تمام موجودہ رنگوں کی ایک صف حاصل کرنا چاہتے ہیں۔ ایسا کرنے کے لیے اقدار() طریقہ استعمال کریں ۔ مثال کے طور پر:
// переменной colors присваивается массив, содержащий все доступные цвета.
Color[] colors = Color.values();
پیلیٹ میں رنگ نمبر حاصل کرنا بہت آسان ہے:
Color color = Color.RED;
int redIndex = color.ordinal(); // Номер красного цвета
int blueIndex = Color.BLUE.ordinal(); // Номер синего цвета
آپ اس کے نمبر سے رنگ بھی حاصل کر سکتے ہیں:
// переменной color присваивается цвет с индексом 10 из enum Color.
Color color = Color.values()[10];
7. ڈائیلاگ باکسز
کھیل کے اختتام پر، کھلاڑی کو جیت یا ہار کے بارے میں مطلع کرنا ضروری ہے. اس کے لیے ایک خاص طریقہ ہے جو گیم اسکرین پر ڈائیلاگ باکس دکھاتا ہے۔void showMessageDialog(Color cellColor, String message, Color textColor, int textSize)
یہاں:
- سیل کلر - ڈائیلاگ باکس کے پس منظر کا رنگ؛
- پیغام - پیغام کا متن؛
- متن کا رنگ - پیغام کے متن کا رنگ؛
- ٹیکسٹ سائز - میسج ٹیکسٹ سائز۔
8. افادیت کے طریقے
کھیل لکھتے وقت بے ترتیب نمبر اکثر استعمال ہوتے ہیں۔ بے ترتیب نمبر حاصل کرنا آسان بنانے کے لیے، آپ سکریپ انجن کے طریقے استعمال کر سکتے ہیں:- int getRandomNumber(int max) - 0 سے (زیادہ سے زیادہ-1) تک ایک بے ترتیب عدد واپس کرتا ہے۔
- int getRandomNumber(int min, int max) - ایک بے ترتیب عدد کو کم سے کم سے (زیادہ سے زیادہ–1) تک لوٹاتا ہے۔
GO TO FULL VERSION