Курсовая Курсовые работы - скачать бесплатно. Курсовики, дипломы и рефераты. Курсовая работа

Курсовая работа на Java
Курсовая работа на Java - скачай бесплатно


    
    Курсовик по разработке динамической логической игры на JAVA и Eclipse
    
    Пошаговое описание процесса программирования всех процедур игры Oflameron
    
    Алгоритм Игры
    
    Игра ведется на игровом поле. Игровое поле представляет собой таблицу произвольного размера (ограничивается только размерами экрана или удобством программирования). Т.к. предполагается создавать графический вариант игры и затем конвертировать его в версию для смартфонов (на Eclipse), то для данного проекта выбран небольшой размер таблицы 8x5
    
    Курсовая
    
    Все ячейки игрового поля (таблицы) заполняются символами, обозначающими номинал ячеек:
    
    [-1,-5,-10,-15,-25] - убавляют соответствующее количество очков с счета игрока
    [1,5,10,15,25] - прибавляют соответствующее количество очков к счету игрока
    [B] - убавляет с счета игрока 200 очков
    [P] - добавляет к счету игрока 100 очков
    [T] - добавляет к счету игрока 500 очков
    [Z] - обнуляет счет игрока
    [END] - заканчивает игру
    

Курсовая работа


    На игровом поле игрок может выполнять всего 2 действия:
    
    1 - один раз в начале игры поставить "маркер" в любую ячейку нижней строки игрового поля (Click-нуть мышкой).
    2 - после постановки "маркера" игрок может перемещать его вправо и влево по нижней строке игрового поля клавишами "Стрелка влево" и "Стрелка вправо".
    
    Все номиналы ячеек, которые "посетит" маркер игрока добавляются к счету. Маркер - выделенная синим цветом ячейка. Для постановки маркера достаточно просто кликнуть мышкой по любой ячейке нижнего ряда игрового поля. Маркер можно поставить только один раз. Потом его можно только перемещать.
    Как только игрок поставил "маркер" начинается игра. Игра ведется на время. Линейный цветной индикатор отсчитывает интервалы времени, через которые все строки игрового поля сдвигаются на одну вниз. При этом на "маркер" игрока может сдвинуться ячейка с проигрышным значением. Задача игрока - перемещать маркер по выигрышным ячейкам, набирая как можно больше очков и следить за тем, чтобы на его маркер не "наехала" ячейка с проигрышным номиналом (например, |Z|-обнуление счета).
    Игра отнюдь не так проста, как может показаться на первый взгляд. Во второй части руководства в проекты игры добавлены дополнительные возможности: ускорение и замедление игры, изменение частоты появления выигрышных номиналов ячеек при большом счете игрока. Игра "
Офламерон" может быть реализована так же и в статическом варианте, когда игра ведется без учета времени. Такая версия может иметь свои преимущества в игровом процессе
    Цель игры - увеличение счета. Игра (теоретически бесконечная) может быть остановлена при следующих условиях: 1) маркер игрока попадает на ячейку с номиналом |End| 2) счет игрока стал отрицательным 3) если в игре установлено ограничение по времени. Такая гибкость алгоритма игры позволяет создать огромное количество ее вариантов - с накоплением "жизней", с введением дополнительных бонусных номиналов ячеек, с загрузкой скинов из интернета, сетевые варианты для 2-х игроков (для статического варианта) и т.д.
    
    Разработка программы
    
    Создадим проект формата Windows Application. Создадим форму Form1 размером 264х164. На форме расположим элементы Label1 – Label55. Где Label1 – Label6 это колонка Level. А Label7 – Label46 – ячейки игрового поля с номиналами. Label 47-48 – ячейки для служебной информации. Нижний цветной индикатор образован Label49-Label55.
    
    Курсовая
    
    Колонке элементов Level и игровому полю будут соответствовать числовые массивы
    
    Курсовая - Массив 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
    
    По 8 ячеек в строке = 8 ячеек в каждом массиве.
    Краткое описание игры.
    Игра начинается с установки игроком маркера в любую ячейку нижнего ряда ячеек (просто Click-нуть мышкой). Такая ячейка выделяется синим цветом,
    


    а номинал занятой ячейки прибавляется (либо вычитается) к счету игрока. Нижний цветной линейный индикатор
    
    Курсовая
    
    начинает укорачиваться. Пока индикатор не исчез, игрок может перемещать игровой маркер по нижней строке вправо или влево от текущего положения нажимая на клавиатуре стрелки «Вправо» или «Влево». Номиналы всех ячеек, которые будет «проходить» маркер, будут прибавляться (или вычитаться) к счету. Как только весь цветной линейный индикатор исчезнет, игрок не может перемещать свой маркер (на мгновение), а номиналы всех ячеек сдвигаются сверху-вниз на одну строчку. Верхняя строка игрового поля заполняется новыми значениями от генератора случайных чисел. При этом, номинал ячейки, сдвинувшейся сверху на ячейку, в которой уже находится маркер, так же прибавляется к счету – это может существенно изменить ваш счет. После этого цветной линейный индикатор восстанавливается и начинает опять укорачиваться, а игрок опять может перемещать игровой маркер.
    Счет игры ведется в оранжевой ячейке
    
    Курсовая
    
    Игра ведется до тех пор, пока счет игрока не станет равным нулю или маркер не попадет на ячейку с номиналом |End|.
    
    Курсовая
    

Курсовая работа


    Игра совсем не так проста, как может показаться. Совсем легко разместить свой маркер так, что на него сместится ячейка с номиналом |Z| - обнуление счета, или |End| - окончание игры.
    Здесь описывается процесс программирования «текстовой версии» логической табличной игры «Oflameron». Номиналы ячеек представлены на экране в символьном виде, а ячейки представляют собой элементы Label.
    
    Курсовая работа
    
    В отличие от версий на Visual Basic и Delphi, в JAVA нет многомерных массивов. Поэтому ячейкам игрового поля будут соответствовать несколько одномерных массивов (по строкам игровой таблицы).
    
    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; //Переменная для случайных чисел
    
    При старте программы в версиях на VB и Delphi начальное значение счета задавалось фиксированным. Добавим здесь простые строки для того, чтобы программа стартовала с произвольным начальным счетом игрока – от 0 до 400
    
    RndE = (int)(400*Math.random()); //Генерит случайное число = 0 до 400 для первоначального размера СЧЕТА
    
    NCounter = RndE; //Первоначальное значение счета
    
    Заполним ячейки игровых массивов field1[], field2[], field3[], field4[], field5[] значениями от генератора случайных чисел (код выделен шрифтом bold).
    
    public Form1()
    {
    // Required for Visual J++ Form Designer support
    initForm();
    RndE = (int)(400*Math.random()); //Генерит случайное число = 0 до 400 для первоначального размера СЧЕТА
    NCounter = RndE; //Первоначальное значение счета
    
    //Заполним массивы ячеек filed1 - filed5 значениями генератора случайных чисел
    
    for (int i=0; i<8; i++)
    {
    field1[i] = (int)(19*Math.random()); //Генерит случайное число = 0 до 19
    field2[i] = (int)(19*Math.random()); //Генерит случайное число = 0 до 19
    field3[i] = (int)(19*Math.random()); //Генерит случайное число = 0 до 19
    field4[i] = (int)(19*Math.random()); //Генерит случайное число = 0 до 19
    field5[i] = (int)(19*Math.random()); //Генерит случайное число = 0 до 19
    }

    fdraw(); //Нарисовать значения ячеек
    }
    
    Теперь можно записать тестовую процедуру public void fdraw() для того, чтобы посмотреть, как заполняется массивы field1 – field5
    Процедура для просмотра любого из значений массива field1[] (в данном примере field1[1] ) будет выглядеть следующим образом:
    
    public void fdraw()
    //Нарисовать значения массивов field1 - field5 в ячейки
    //чтобы проконтролировать заполнение массивов
    cs = cs + field1[1]; //Проверим один элемент массива. В принципе - любой
    label8.setText(cs); //Запишем его значение в Label8
    }
    
    
Следующая страница >>>>
    
    
  Курсовые работы  
    
    курсовая, работа, реферат, курсовик, java, eclipse
    

Курсовая Курсовые работы - скачать бесплатно. Курсовики, дипломы и рефераты. Курсовая работа