"Софтверная" реализация известной карточной игры "Oflameron". Однопользовательский вариант "Oflameron-Light". |
|
На официальном сайте карточной игры "Oflameron" www.oflameron.ru бесплатно доступны все материалы в оригинальной редакции. |
На этом сайте выложен иллюстрированный процесс разработки Software-версии карточной игры "Oflameron". |
|
WEB-сайт содержит подробнейшее (пошаговое) описание процесса программирования карточной игры. Описаны процессы создания и
размещения необходимых графических имиджей, их размеры и параметры, процесс создания, разработки и отладки алгоритма карточной игры. На сайте
приведен весь процесс программирования и отладки карточной игры на Visual Basic 6.0, даны полезные ссылки по теме. Данное руководство и программный код вполне допустимо
использовать в качестве курсовой работы.
Все материалы данного сайта разрешено использовать бесплатно (без авторских отчислений). Copyright автора (с) by Valery V Shmeleff |
Единственный web-сайт на котором пошагово описан весь процесс программирования карточной игры на Visual Basic 6.0
Приведены скрин-шоты на все этапы разработки. На сайте выложены полные листинги (проекты VB) на каждый этап программи- рования. Доступны все имиджи в исходном виде - формате PSD.
Материалы данного web-сайта настолько подробны, что позволяют разработать свою игровую программу специалисту с мини- мальными навыками работы на Visual Basic. |
|
|
|
|
[ :: Next PAGE :: ] [ :: Другая версия на VB6.0 :: ] [ :: Настольная версия :: ]
|
|
|
В данном документе подробно рассмотрен
процесс создания игры на Visual Basic. Для реализации выбран вариант "OFLAMERON-Light", аналогичный
JAVA-версии
Для реализации игры был выбран Visual BASIC 6.0 и разработан дизайн игровых фишек. Номиналы игровых
фишек полностью соответствуют номиналам игровых карт OFLAMERON. |
|
|
Oflameron-Light это динамический ондопользовательский вариант карточной игры Oflameron.
В Oflameron-Light карты заменены на игровые фишки тех же номиналов, а игра ведется на время (как в "Тетрис"-е). Цель игры - увеличение личного счета.
|
1. Фишки
|
|
|
Новые игровые фишки полностью соответствуют номиналам классических карт OFLAMERON. При этом фишки позволяют более гибко варьировать размер для более удачного размещения на игровом поле.
Для разработки собственных версий игровых фишек Вам доступны здесь версии имиджей в PSD формате.
Скачать в PSD формате |
|
|
|
2. Проект
|
|
|
Создадим проект Visual Basic и Форму. На форме разместим несколько PictureBox, в которых будем хранить имиджи игровых фишек. |
|
|
|
|
|
|
Создадим массив PictureBox1 из 14-ти
элементов. Нарисуем первый PictureBox и остальные создадим копированием на поле формы
проекта. В свойствах PictureBox выставим параметр AutoSize=True.
В свойствах PictureBox выберем параметр Picture и загрузим в
каждый из PictureBox1[элемент] имидж соответствующей игровой фишки. Предварительно PSD имиджи
игровых фишек надо конвертировать в формат JPG (например). В данном случае был так же
скорректирован размер имиджа в сторону уменьшения до ширины 100 pix. Высота имиджа не имеет
строгих ограничений. |
|
|
|
3. Игровое Поле - Форма
|
|
|
Игровое поле - Форма Form1
(Oflameron.frm) с набором PictureBox1 ячеек. В ячейки PictureBox1 помещены имиджи
игровых фишек всех номиналов. Параметры формы:
Height=7620
Left=0
Top=0
Width=11595
Скачать форму Form1(Oflameron.frm)
Краткое РУКОВОДСТВО
Иллюстрированное РУКОВОДСТВО
|
|
|
|
4. Алгоритм - Числовая Матрица
|
|
|
Создадим числовую матрицу размером 7x5 (7 - число столбцов,
5 - число строк в матрице). При этом для отображения на игровом поле будут предназначены только 4-е строки
(2-5 строки). 1-я строка будет невидимой , ее значения будут заполняться от генератора случайных чисел.
Dim matrica(7, 5)
Создадим одномерный массив (строку из 7 ячеек). Ячейки этого массива могут принимать значение
1 или 0, указывая на наличие маркера в соответствующей ячейке нижней строки массива Matrica (=1) или отсутствие
маркера в ячейке нижней строки массива Matrica (=0).
Dim Lmatrica(7)
Считаем, что ячейки от Matrica(0,0) до Matrica(6,0) составляют
"скрытую" строку, заполняемую генератором случайных чисел. Создадим 2 варианта кода генератора случайных чисел:
- для заполнения всего массива Matrica(7x5) (При старте игры)
- для заполнения "скрытой" 0-й строки массива Matrica.
Private Sub Form_Load() 'Работает при старте программы
For i = 0 To 6 'Заполняем столбцы
For j = 0 To 3 'Заполняем строки
matrica(i, j) = Int((24 * Rnd) + 1) 'Генерируем число от 1 до 24
Next j
Next i
End Sub
|
|
|
|
5. Графический аналог числовой матрицы
|
|
|
Уменьшим размеры элементов PictureBox1 чтобы освободить место на форме Form1 для размещения других элементов.
|
|
|
|
|
|
|
Разместим на форме Form1 массивы Image:
Image2 (элементы 0-6)
Image3 (элементы 0-6)
Image4 (элементы 0-6)
Image5 (элементы 0-6)
Каждому элементу 1-й строки числового массива matrica() соответствует один элемент Image Image2()
Каждому элементу 2-й строки числового массива matrica() соответствует один элемент Image Image3()
Каждому элементу 3-й строки числового массива matrica() соответствует один элемент Image Image4()
Каждому элементу 4-й строки числового массива matrica() соответствует один элемент Image Image5()
Обратите внимание, что 0-я строка числового массива matrica() не имеет графического аналога на поле формы Form1. А остальные строки массива
matrica() отображаются в соответствующие Image2() - Image5().
|
|
|
|
5.1 Комментарии
|
|
|
На поле формы Form1 созданы:
PictureBox для хранения изображений фишек;
массивы Image для отображения состояний ячеек числового массива matrica().
Зарезервирован двумерный массив matrica(), над которым будут производиться следующие действия:
массив заполняется значениями от генератора случайных чисел (диапазон 1-24);
значения элементов matrica() переписываются: 3-я строка - в 4-ю строку, 2-я строка - в 3-ю, 1-я строка
- во 2-ю, 0-я строка - в 1-ю. Нулевая строка массива matrica() заполняется на каждом шаге от генератора случайных чисел. (Т.е. весь
массив matrica() заполняется от генератора случайных чисел только в начале игры. На каждом шаге игры от генератора случайных чисел
заполняется только 0-я строка массива matrica()).
|
|
|
|
|
|
|
1-й этап в разработке проекта:
- Созданы имиджи игровых фишек и помещены в проект
- Создана форма для игрового поля и массив PictureBox
- Созданы числовые массивы и код для их заполнения
- Числовой массив получил графическое отражение на поле формы Form1.
Полный архив 1-го этапа проекта на VB6.0
Достигнут важный уровень - числовой массив получил графическое соответствие. Числовой массив matrica() при старте программы заполняется значениями генератора случайных чисел (значения от 1 до 24). Каждому значению (от 1 до 24) ставится в соответствие номинал фишки (игральной карты). Например: If matrica(i, 1) = 1 Then Image2(i).Picture = Picture1(0).Picture Т.е. если значение элемента числового массива matrica()=1, то в соответствующий Image (в данном случае Image2(i)) будет помещен имидж игральной фишки из Picture1(0), что соответствует [+1].
Аналогично заполняются все остальные Image. Здесь можно посмотреть текст процедур, устанавливающих соответствие значений элементов числового массива matrica() и их графических имиджей.
|
|
|
|
|
|
|
Чтобы ячейки Image2() - Image5() на поле формы заполнились имиджами Фишек необходимо просто Click-нуть мышкой на поле формы Form1.
|
|
|
|
[ :: Продолжение >> :: ] [ :: Другая версия на VB6.0 :: ] [ :: Настольная версия :: ]
|
|