Скачать    :: Скачать :: :: Курсовые работы :: :: Скачать :: :: Скачать курсовик :: :: Курсовик бесплатно :: :: Курсовые бесплатно :: :: Скачать ::

  :: English Version
  :: Скачать игру
  :: JAVA Версия
  :: Papers & Pencil
  :: На Листе Бумаги
Perfect Russian card game
Cards game with dice
  
  

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

Страница 3
[:: На главную ::] [:: Страница 2 ::] [:: Download ::]
  
Picture Gallery
  :: Курсовая работа >>
  :: Курсовая на VB >>
  :: Программа на VB >>
  
  :: Правила игры >>
  :: Скачай игры >>

    Процедура для сохранения цветовых атрибутов всех ячеек нижней строки до установки маркера:
    
    Private Sub Save_Color()
    savecolor(0) = Label7.BackColor   'Запомнить цвет фона Label7
    savecolor(1) = Label8.BackColor   'Запомнить цвет фона Label8
    savecolor(2) = Label9.BackColor   'Запомнить цвет фона Label9
    savecolor(3) = Label10.BackColor   'Запомнить цвет фона Label10
    savecolor(4) = Label11.BackColor   'Запомнить цвет фона Label11
    savecolor(5) = Label12.BackColor   'Запомнить цвет фона Label12
    savecolor(6) = Label13.BackColor   'Запомнить цвет фона Label13
    savecolor(7) = Label14.BackColor   'Запомнить цвет фона Label14
    End Sub
    
    Создадим триггер firstset = 0
    Триггер =0, если маркер в нижнюю строку еще не ставили.
    
    Общий фрагмент кода, обрабатывающий установку маркера в нижней строке -
см. листинг.
    
    Игра
    
    Процедура Save_Color() будет использоваться для восстановления цвета ячеек при перемещении маркера по горизонтали (по нижней строке игрового поля).
    Создадим переменную markersave в которой будем запоминать НОМЕР ЭЛЕМЕНТА массива savecolor(j), которая соответствует ячейке с маркером (в которую поставили маркер).
    

Board game
  
  Game dice
  
  
  :: Книги >>

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

    Можно проверить, что маркер возможно поставить только в одну ячейку. Теперь нужно обеспечить сохранение маркера (окраску ячейки в синий цвет) при сдвигании ячеек сверху-вниз.
    Процедура восстановления цвета маркера после смещения ячеек игрового поля сверху-вниз:
    
    Private Sub Marker_Reset()
    If markersave = 0 Then Label7.BackColor = &HFF0000
    If markersave = 1 Then Label8.BackColor = &HFF0000
    If markersave = 2 Then Label9.BackColor = &HFF0000
    If markersave = 3 Then Label10.BackColor = &HFF0000
    If markersave = 4 Then Label11.BackColor = &HFF0000
    If markersave = 5 Then Label12.BackColor = &HFF0000
    If markersave = 6 Then Label13.BackColor = &HFF0000
    If markersave = 7 Then Label14.BackColor = &HFF0000
    End Sub
    
    Теперь «подключим» процедуру Marker_Reset() к работе в процедуре сдвига вниз. В самый низ процедуры Frame1_Click() вставим следующий код (выделен красным цветом):
    
    Private Sub Frame1_Click()
    Num_Move  'Сдвинуть значения всех строк на одну вниз
    Up_Str_App  'Заполнить верхнюю строку новыми номиналами
    Marker_Reset  'Восстановить маркер
    End Sub
    
    Полный VB-проект с этого этапа разработки игры - в файле
vbg5.zip
    
    Напишем процедуру подсчета очков при установке маркера в начале игры -
см. листинг.
    
    

    Теперь «подключим» процедуру подсчета очков – в каждую из процедур Click-а для ячеек нижней строки:
    
    Private Sub Label7_Click()
    If firstset = 0 Then Save_Color  'Запомнить цвет фона
    If firstset = 0 Then Label7.BackColor = &HFF0000  'Поставить цвет фона маркера (синий)
    If firstset = 0 Then firstset = 1  'Больше не обрабатывать
    markersave = 0  'Указывает на ячейку, в которую установлен маркер
    Set_Marker_Count ‘Скорректировать счет
    End Sub
    Для остальных ячеек нижней строки – точно так же.
    
    Теперь напишем процедуру подсчета очков при сдвиге ячеек сверху – вниз. Процедура будет выглядеть чрезвычайно просто:
    
    Private Sub Dn_Count()
    'Подсчитать очки при сдвиге сверху - вниз
    n = 0 ‘Временно разрешить работу процедуры Set_Marker_Count
    Set_Marker_Count  ‘Процедура подсчета очков при постановке маркера
    End Sub
    

Курсовая бесплатно

    Для демонстрации работы процедуры вставим ее вызов в процедуру сдвига рядов ячеек сверху – вниз Frame1_Click():
    
    
    Private Sub Frame1_Click()
    Num_Move  'Сдвинуть номиналы всех ячеек сверху - вниз
    Up_Str_App  'Заполнить верхнюю строку игрового поля новыми номиналами
    Marker_Reset  'Восстановить маркер
    Dn_Count  'Подсчитать очки при сдвиге сверху - вниз
    End Sub
    
    
    Полный VB-проект с этого этапа разработки игры - в файле
vbg6.zip
    
    
    Создадим процедуру работы цветного линейного индикатора. Добавим на форму таймер Timer1 и сразу «разрешим» его.
Листинг процедуры.
    
    
    Можно посмотреть, как индикатор работает.
    
    
    Теперь таймер нужно «задизейблить» и разрешать только после того, как маркер будет поставлен в нижнюю строку игрового поля. Разрешение таймера вставим в процедуру постановки маркера на нижней строке игрового поля (а точнее – в процедуру подсчета очков после установки маркера Set_Marker_Count(), т.к. она общая для всех ячеек нижнего уровня). В конце процедуры Set_Marker_Count() появится строка:
    
    
    Timer1.Enabled = True  'Разрешить таймер, т.к. маркер поставлен
    
    
    Полный VB-проект с этого этапа разработки игры - в файле
vbg7.zip
    
    
    Когда цветной линейный индикатор полностью исчезнет, необходимо сдвинуть все строки с ячейками игрового поля сдвинуть вниз (процедура Frame1_Click() ), на маркер, подсчитать очки и заполнить верхнюю строку игрового поля новыми значениями номиналов.
    Процедура работы таймера Timer1 будет выглядеть следующим образом:
    
    
    Private Sub Timer1_Timer()
    IndLent = IndLent + 1
    If IndLent = 9 Then
      IndLent = 0
      Timer1.Interval = 500
      Frame1_Click 'Сдвинуть уровни
    End If
    Print_Ind  'Нарисовать индикатор
    End Sub
    
    
    Теперь нужно написать обработку нажатий клавиш и перемещения маркера вправо-влево по нижней строке ячеек игрового поля.
    Разместим на форме Form1 еще один таймер Timer2. Поставим интервал времени для Timer2 = 50 и поместим в процедуру работы принтера код проверки состояния клавиш. Объявим нужное для работы процедуры:
    
    
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
    
    
    Собственно код обработки -
см. листинг.
    

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

    Надписи в заголовке формы "Left" и "Right" выводятся только для отладки. Переменная markersave однозначно показывает в какой ячейке нижней строки игрового поля стоит маркер. Напишем процедуру перемещения маркера вправо-влево по нижней строке - см. листинг.
    
    
    Теперь нужно сделать всего одну процедуру – процедуру сдвига нумерации текущих игровых уровней |Level|:
    
    
    Private Sub Level_Count()
    Label6.Caption = Label6.Caption + 1
    Label5.Caption = Label6.Caption + 1
    Label4.Caption = Label5.Caption + 1
    Label3.Caption = Label4.Caption + 1
    Label2.Caption = Label3.Caption + 1
    End Sub
    
    
    Подключим процедуру сдвига слоев к работе, например так:
    
    
    Private Sub Dn_Count()
    'Подсчитывать очки при сдвиге сверху вниз
    n = 0
    Set_Marker_Count
    Level_Count 'Сдвинуть уровни Level
    End Sub
    
    
    Полный VB-проект с этого этапа разработки игры - в файле
vbg8.zip
    
    Один из финальных вариантов игры из 2-й части руководства (с системой бонусов, с процедурами усложнения, с доступом к Internet) - в файле
vbg15.zip
    
    Показательный момент – написаны все процедуры для software-реализации игры Oflameron. Т.е. Вы создали совершенно работоспособную игровую программу на Visual Basic. Представлять ее как коммерческий продукт рано – еще много «шероховатостей». Например, если Click-нуть на объекте Frame, то игра начнется без установки маркера. Устранению таких «шероховатостей», приданию программе коммерческого вида будет посвящена 2-я часть руководства. В 3-ей части руководства описан процесс конвертирования игры в графический вариант.
    
    

[:: На главную ::] [:: В начало ::] [:: Download ::]
Авторские права
Рейтинг@Mail.ru

    Все материалы для изготовления игрового комплекта абсолютно бесплатны.
    
    Материалы сервера предназначены для свободного и бесплатного использования, как коммерческого так и некоммерческого. Обязательным условием является сохранение всех авторских прав, действующего законодательства, идеологии игры.
    
     Авторские права (c) by Valery V Shmeleff http://www.oflameron.ru   Game authors mail.
    

Registered in Russian Federation RIPN 30 Nov 2001  

Скачать    :: Papers Game :: :: Table game :: :: Скачать бесплатно :: :: Книги :: :: Листинги игры :: :: Генератор игры :: :: Скачать ::