|
Курсовая работа
Страница 2
Т.е. здесь просто ячейка массива записывается в text ячейки формы. Такой метод не стоит считать оптимальным, но он позволяет с минимальными усилиями проверить работу уже сделанных процедур.
Полный листинг на JAVA этого этапа разработки игры – в файле vjp3.zip - в архиве javaguide.zip
Теперь нужно создать процедуру, в которой будет анализироваться содержимое ячеек массивов field1 – field5 и в зависимости от их значений будет формироваться нужное символьное значение (номинал) ячеек игрового поля и задаваться нужный цвет символов и фона ячеек.
Перепишем процедуру Fdraw() в другую процедуру. Создадим еще одну Label56 для временного хранения «сгенерированного» номинала ячейки и ее цветовых атрибутов (выделена на рисунке).
Добавим в объявление переменных используемые цвета (выделено) :
public int level[] = new int[4]; //Массив для Level
public int field5[] = new int[8]; //Массив для игрового поля для уровня 5 (верхней строки)
public int field4[] = new int[8]; //Массив для игрового поля для уровня 4
public int field3[] = new int[8]; //Массив для игрового поля для уровня 3
public int field2[] = new int[8]; //Массив для игрового поля для уровня 2
public int field1[] = new int[8]; //Массив для игрового поля для уровня 1
public int NCounter = 0; //Значение счетчика очков
public int RndE; //Переменная для случайных чисел
public int i;
public String cs = ""; //Строка для работы с Label
Color black = new Color(0x000000); //Цвет символов числовых ячеек, ячеек "T", "P" и "B"
Color white = new Color(0xffffff); //Цвет символов ячеек "Z" и "End"
Color plus1 = new Color(0xC0FFFF); //Фон числовых ячеек
Color plusT = new Color(0xA3C9A9); //Фон выигрышных ячеек "T"
Color plusP = new Color(0xFFC0C0); //Фон выигрышных ячеек "P"
Color plusB = new Color(0x00FFFF); //Фон выигрышных ячеек "B"
Color plusZ = new Color(0x000000); //Фон ячеек "Z"
Color plusEnd = new Color(0x0000FF); //Фон ячеек "End"
Color dg; //Для передачи значений цвета фона
Color dk; //Для передачи значений цвета символа
Курсовая работа
Процедура вычисления номинала ячейки игрового поля и ее цветовых атрибутов (цвет фона ячейки и цвет фонта) вычисляются по значению элемента массива. Пример для обработки элементов массива field1[], соответствующего ячейкам нижней строки игрового поля:
public void Color_Chars(int i)
{ //По значениям элементов массива field1 определить атрибуты и номинал
//ячеек и записать их в Label56
for (int i=0; i<8; i++)
{
if (field1[i] == 0) label56.setText("+1"); //Делаем для каждой ячейки
if (field1[i] == 0) label56.setBackColor(plus1); //для упрощения понимания курсовой
if (field1[i] == 0) label56.setForeColor(black);
if (field1[i] == 1) label56.setText("-1");
if (field1[i] == 1) label56.setBackColor(plus1);
if (field1[i] == 1) label56.setForeColor(black);
if (field1[i] == 2) label56.setText("+5");
if (field1[i] == 2) label56.setBackColor(plus1);
if (field1[i] == 2) label56.setForeColor(black);
if (field1[i] == 3) label56.setText("-5");
if (field1[i] == 3) label56.setBackColor(plus1);
if (field1[i] == 3) label56.setForeColor(black);
if (field1[i] == 4) label56.setText("+10");
if (field1[i] == 4) label56.setBackColor(plus1);
if (field1[i] == 4) label56.setForeColor(black);
if (field1[i] == 5) label56.setText("-10");
if (field1[i] == 5) label56.setBackColor(plus1);
if (field1[i] == 5) label56.setForeColor(black);
if (field1[i] == 6) label56.setText("+15");
if (field1[i] == 6) label56.setBackColor(plus1);
if (field1[i] == 6) label56.setForeColor(black);
if (field1[i] == 7) label56.setText("-15");
if (field1[i] == 7) label56.setBackColor(plus1);
if (field1[i] == 7) label56.setForeColor(black);
if (field1[i] == 8) label56.setText("+25");
if (field1[i] == 8) label56.setBackColor(plus1);
if (field1[i] == 8) label56.setForeColor(black);
//Далее однотипно для всех вариантов номиналов ячеек
|
if (field1[i] == 9) label56.setText("T");
if (field1[i] == 9) label56.setBackColor(plusT);
if (field1[i] == 9) label56.setForeColor(black);
if (field1[i] == 10) label56.setText("P");
if (field1[i] == 10) label56.setBackColor(plusP);
if (field1[i] == 10) label56.setForeColor(black);
if (field1[i] == 11) label56.setText("B");
if (field1[i] == 11) label56.setBackColor(plusB);
if (field1[i] == 11) label56.setForeColor(black);
if (field1[i] == 12) label56.setText("Z");
if (field1[i] == 12) label56.setBackColor(plusZ);
if (field1[i] == 12) label56.setForeColor(white);
if (field1[i] == 13) label56.setText("Z");
if (field1[i] == 13) label56.setBackColor(plusZ);
if (field1[i] == 13) label56.setForeColor(white);
if (field1[i] == 14) label56.setText("End");
if (field1[i] == 14) label56.setBackColor(plusEnd);
if (field1[i] == 14) label56.setForeColor(white);
if (field1[i] == 15) label56.setText("-10");
if (field1[i] == 15) label56.setBackColor(plus1);
if (field1[i] == 15) label56.setForeColor(black);
if (field1[i] == 16) label56.setText("-5");
if (field1[i] == 16) label56.setBackColor(plus1);
if (field1[i] == 16) label56.setForeColor(black);
if (field1[i] == 17) label56.setText("-1");
if (field1[i] == 17) label56.setBackColor(plus1);
if (field1[i] == 17) label56.setForeColor(black);
if (field1[i] == 18) label56.setText("+1");
if (field1[i] == 18) label56.setBackColor(plus1);
if (field1[i] == 18) label56.setForeColor(black);
if (field1[i] == 19) label56.setText("+5");
if (field1[i] == 19) label56.setBackColor(plus1);
if (field1[i] == 19) label56.setForeColor(black);
}
}
Курсовая работа
Теперь добавим копирование значения и атрибутов “временной” ячейки Label56 в конкретные ячейки игрового поля. Посмотрим пример для копирования элементов одного массива field1[] в нижнюю строку игрового поля с определением номинала ячеек и их цветовых атрибутов:
public void Field_Fill()
{ //Процедура копирования номиналов и атрибутов из Label56
//в ячейки игрового поля Label7 – Label14
for (int i=0; i<8; i++)
{
Color_Chars(i); //Записать номинал и атрибуты ячейки в Label56
<<<< Предыдущая Следующая страница >>>>
Курсовые работы Курсовые на Eclipse
курсовая, работа, реферат, курсовик, java, eclipse
|
|
|