Game-Project (Программирование логической игры на visual basic), страница 2

2016-07-31СтудИзба

Описание файла

Документ из архива "Программирование логической игры на visual basic", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "Game-Project"

Текст 2 страницы из документа "Game-Project"

Label7.ForeColor = Label56.ForeColor

В итоге появится процедура Sub Field_Fill() копирования номиналов из «дежурной» ячейки Label56, а процедура 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 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 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 = &H80000008

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 Label56.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

'Label7.BackColor = Label56.BackColor

'Label7.ForeColor = Label56.ForeColor

'Form1.Caption = field(0, 0)

End Sub

Private Sub Field_Fill()

'Копирование номиналов и атрибутов из «дежурной» ячейки Label56

k = 0 ‘Счетчик ячеек

For j = 0 To 4

For i = 0 To 7

Color_Chars 'Поместить следующее значение из массива field(i, j) в Label56

‘и вычислить цветовые атрибуты символа и фона по ее номиналу

If k = 0 Then Label7.Caption = Label56.Caption

If k = 0 Then Label7.BackColor = Label56.BackColor

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.BackColor

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 Label19.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 = Label56.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 Label27.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 Label33.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 = Label56.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 = Label56.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 Label41.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 = Label56.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

Field_Fill

End Sub

Для того, чтобы посмотреть, как все работает, добавим еще одну процедуру Form_Click() (на некоторое время. Для отладки):

Private Sub Form_Click()

Set_Nominal ‘Заполнить массив field(i,j)

Fdraw ‘Нарисовать на игровом поле значения массива field(i,j) – для отладки

Field_Fill ‘Нарисовать реальные номиналы ячеек и цветовые атрибуты

End Sub

- она полностью идентична процедуре Form_Load()

Теперь, кликая мышкой на поле формы Form1 (только формы), Вы можете посмотреть, что значения номиналов ячеек и их цветовые атрибуты меняются правильно.

Полный VB-проект с этого этапа разработки игры - в файле vbg2.zip

Процедуру Form_Click() можно удалить.

Разработаем процедуру Num_Move(), переписывающую значения и цветовые атрибуты ячеек игрового поля построчно, сверху – вниз. А так же – заполняющую верхний ряд игрового поля новыми значениями (т.е. новые значения ячеек как бы вводятся сверху игрового поля). Процедура будет содержать просто операторы копирования. Вы можете сами разработать более оптимальный алгоритм копирования.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5183
Авторов
на СтудИзбе
435
Средний доход
с одного платного файла
Обучение Подробнее