Курсовая: Программирование логических игр на visual basic - текст курсовой. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Курсовая

Программирование логических игр на visual basic

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 3033 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникальной курсовой работы

Узнайте стоимость написания уникальной работы

Руководство по разработке динами ческой логической игры на Visual Basic 6.0 Пошаговое описание процесса программирования всех процедур игры Oflameron – Он-Лайн версия . Данное руководство содержит подробнейшее описание процесса разработки полного аналога JAVA -игры на Visual Basic 6.0 (часть 1). В следующих частях документа : - Часть 2 – доводка игровой программы - Часть 3 – разработка версии игры на VB для «наладонных» компьютеров - Часть 4 – разработка версии игры на Delphi - Часть 5 – разработка версии игры на JAVA для сотовых телефонов OFLAMERON Часть 1 Создадим проект формата Project EXE . Создадим форму Form 1 размером 2715х 5745. На форме расположим элемент Frame , а в нем разместим элементы Label 1 – Label 55. Где Label 1 – Label 6 это колонка Level . А Label 7 – Label 46 – ячейки игрового п оля с номиналами . Label 47-48 – ячейки для служебной информации . Нижний цветной индикатор образован Label49-Label55. Колонке элементов Level и игровому полю будут соответствовать числовые массивы . Массив Dim level(5) Массив Dim field(8, 6) Краткое описание игры . Игра начинается с у становки игроком маркера в любую ячейку нижнего ряда ячеек (просто Click -нуть мышкой ). Такая ячейка выделяется синим цветом , а номинал занятой ячейки прибавляется (либо вычитается ) к счету игрока . Нижний цветной линейный индикатор начинает укорачиваться . Пока индикатор не исчез , игрок может перемещать игровой маркер по нижней строке вправо или влево от те кущего положения нажимая на клавиатуре стрелки «Вправо» или «Влево» . Номиналы всех ячеек , которые будет «проходить» маркер , будут прибавляться (или вычитаться ) к счету . Как только весь цветной линейный индикатор исчезнет , игрок не может перемещать свой ма р кер (на мгновение ), а номиналы всех ячеек сдвигаются сверху-вниз на одну строчку . Верхняя строка игрового поля заполняется новыми значениями от генератора случайных чисел . При этом , номинал ячейки , сдвинувшейся сверху на ячейку , в которой уже находится ма р кер , так же прибавляется к счету – это может существенно изменить ваш счет . После этого цветной линейный индикатор восстанавливается и начинает опять укорачиваться , а игрок опять может перемещать игровой маркер. Счет игры ведется в оранжевой ячейке Игра ведется до тех пор , пока счет игрока не станет равным нулю или маркер не попадет на ячейку с номиналом | End |. Игра совсем не так проста , как может показаться . Совсем легко разместит ь свой маркер так , что на него сместится ячейка с номиналом | Z | - обнуление счета , или | End | - окончание игры. Здесь описывается процесс программирования «текстовой версии» логической табличной игры « Oflameron » . Номиналы ячеек представлены на экране в с имвольном виде , а ячейки представляют собой элементы Label . В следующей части документа будет представлено полное описание процесса разработки графической версии игры и версии игры для карманных компьтеров ( PDA ). Программирование Заполним ячейки игровог о (массив field (8, 6))поля значениями от генератора случайных чисел . Вычислим количество секунд в текущем времени и столько раз «прокрутим» цикл с обращением к генератору случайных чисел : TM = Time 'Получить время в переменную TTMS = Len (TM) 'Определить длину строки с значением времени TTM = Mid $( TM , 7, 2) 'Выделить из строки количество секунд For i = 0 To TTM ‘ Цикл с числом повторений , равным количеству секунд Form1.Caption = Int((20 * Rnd) + 1) ‘ Значения запишем в заголовок формы , чтобы ‘ посмотреть , что работает Next i Заполним массив field(8, 5). Полностью процедура будет : Private Sub Set_Nominal() TM = Time 'Получить время в перем енную TTMS = Len ( TM ) 'Определить длину строки с значением времени TTM = Mid $( TM , 7, 2) 'Выделить из строки количество секунд For i = 0 To TTM Form1.Caption = Int((20 * Rnd) + 1) Next i '-------------------------------------------------- ' Заполним массив field(8, 5 ) For i = 0 To 7 For j = 0 To 4 field(i, j) = Int((20 * Rnd) + 1) Next j Next i End Sub Теперь можно записать тестовую процедуру Private Sub Fdraw() для того , чтобы посмотреть , как заполняется массив field (8, 6) Проце дура будет выглядеть следующим образом : Private Sub Fdraw() Label7.Caption = field(0, 0) Label8.Caption = field(1, 0) Label9.Caption = field(2, 0) Label10.Caption = field(3, 0) Label11.Caption = field(4, 0) Label12.Caption = field(5, 0) Label13.Caption = field(6, 0) Label14.Caption = field(7, 0) Label15.Caption = field(0, 1) Label16.Caption = field(1, 1) Label17.Caption = field(2, 1) Label18.Caption = field(3, 1) Label19.Caption = field(4, 1) Label20.Caption = field(5, 1) Label21.Caption = field(6, 1) Labe l22.Caption = field(7, 1) Label23.Caption = field(0, 2) Label24.Caption = field(1, 2) Label25.Caption = field(2, 2) Label26.Caption = field(3, 2) Label27.Caption = field(4, 2) Label28.Caption = field(5, 2) Label29.Caption = field(6, 2) Label30.Caption = field(7, 2) Label31.Caption = field(0, 3) Label32.Caption = field(1, 3) Label33.Caption = field(2, 3) Label34.Caption = field(3, 3) Label35.Caption = field(4, 3) Label36.Caption = field(5, 3) Label37.Caption = field(6, 3) Label38.Caption = field(7, 3) Label39.Caption = field(0, 4) Label40.Caption = field(1, 4) Label41.Caption = field(2, 4) Label42.Caption = field(3, 4) Label43.Caption = field(4, 4) Label44.Caption = field(5, 4) Label45.Caption = field(6, 4) Label46.Caption = field(7, 4) E nd Sub Т.е . здесь просто каждая ячейка записывается в Caption каждой ячейки . Такой метод не стоит считать оптимальным и в последующем можно использовать другие приемы программирования . Чтобы посмотреть резльтаты , нужно вставить вызов двух процедур Private Sub Set_Nominal() и Private Sub Fdraw() в автозапуск при старте программы (на время ): Private Sub Form_Load() Set_Nominal Fdraw End Sub Полный проект на Visual Basic этого этапа разработки игры – в файле vbg1.zip Теперь нужно создать процедуру , в кото рой будет анализироваться содержимое ячеек массива field (8, 6) и в зависимости от их значений будет формироваться нужное символьное значение (номинал ) ячейки игрового поля и задаваться нужный цвет символа и фона ячейки. Перепишем процедуру Fdraw () в другу ю процедуру . Создадим еще одну Label 56 для временного хранения «сгенерированного» номинала ячейки и ее цветовых атрибутов (выделена на рисунке ). Private Sub Color_Chars() If field (i, j) = 0 Then Label56.Caption = "+1" If field(i, j) = 0 Then Label56.BackColor = &HBBECF4 If field(i, j) = 0 Then Label56.ForeColor = &H80000008 If field(i, j) = 1 Then Label56.Caption = "-1" If field(i, j) = 1 Then Label56.BackColor = &HBBECF4 If field (i, j) = 1 Then Label56.ForeColor = &H80000008 If field(i, j) = 2 Then Label56.Caption = "+5" If field(i, j) = 2 Then Label56.BackColor = &HBBECF4 If field(i, j) = 2 Then Label56.ForeColor = &H80000008 If field(i, j) = 3 Then Label56.Caption = "-5" If fi eld(i, j) = 3 Then Label56.BackColor = &HBBECF4 If field(i, j) = 3 Then Label56.ForeColor = &H80000008 If field(i, j) = 4 Then Label56.Caption = "+10" If field(i, j) = 4 Then Label56.BackColor = &HBBECF4 If field(i, j) = 4 Then Label56.ForeColor = &H80000 008 If field(i, j) = 5 Then Label56.Caption = "-10" If field(i, j) = 5 Then Label56.BackColor = &HBBECF4 If field(i, j) = 5 Then Label56.ForeColor = &H80000008 If field(i, j) = 6 Then Label56.Caption = "+15" If field(i, j) = 6 Then Label56.Bac kColor = &HBBECF4 If field(i, j) = 6 Then Label56.ForeColor = &H80000008 If field(i, j) = 7 Then Label56.Caption = "-15" If field(i, j) = 7 Then Label56.BackColor = &HBBECF4 If field(i, j) = 7 Then Label56.ForeColor = &H80000008 If field(i, j) = 8 Then L abel56.Caption = "+25" If field(i, j) = 8 Then Label56.BackColor = &HBBECF4 If field(i, j) = 8 Then Label56.ForeColor = &H80000008 If field(i, j) = 9 Then Label56.Caption = "T" If field(i, j) = 9 Then Label56.BackColor = &HABCFBB If field(i, j) = 9 Then L abel56.ForeColor = &H80000008 If field(i, j) = 10 Then Label56.Caption = "P" If field(i, j) = 10 Then Label56.BackColor = &HFFC0C0 If field(i, j) = 10 Then Label56.ForeColor = &H80000008 If field(i, j) = 11 Then Label56.Caption = "B" If field(i, j) = 11 Then Label56.BackColor = &H80FFFF If field(i, j) = 11 Then Label56.ForeColor = &H80000008 If field(i, j) = 12 Then Label56.Caption = "Z" If field(i, j) = 12 Then Label56.BackColor = &H40& If field(i, j) = 12 Then Label56.ForeColor = &HFFFFFF If field(i, j) = 13 Then Label56.Caption = "Z" If field(i, j) = 13 Then Label56.BackColor = &H40& If field(i, j) = 13 Then Label56.ForeColor = &HFFFFFF If field(i, j) = 14 Then Label56.Caption = "End" If field(i, j) = 14 Then Label56.BackColor = &HFF& If field(i, j) = 14 Then Label56.ForeColor = &HFFFFFF If field(i, j) = 15 Then Label56.Caption = "-10" If field(i, j) = 15 Then Label56.BackColor = &HBBECF4 If field(i, j) = 15 Then Label56.ForeColor = &H80000008 If field(i, j) = 16 Then Label56.Caption = " -5" If field(i, j) = 16 Then Label56.BackColor = &HBBECF4 If field(i, j) = 16 Then Label56.ForeColor = &H80000008 If field(i, j) = 17 Then Label56.Caption = "-1" If field(i, j) = 17 Then Label56.BackColor = &HBBECF4 If field(i, j) = 17 Then Label56.ForeCo lor = &H80000008 If field(i, j) = 18 Then Label56.Caption = "+1" If field(i, j) = 18 Then Label56.BackColor = &HBBECF4 If field(i, j) = 18 Then Label56.ForeColor = &H80000008 If field(i, j) = 19 Then Label56.Caption = "+5" If field(i, j) = 19 Then Label56.BackColor = &HBBECF4 If field(i, j) = 19 Then Label56.ForeColor = &H80000008 End Sub Теперь добавим копирование значения и атрибутов ячейки Label 56 в ячейку игрового поля и используем несколько циклов для обработки всего массива field (8, 6) : - пример копирования Label7.Caption = Label56.Caption Label7.BackColor = Label56.BackColor Label7.ForeColor = Label56.ForeColor В итоге появится процедура Sub Field _ Fill () копирования номиналов из «дежурной» ячейки Label 56 , а процед ура Color _ Chars () изменится следующим образом : Private Sub Color_Chars() If field(i, j) = 0 Then Label56.Caption = "+1" If field(i, j) = 0 Then Label56.BackColor = &HBBECF4 If field(i, j) = 0 Then Label56.ForeColor = &H80000008 If field(i, j) = 1 Then L abel56.Caption = "-1" If field(i, j) = 1 Then Label56.BackColor = &HBBECF4 If field(i, j) = 1 Then Label56.ForeColor = &H80000008 If field(i, j) = 2 Then Label56.Caption = "+5" If field(i, j) = 2 Then Label56.BackColor = &HBBECF4 If field(i, j) = 2 Then L abel56.ForeColor = &H80000008 If field(i, j) = 3 Then Label56.Caption = "-5" If field(i, j) = 3 Then Label56.BackColor = &HBBECF4 If field(i, j) = 3 Then Label56.ForeColor = &H80000008 If field(i, j) = 4 Then Label56.Caption = "+10" If field(i, j) = 4 Then Label56.BackColor = &HBBECF4 If field(i, j) = 4 Then Label56.ForeColor = &H80000008 If field(i, j) = 5 Then Label56.Caption = "-10" If field(i, j) = 5 Then Label56.BackColor = &HBBECF4 If field(i, j) = 5 Then Label56.ForeColor = &H 80000008 If field(i, j) = 6 Then Label56.Caption = "+15" If field(i, j) = 6 Then Label56.BackColor = &HBBECF4 If field(i, j) = 6 Then Label56.ForeColor = &H80000008 If field(i, j) = 7 Then Label56.Caption = "-15" If field(i, j) = 7 Then Label56.BackColor = &HBBECF4 If field(i, j) = 7 Then Label56.ForeColor = &H80000008 If field(i, j) = 8 Then Label56.Caption = "+25" If field(i, j) = 8 Then Label56.BackColor = &HBBECF4 If field(i, j) = 8 Then Label56.ForeColor = &H80000008 If field(i, j) = 9 Then Label56 .Caption = "T" If field(i, j) = 9 Then Label56.BackColor = &HABCFBB If field(i, j) = 9 Then Label56.ForeColor = &H80000008 If field(i, j) = 10 Then Label56.Caption = "P" If field(i, j) = 10 Then Label56.BackColor = &HFFC0C0 If field(i, j) = 10 Then Label56.ForeColor = &H80000008 If field(i, j) = 11 Then Label56.Caption = "B" If field(i, j) = 11 Then Label56.BackColor = &H80FFFF If field(i, j) = 11 Then Label56.ForeColor = &H80000008 If field(i, j) = 12 Then Label56.Caption = "Z" If field(i, j) = 12 Then Label56.BackColor = &H40& If field(i, j) = 12 Then Label56.ForeColor = &HFFFFFF If field(i, j) = 13 Then Label56.Caption = "Z" If field(i, j) = 13 Then Label56.BackColor = &H40& If field(i, j) = 13 Then Label56.ForeColor = & HFFFFFF If field(i, j) = 14 Then Label56.Caption = "End" If field(i, j) = 14 Then Label56.BackColor = &HFF& If field(i, j) = 14 Then Label56.ForeColor = &HFFFFFF If field(i, j) = 15 Then Label56.Caption = "-10" If field(i, j) = 15 Then Label56.BackColor = &HBBECF4 If field(i, j) = 15 Then Label56.ForeColor = &H80000008 If field(i, j) = 16 Then Label56.Caption = "-5" If field(i, j) = 16 Then Label56.BackColor = &HBBECF4 If field(i, j) = 16 Then Label56.ForeColor = &H80000008 If field(i, j) = 17 Then Labe l56.Caption = "-1" If field(i, j) = 17 Then Label56.BackColor = &HBBECF4 If field(i, j) = 17 Then Label56.ForeColor = &H80000008 If field(i, j) = 18 Then Label56.Caption = "+1" If field(i, j) = 18 Then Label56.BackColor = &HBBECF4 If field(i, j) = 18 Then Label56.ForeColor = &H80000008 If field(i, j) = 19 Then Label56.Caption = "+5" If field(i, j) = 19 Then Label56.BackColor = &HBBECF4 If field(i, j) = 19 Then Label56.ForeColor = &H80000008 'Label7.Caption = Label56.Caption 'Label 7.BackColor = Label56.BackColor 'Label7.ForeColor = Label56.ForeColor 'Form1.Caption = field(0, 0) End Sub Private Sub Field_Fill() 'Копирование номиналов и атрибутов из «дежурной» ячейки Label 56 k = 0 ‘ Счетчик ячеек For j = 0 To 4 For i = 0 To 7 Color _ Chars 'Поместить следующее значение из массива field ( i , j ) в Label 56 ‘ и вычислить цветовые атрибуты символа и фона по ее номиналу If k = 0 Then Label7.Caption = Label56.Caption If k = 0 Then Label7.BackColor = Label56.BackC olor If k = 0 Then Label7.ForeColor = Label56.ForeColor If k = 1 Then Label8.Caption = Label56.Caption If k = 1 Then Label8.BackColor = Label56.BackColor If k = 1 Then Label8.ForeColor = Label56.ForeColor If k = 2 Then Label9.Caption = Label56.Caption If k = 2 Then Label9.BackColor = Label56.BackColor If k = 2 Then Label9.ForeColor = Label56.ForeColor If k = 3 Then Label10.Caption = Label56.Caption If k = 3 Then Label10.BackColor = Label56.Back Color If k = 3 Then Label10.ForeColor = Label56.ForeColor If k = 4 Then Label11.Caption = Label56.Caption If k = 4 Then Label11.BackColor = Label56.BackColor If k = 4 Then Label11.ForeColor = Label56.ForeColor If k = 5 Then Label12.Caption = Label56.Caption If k = 5 Then Label12.BackColor = Label56.BackColor If k = 5 Then Label12.ForeColor = Label56.ForeColor If k = 6 Then Label13.Caption = Label56.Caption If k = 6 Then Label13.BackColor = Label56.BackColor If k = 6 Then Label13 .ForeColor = Label56.ForeColor If k = 7 Then Label14.Caption = Label56.Caption If k = 7 Then Label14.BackColor = Label56.BackColor If k = 7 Then Label14.ForeColor = Label56.ForeColor If k = 8 Then Label15.Caption = Label56.Caption If k = 8 Then Label15.BackColor = Label56.BackColor If k = 8 Then Label15.ForeColor = Label56.ForeColor If k = 9 Then Label16.Caption = Label56.Caption If k = 9 Then Label16.BackColor = Label56.BackColor If k = 9 Then Label16.ForeColor = Label56.ForeColor If k = 10 Then Label17.Caption = Label56.Caption If k = 10 Then Label17.BackColor = Label56.BackColor If k = 10 Then Label17.ForeColor = Label56.ForeColor If k = 11 Then Label18.Caption = Label56.Caption If k = 11 Then Label18.BackColor = Label56.BackColor If k = 11 Then Label18.ForeColor = Label56.ForeColor If k = 12 Then Label19.Caption = Label56.Caption If k = 12 Then Label19.BackColor = Label56.BackColor If k = 12 Then Labe l19.ForeColor = Label56.ForeColor If k = 13 Then Label20.Caption = Label56.Caption If k = 13 Then Label20.BackColor = Label56.BackColor If k = 13 Then Label20.ForeColor = Label56.ForeColor If k = 14 Then Label21.Caption = Label56.Caption If k = 14 Then Label21.BackColor = Label56.BackColor If k = 14 Then Label21.ForeColor = Label56.ForeColor If k = 15 Then Label22.Caption = Label56.Caption If k = 15 Then Label22.BackColor = Label56.BackColor If k = 15 Then Label22.ForeColor = Labe l56.ForeColor If k = 16 Then Label23.Caption = Label56.Caption If k = 16 Then Label23.BackColor = Label56.BackColor If k = 16 Then Label23.ForeColor = Label56.ForeColor If k = 17 Then Label24.Caption = Label56.Caption If k = 17 Then Label24.BackColor = Label56.BackColor If k = 17 Then Label24.ForeColor = Label56.ForeColor If k = 18 Then Label25.Caption = Label56.Caption If k = 18 Then Label25.BackColor = Label56.BackColor If k = 18 Then Label25.ForeColor = Label56.ForeColor If k = 19 Then Label26.Caption = Label56.Caption If k = 19 Then Label26.BackColor = Label56.BackColor If k = 19 Then Label26.ForeColor = Label56.ForeColor If k = 20 Then Label27.Caption = Label56.Caption If k = 20 Then Lab el27.BackColor = Label56.BackColor If k = 20 Then Label27.ForeColor = Label56.ForeColor If k = 21 Then Label28.Caption = Label56.Caption If k = 21 Then Label28.BackColor = Label56.BackColor If k = 21 Then Label28.ForeColor = Label56.ForeColor If k = 22 Then Label29.Caption = Label56.Caption If k = 22 Then Label29.BackColor = Label56.BackColor If k = 22 Then Label29.ForeColor = Label56.ForeColor If k = 23 Then Label30.Caption = Label56.Caption If k = 23 Then Label30.BackColor = Label56.BackColor If k = 23 Then Label30.ForeColor = Label56.ForeColor If k = 24 Then Label31.Caption = Label56.Caption If k = 24 Then Label31.BackColor = Label56.BackColor If k = 24 Then Label31.ForeColor = Label56.ForeColor If k = 25 Then Label32.Caption = Label56.Caption If k = 25 Then Label32.BackColor = Label56.BackColor If k = 25 Then Label32.ForeColor = Label56.ForeColor If k = 26 Then Label33.Caption = Label56.Caption If k = 26 Then Lab el33.BackColor = Label56.BackColor If k = 26 Then Label33.ForeColor = Label56.ForeColor If k = 27 Then Label34.Caption = Label56.Caption If k = 27 Then Label34.BackColor = Label56.BackColor If k = 27 Then Label34.ForeColor = Label56.ForeColor If k = 28 Then Label35.Caption = Label56.Caption If k = 28 Then Label35.BackColor = Label56.BackColor If k = 28 Then Label35.ForeColor = Label56.ForeColor If k = 29 Then Label36.Caption = Label56.Caption If k = 29 Then Label36.BackColor = Lab el56.BackColor If k = 29 Then Label36.ForeColor = Label56.ForeColor If k = 30 Then Label37.Caption = Label56.Caption If k = 30 Then Label37.BackColor = Label56.BackColor If k = 30 Then Label37.ForeColor = Label56.ForeColor If k = 31 Then Label38.Caption = Label56.Caption If k = 31 Then Label38.BackColor = Label56.BackColor If k = 31 Then Label38.ForeColor = Label56.ForeColor If k = 32 Then Label39.Caption = Label56.Caption If k = 32 Then Label39.BackColor = Labe l56.BackColor If k = 32 Then Label39.ForeColor = Label56.ForeColor If k = 33 Then Label40.Caption = Label56.Caption If k = 33 Then Label40.BackColor = Label56.BackColor If k = 33 Then Label40.ForeColor = Label56.ForeColor If k = 34 Then Lab el41.Caption = Label56.Caption If k = 34 Then Label41.BackColor = Label56.BackColor If k = 34 Then Label41.ForeColor = Label56.ForeColor If k = 35 Then Label42.Caption = Label56.Caption If k = 35 Then Label42.BackColor = Label56.BackColor If k = 35 Then Label42.ForeColor = Label56.ForeColor If k = 36 Then Label43.Caption = Label56.Caption If k = 36 Then Label43.BackColor = Label56.BackColor If k = 36 Then Label43.ForeColor = Label56.ForeColor If k = 37 Then Label44.Caption = Label 56.Caption If k = 37 Then Label44.BackColor = Label56.BackColor If k = 37 Then Label44.ForeColor = Label56.ForeColor If k = 38 Then Label45.Caption = Label56.Caption If k = 38 Then Label45.BackColor = Label56.BackColor If k = 38 Then Label45.ForeColor = Label56.ForeColor If k = 39 Then Label46.Caption = Label56.Caption If k = 39 Then Label46.BackColor = Label56.BackColor If k = 39 Then Label46.ForeColor = Label56.ForeColor k = k + 1 Next i Next j End Sub Такой вариант заполнения игрового поля НАЧАЛЬНЫМИ значениями (при старте игры ) нельзя считать оптимальным . Однако он очень нагляден для понимания алгоритма. Процедура Form _ Load () теперь будет выглядеть так : Private Sub Form_Load() Set_Nominal Fdraw Fiel d_Fill End Sub Для того , чтобы посмотреть , как все работает , добавим еще одну процедуру Form _ Click () (на некоторое время . Для отладки ): Private Sub Form_Click() Set_Nominal ‘ Заполнить массив field(i,j) Fdraw ‘ Нарисовать на игровом поле зн ачения массива field ( i , j ) – для отладки Field_Fill ‘ Нарисовать реальные номиналы ячеек и цветовые атрибуты End Sub - она полностью идентична процедуре Form _ Load () Теперь , кликая мышкой на поле формы Form 1 ( только формы ), Вы можете посмотреть , чт о значения номиналов ячеек и их цветовые атрибуты меняются правильно . Полный VB -проект с этого этапа разработки игры - в файле vbg 2. zip Процедуру Form _ Click () можно удалить. Разработаем процедуру Num_Move() , переписывающую значения и цветовые атрибуты ячеек игрового поля построчно , сверху – вниз . А так же – заполняющую верхний ряд игрового поля новыми значениями (т.е . новые значения ячеек как бы вводятся сверху игрового поля ). Процедура будет содержать просто операторы копирования . Вы можете сами разр а ботать более оптимальный алгоритм копирования. Private Sub Num_Move() For j = 0 To 4 For i = 0 To 7 field(i, j) = field(i, j + 1) Next i Next j Field _ Fill 'Нарисовать новые значения на экран End Sub Чтобы посмотреть , как работает копирование знач ений и атрибутов ячеек сверху вниз , создадим «временную» процедуру обработки Click -а на рамке Frame 1 : Private Sub Frame1_Click() Num_Move End Sub Полный VB -проект с этого этапа разработки игры - в файле vbg 3. zip Теперь нужно добавить код Private Sub Up_Str_App() для заполнения верхней строки игрового поля новыми значениями. Private Sub Up_Str_App() TM = Time 'Прочитать текущее время TTMS = Len(TM) 'Длина строки с временем TTM = Mid$(TM, 7, 2) 'Выделить секунд ы For i = 0 To TTM 'Повторить цикл столько раз , сколько секунд Next i '-------------------------------------------------- ' Заполнить верхнюю строку массива field(i, 5) For i = 0 To 7 field(i, 5) = Int((20 * Rnd) + 1) Next i '-------------------------------------------------- 'Заполнить верхнюю строку номиналами , копируя их из Label 56 Field _ Fill 'Перерисовать значения на экране , с новыми значениями верхней строки End Sub Подключим вызов процедуры в Frame 1. Click Полный VB -проект с этого этапа разработки игры - в файле vbg 4. zip Покликайте мышкой на поле Frame 1 и посмотрите , как все работает ! Теперь нужно написать код обработки постановки игроком игрового маркера в любую из ячеек нижней строки игрового поля. Процедура для сохранения цветовы х атрибутов всех ячеек нижней строки до установки маркера : 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, если маркер в нижнюю строку еще не ставили. Общий фрагмент кода , обрабатывающий установку маркера в нижней строке : Private Sub Label7_Cli ck() If firstset = 0 Then Save_Color 'Запомнить цвет фона всех ячеек нижней строки If firstset = 0 Then Label7.BackColor = &HFF0000 ' Маркер СИНЕГО цвета If firstset = 0 Then firstset = 1 ' Больше не обрабатывать markersave = 0 'Маркер в ячейке , соответствую щей savecolor (0) End Sub Private Sub Label8_Click() If firstset = 0 Then Save _ Color 'Запомнить цвет фона всех ячеек нижней строки If firstset = 0 Then Label8.BackColor = &HFF0000 ' Маркер СИНЕГО цвета If firstset = 0 Then firstset = 1 ' Больше не обрабатыв ать markersave = 1 'Маркер в ячейке , соответствующей savecolor (1) End Sub Private Sub Label9_Click() If firstset = 0 Then Save _ Color 'Запомнить цвет фона всех ячеек нижней строки If firstset = 0 Then Label9.BackColor = &HFF0000 ' Маркер СИНЕГО цвета If firstset = 0 Then firstset = 1 ' Больше не обрабатывать markersave = 2 'Маркер в ячейке , соответствующей savecolor (2) End Sub Private Sub Label10_Click() If firstset = 0 Then Save _ Color 'Запомнить цвет фона всех ячеек нижней строки If firstset = 0 Then Label10.BackColor = &HFF0000 ' Маркер СИНЕГО цвета If firstset = 0 Then firstset = 1 ' Больше не обрабатывать markersave = 3 'Маркер в ячейке , соответствующей savecolor (3) End Sub Private Sub Label11_Click() If firstset = 0 Then Save _ Color 'Запомнить цвет ф она всех ячеек нижней строки If firstset = 0 Then Label11.BackColor = &HFF0000 ' Маркер СИНЕГО цвета If firstset = 0 Then firstset = 1 ' Больше не обрабатывать markersave = 4 'Маркер в ячейке , соответствующей savecolor (4) End Sub Private Sub Label12_Click() If firstset = 0 Then Save _ Color 'Запомнить цвет фона всех ячеек нижней строки If firstset = 0 Then Label12.BackColor = &HFF0000 ' Маркер СИНЕГО цвета If firstset = 0 Then firstset = 1 ' Больше не обрабатывать markersave = 5 'Маркер в ячейке , соответствующей savecolor (5) End Sub Private Sub Label13_Click() If firstset = 0 Then Save _ Color 'Запомнить цвет фона всех ячеек нижней строки If firstset = 0 Then Label13.BackColor = &HFF0000 ' Маркер СИНЕГО цвета If firstset = 0 Then firstset = 1 ' Больше не обрабатыват ь markersave = 6 'Маркер в ячейке , соответствующей savecolor (6) End Sub Private Sub Label14_Click() If firstset = 0 Then Save _ Color 'Запомнить цвет фона всех ячеек нижней строки If firstset = 0 Then Label14.BackColor = &HFF0000 ' Маркер СИНЕГО цвета If fir stset = 0 Then firstset = 1 ' Больше не обрабатывать markersave = 7 'Маркер в ячейке , соответствующей savecolor (7) End Sub 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 savec olor(5) = Label12.BackColor 'Запомнить предыдущий цвет фона Label12 savecolor(6) = Label13.BackColor 'Запомнить предыдущий цвет фона Label13 savecolor(7) = Label14.BackColor 'Запомнить предыдущий цвет фона Label14 End Sub Процедура Save _ Color () будет использоваться для восстановления цвета ячеек при перемещении маркера по горизонтали (по нижней строке игрового поля ). Создадим переменную markersave в к оторой будем запоминать НОМЕР ЭЛЕМЕНТА массива savecolor ( j ) , которая соответствует ячейке с маркером (в которую поставили маркер ). Можно проверить , что маркер возможно поставить только в одну ячейку . Теперь нужно обеспечить сохранение маркера (окраску яче йки в синий цвет ) при сдвигании ячеек сверху-вниз. Процедура восстановления цвета маркера после смещения ячеек игрового поля сверху-вниз : Private Sub Marker_Reset() If markersave = 0 Then Label7.BackColor = &HFF0000 If markersave = 1 Then Label8.BackCo lor = &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 Label1 3.BackColor = &HFF0000 If markersave = 7 Then Label14.BackColor = &HFF0000 End Sub Теперь «подключим» процедуру Marker_Reset() к работе в процедуре сдвига вниз . В самый низ процедуры Frame1_Click() вставим следующий код (выделен красным цветом ): Privat e Sub Frame 1_ Click () Num _ Move 'Сдвинуть значения всех строк на одну вниз Up _ Str _ App 'Заполнить верхнюю строку новыми номиналами Marker_Reset ' Восстановить маркер End Sub Полный VB -проект с этого этапа разработки игры - в файле vbg 5. zip Напишем проц едуру подсчета очков при установке маркера в начале игры. Private Sub Set_Marker_Count() 'Подсчет очков при постановке маркера Dim et 'В эту переменную будут записаны результаты пересчета значений массива field ( i , j ) 'в номинал ячеек If n = 0 Th en ‘ В какую из ячеек поставлен маркер – какие ячейки field ( i , j ) ей соответствуют If markersave = 0 Then et = field(0, 0) If markersave = 1 Then et = field(1, 0) If markersave = 2 Then et = field(2, 0) If markersave = 3 Then et = field(3, 0) If m arkersave = 4 Then et = field(4, 0) If markersave = 5 Then et = field(5, 0) If markersave = 6 Then et = field(6, 0) If markersave = 7 Then et = field(7, 0) ‘ Написать счет If et = 0 Then Label48.Caption = Label48.Caption + 1 If et = 1 Then Label48.Caption = Label48.Caption - 1 If et = 2 Then Label48.Caption = Label48.Caption + 5 If et = 3 Then Label48.Caption = Label48.Caption - 5 If et = 4 Then Label48.Caption = Label48.Caption + 10 If et = 5 Then Label48.Caption = Label48.Caption - 10 If et = 6 Then Label48.Caption = Label48.Caption + 15 If et = 7 Then Label48.Caption = Label48.Caption - 15 If et = 8 Then Label56.Caption = Label48.Caption + 25 If et = 9 Then Label48.Caption = Label48.Caption + 500 If et = 10 Then Label48.Caption = Label 48.Caption + 100 If et = 11 Then Label48.Caption = Label48.Caption - 200 If et = 12 Then Label48.Caption = 0 If et = 13 Then Label48.Caption = 0 If et = 14 Then End If et = 15 Then Label48.Caption = Label48.Caption - 10 If et = 16 Then Label48.Caption = La bel48.Caption - 5 If et = 17 Then Label48.Caption = Label48.Caption - 1 If et = 18 Then Label48.Caption = Label48.Caption + 1 If et = 19 Then Label48.Caption = Label48.Caption + 5 If et = 20 Then Label48.Caption = Label48.Caption - 25 n = 1 'Больше не обра батывать , т.к . маркер уже нарисован End If End Sub Теперь «подключим» процедуру подсчета очков – в каждую из процедур Click -а для ячеек нижней строки : Private Sub Label7_Click() If firstset = 0 Then Save_Color ' Запомнить цвет фона If firstset = 0 Then La bel7.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 -проект с этого этапа разработки игры - в файле vbg 6. zip Создадим процедуру работы цветного линейного индикатора . Добавим на форму таймер Timer 1 и сразу «разрешим» его. Private Sub Timer1_Timer() IndLent = IndLent + 1 If IndLent = 9 Then IndLent = 0 Timer1.Interval = 500 ‘ Восстановим интервал та ймера End If Print_Ind ' Нарисуем индикатор End Sub Процедура рисования индикатора : Private Sub Print_Ind() If IndLent = 1 Then Label55.Visible = False ‘ Загасить элемент индикатора If IndLent = 2 Then Label54.Visible = False ‘ Загасить элемент индикатора If IndLent = 3 Then Label53.Visible = False ‘ Загасить элемент индикатора If IndLent = 4 Then Label52.Visible = False ‘ Загасить элемент индикатора If IndLent = 5 Then Label51.Visible = False ‘ Загасить элемент индикатора If IndLent = 6 Then Label50.Visible = False ‘ Загасить элемент индикатора If IndLent = 7 Then Label49.Visible = False ‘ Загасить элемент индикатора If IndLent = 7 Then Timer 1. Interval = 100 ‘ Уменьшить интервал , чтобы индикатор ‘ восстанавливался побыстрее If IndLent = 0 Then ‘ Нарисовать индикатор полностью Label55.Visible = True Label54.Visible = True L abel53.Visible = True Label52.Visible = True Label51.Visible = True Label50.Visible = True Label49.Visible = True End If End Sub Можно посмотреть , как индикатор работает. Теперь таймер нужно «задизейблить» и разрешать только после тог о , как маркер будет поставлен в нижнюю строку игрового поля . Разрешение таймера вставим в процедуру постановки маркера на нижней строке игрового поля (а точнее – в процедуру подсчета очков после установки маркера Set_Marker_Count() , т.к . она общая для всех ячеек нижнего уровня ). В конце процедуры Set_Marker_Count() появится строка : Timer1.Enabled = True 'Разрешить таймер , т.к . маркер поставлен Полный VB -проект с этого этапа разработки игры - в файле vbg 7. zip Когда цветной линейный индикатор полностью исчезнет , необходимо сдвинуть все строки с ячейками игрового поля сдвинуть вниз (процедура Frame1_Click() ), на маркер , подсчитать очки и заполнить верхнюю строку игрового поля новыми значениями номиналов. Процедура работы таймера Timer 1 будет выглядеть следующим образом : Private Sub Timer1_Timer() IndLent = IndLent + 1 If IndLent = 9 Then IndLent = 0 Timer1.Interval = 500 Frame1_Click ' Сдвинуть уровни End If Print_Ind 'Нарисовать индикатор End Sub Теперь нужно написать обработку нажати й клавиш и перемещения маркера вправо-влево по нижней строке ячеек игрового поля. Разместим на форме Form 1 еще один таймер Timer 2. Поставим интервал времени для Timer 2 = 50 и поместим в процедуру работы принтера код проверки состояния клавиш : Объявим нужн ое для работы процедуры : Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer И собственно код обработки : Private Sub Timer2_Timer() 'Обработка нажатия клавиш "стрелка влево " и "стрелка вправо " If (Get AsyncKeyState(vbKeyLeft)) Then ' Кнопка влево Form1.Caption = "Left" ElseIf (GetAsyncKeyState(vbKeyRight)) Then ' Кнопка вправо Form1.Caption = "Right" End If End Sub Надписи в заголовке формы " Left " и " Right " выводятся только для отладки. Переменная markersave однозначно показывает в какой ячейке нижней строки игрового поля стоит маркер . Напишем процедуру перемещения маркера вправо-влево по нижней строке : Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 'Обработка нажатия клавиш «стрелка вправо» и «стрелка влево» If (GetAsyncKeyState(vbKeyLeft)) Then ' Кнопка влево Form1.Caption = "Left" Move _ Po int _ Left 'Переместить маркер влево ElseIf (GetAsyncKeyState(vbKeyRight)) Then ' Кнопка вправо Form1.Caption = "Right" Move _ Point _ Right 'Переместить маркер вправо End If End Sub Private Sub Move_Point_Left() If markersave = 0 Then 'Если самая левая ячейка нижней строки markersave = 7 'Левее самой левой ячейки – самая ПРАВАЯ (циклический переход ) firstset = 0 'Временно разрешить рисование маркера Label 7. BackColor = savecolor (0) 'Восстановить цвет фона ячейки , где БЫЛ маркер Label 14_ Click 'Переместить маркер (самая правая ячейка !) vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответству ет ‘ никакой ячейке ) End If If markersave = 1 Then markersave = 0 'Поместить левее firstset = 0 'Временно разрешить рисование маркера Label 8. BackColor = savecolor (1) 'Восстановить цв ет ячейки , где БЫЛ маркер Label7_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If If markersa ve = 2 Then markersave = 1 'Поместить левее firstset = 0 'Временно разрешить рисование маркера Label 9. BackColor = savecolor (2) 'Восстановить цвет ячейки , где БЫЛ маркер Label8_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If If markersave = 3 Then markersave = 2 'Поместить левее firstset = 0 'Временно разрешить рисование маркера Label 10. BackColor = savecolor (3) 'Восстановить цвет ячейки , где БЫЛ маркер Label9_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабаты вания (значение 10 не соответствует ‘ никакой ячейке ) End If If markersave = 4 Then markersave = 3 'Поместить левее firstset = 0 'Временно разрешить рисование маркера Label 11. BackCo lor = savecolor (4) 'Восстановить цвет ячейки , где БЫЛ маркер Label10_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If If markersave = 5 Then markersave = 4 'Поместить левее firstset = 0 'Временно разрешить рисование маркера Label 12. BackColor = savecolor (5) 'Восстановить цвет ячейки , где БЫЛ маркер Label11_Cli ck 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If If markersave = 6 Then markersave = 5 '' Поместить левее firstset = 0 'Временно разрешить рисование маркера Label 13. BackColor = savecolor (6) 'Восстановить цвет ячейки , где БЫЛ маркер Label12_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If If markersave = 7 Then markersave = 6 'Поместить левее firstset = 0 'Временно разрешить рисование маркера Label 14. BackColor = savecolor (7) 'Восстановить цвет ячейки , где БЫЛ маркер Label13_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If markersave = vt n = 0 Set_Marker_Count End Sub Private Sub Move_Point_Right() If markersave = 0 Then ' Если самая левая ячейка markersave = 1 'Переместить правее (т.к . значение > на 1) firstset = 0 ' Временно разрешить рисование маркера Label7.BackColor = savecolor (0) 'Восстановить цвет ячейки , где БЫЛ маркер Label8_Click 'Переместить маркер vt = markersave markersave = 10 'Запрети ть ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If If markersave = 1 Then markersave = 2 'Переместить правее (т.к . значение > на 1) firstset = 0 'Временно разр ешить рисование маркера Label 8. BackColor = savecolor (1) 'Восстановить цвет ячейки , где БЫЛ маркер Label9_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If If markersave = 2 Then markersave = 3 'Переместить правее (т.к . значение > на 1) firstset = 0 'Временно разрешить рисование маркера Label 9. BackColor = saveco lor (2) 'Восстановить цвет ячейки , где БЫЛ маркер Label10_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует ‘ никакой ячей ке ) End If If markersave = 3 Then markersave = 4 'Переместить правее (т.к . значение > на 1) firstset = 0 'Временно разрешить рисование маркера Label 10. BackColor = savecolor (3) 'Восстановить цвет ячейки , где БЫЛ маркер Label11_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If If markersave = 4 Then markersave = 5 'Переместить правее (т.к . значение > на 1) firstset = 0 'Временно разрешить рисование маркера Label 11. BackColor = savecolor (4) 'Восстановить цвет ячейки , где БЫЛ маркер Label12_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If If markersave = 5 Then markersave = 6 'Переместить правее (т.к . значение > на 1) firstset = 0 'Временно разрешить рисование маркера Label12.BackColor = savecolor(5) 'Восстановить цвет ячейки , где БЫЛ маркер Label13_Click 'Переместить маркер vt = markersave markersave = 10 'Запре тить ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If If markersave = 6 Then markersave = 7 'Переместить правее (т.к . значение > на 1) firstset = 0 'Временно раз решить рисование маркера Label 13. BackColor = savecolor (6) 'Восстановить цвет ячейки , где БЫЛ маркер Label14_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответств ует ‘ никакой ячейке ) End If If markersave = 7 Then markersave = 0 'Переместить правее (т.к . значение > на 1) firstset = 0 'Временно разрешить рисование маркера Label 14. BackColor = s avecolor (7) 'Восстановить цвет ячейки , где БЫЛ маркер Label7_Click 'Переместить маркер vt = markersave markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует ‘ никакой ячейке ) End If markersave = vt n = 0 Set_Marker_Count End Sub Теперь нужно сделать всего одну процедуру – процедуру сдвига нумерации текущих игровых уровней : 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 -проект с этого этапа разработки игры - в файле vbg 8. zip Показательный момент – написаны все процедуры для software -реализации игры Oflameron . Т.е . Вы созд али совершенно работоспособную игровую программу на Visual Basic . Представлять ее как коммерческий продукт рано – еще много «шероховатостей» . Например , если Click -нуть на объекте Frame , то игра начнется без установки маркера . Устранению таких «шероховатос тей» , приданию программе коммерческого вида будет посвящена 2-я часть руководства . - Часть 2 – доводка игровой программы - Часть 3 – разработка версии игры на VB для «наладонных» компьютеров - Часть 4 – разработка версии игры на Delphi - Часть 5 – раз работка версии игры на JAVA для сотовых телефонов На сайте http :// freeproject . narod . ru выложена другая версия программирования игры Oflameron на Visual Basic 6.0 На сайте http :// play - man . narod . ru выложена версия игры Oflameron на листочке бумаги . Достаточно просто распечатать игровой бланк из документа MS Word и играть. Резюме (не полное ): - ассемблер – 8 лет - JAVA – 4 года - VB – 6 лет - PHP – 5 лет P . S . Не считайте это описание оптимальным . Но это лучшее руководство по программированию игры в РуНет-е.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
В православном лагере у одного мальчика нашли вшей, но постриг пришлось принять всем.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, курсовая по программированию "Программирование логических игр на visual basic", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru