Процедура рисования индикатора:
public void Print_Ind()
{ //Нарисовать цветной линейный индикатор
if (IndLent == 1) label55.setVisible(false);
if (IndLent == 2) label54.setVisible(false);
if (IndLent == 3) label53.setVisible(false);
if (IndLent == 4) label52.setVisible(false);
if (IndLent == 5) label51.setVisible(false);
if (IndLent == 6) label50.setVisible(false);
if (IndLent == 7) label49.setVisible(false);
if (IndLent == 7) timer1.setInterval(100); //Уменьшить интервал, чтобы индикатор
//восстанавливался быстрее
if (IndLent == 0) {
label55.setVisible(true); //Нарисовать все элементы индикатора
label54.setVisible(true); //Нарисовать все элементы индикатора
label53.setVisible(true); //Нарисовать все элементы индикатора
label52.setVisible(true); //Нарисовать все элементы индикатора
label51.setVisible(true); //Нарисовать все элементы индикатора
label50.setVisible(true); //Нарисовать все элементы индикатора
label49.setVisible(true); //Нарисовать все элементы индикатора
}
}
Курсовая работа
Полный листинг на JAVA этого этапа разработки игры – в файле vjp10.zip - в архиве javaguide.zip
Можно посмотреть, как индикатор работает.
Теперь таймер нужно «задизейблить» и разрешать только после того, как маркер будет поставлен в нижнюю строку игрового поля.
Разрешение таймера вставим в процедуру постановки маркера на нижней строке игрового поля (а точнее – в процедуру подсчета очков после установки маркера Marker_Count(), т.к. она общая для всех ячеек нижнего уровня).
В конце процедуры Marker_Count() появится строка:
timer1.setEnabled(true); //Разрешить работу таймера и линейного индикатора
Когда цветной линейный индикатор полностью исчезнет, необходимо сдвинуть все строки с ячейками игрового поля сдвинуть вниз (процедура private void Form1_click(Object source, Event e) ), подсчитать очки и заполнить верхнюю строку игрового поля новыми значениями номиналов.
Процедура работы таймера Timer1 будет выглядеть следующим образом:
private void timer1_timer(Object source, Event e)
{
IndLent = IndLent + 1; //Загасить еще один элемент цветного индикатора
if (IndLent == 9) timer1.setInterval(500); //Восстановить интервал работы индикатора
if (IndLent == 9) Form1_click(this, e); //Сдвинуть уровни
if (IndLent == 9) IndLent = 0; //Полный размер индикатора
Print_Ind(); //Нарисуем индикатор
}
(В данном листинге не запрещен повторный Click по полю формы Form1. Для исправления этой ситуации нужно создать другую процедуру, не обрабатывающую события формы Form1. И перенести в нее тот же код, что и в private void Form1_click() ).
Теперь нужно написать обработку нажатий клавиш и перемещения маркера вправо-влево по нижней строке ячеек игрового поля.
Вообще, обработка нажатий кнопок клавиатуры – основное отличие версий курсовых работ по программированию на разных языках – Visual Basic, Delphi и JAVA.
Для Form1 просмотрим Events (см. [1]) и выберем событие keyDown (см. [2]). Дважы кликнув на [2], получим заготовку для процедуры. Допишем в нее необходимый код:
private void Form1_keyDown(Object source, KeyEvent e)
{
keyCode = e.getKeyCode();
cs = cs + keyCode;
label1.setText(cs);
}
Теперь можно посмотреть как это работает. В поле label1 будет писаться код нажатой клавиши. Для клавиш «Стрелка в право» и «стрелка в лево» это будут коды 37 и 39.
Полный листинг на JAVA этого этапа разработки игры – в файле vjp11.zip - в архиве javaguide.zip
Допишем процедуру до необходимого для работы кода.
Переменная markersave однозначно показывает в какой ячейке нижней строки игрового поля стоит маркер. Напишем процедуру перемещения маркера вправо-влево по нижней строке:
<<<< Предыдущая Следующая страница >>>>
Курсовые работы Курсовые на Eclipse
курсовая, работа, реферат, курсовик, java, eclipse
|