Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Нерассмотренные возможности Visual Basic

Поиск

Как я уже говорил, Visual Basic огромен и в одну книжку не умещается. Я сейчас перечислю те солидные части Visual Basic, которые я из-за их сложности или объема оставил за бортом книжки. Ведь мир - это не только то, что у нас за спиной, но и впереди тоже.

ActiveX

Если вам не хватает элементов управления, предоставляемых Бэйсиком, вы можете создать собственные. Скажем, вам нужен элемент управления, который вы можете поместить на Toolbox и состоящий, подобно элементу Common Dialog, из кнопки, метки, списка и других объектов, которые взаимодействуют запрограммированным персонально вами образом. Ваши действия: вы создаете проект, но при его создании в диалоговом окне New Project выбираете не Standard EXE, а ActiveX Control. После этого вы конструируете и программируете ваш проект с прицелом на то, что он превратится в нужный вам элемент управления. Процесс этот более сложный, чем при создании обычного проекта. Вы имеете возможность создавать свойства, события и методы будущего элемента управления, который будет называться элемент управления ActiveX.

Использовать его можно и на Web-страницах.

Windows API

Visual Basic обладает множеством стандартных функций, пользуясь которыми программист выполняет те или иные действия над элементвми проектируемого приложения. Операционная система Windows тоже обладает множеством функций, пользуясь которыми программист может выполнять действия над элементвми Windows. Это множество функций Windows называется Windows API. Многие функции Windows API позволяют выполнять действия, недоступные стандартным функциям Visual Basic, например, перезагрузку компьютера или установку фона рабочего стола. Visual Basic предоставляет возможность прямо из проекта пользоваться функциями Windows API, однако делать это не так просто, как использовать функции Visual Basic. Нужно хорошо представлять работу нужной вам функции Windows API и смысл ее параметров.

Многодокументный интерфейс - MDI

В Microsoft Word вы можете одновременно работать с несколькими документами и одновременно видеть их на экране, каждый - в своем окне. Все эти окна не обладают полной свободой на экране, а находятся внутри главного окна Word. Каждое окно на этапе проектирования было отдельной формой. В 19.1 я показал вам, как создавать проект с несколькими формами. Однако, более естественным средством для создания многооконного приложения является использование так называемого многодокументного интерфейса - MDI.

Создайте проект. Как всегда, он будет включать в себя обычную форму Form1. Затем - Project ® Add MDI Form. В проект добавится еще одна форма, но необычная, это MDIForm1 - будущее главное окно приложения. Затем сделаем так, чтобы форма Form1 стала окном внутри этого главного окна. Для этого установим свойство MDIChild формы Form1 в True. Запустите проект. Последите за поведением формы и за ее реакцией на перетаскивание и щелчки по кнопкам в правом верхнем углу.

OLE

Пусть ваше приложение предназначено для получения по электронной почте неких исходных данных и составления на их основе качественных документов. Обеспечить пользователю возможность удобно создавать качественные документы - задача, которая потребует большой работы программиста. С другой стороны, уже имеются готовые приложения Windows типа Microsoft Word, которые прекрасно справляются с этой задачей. Спрашивается, можно ли, не выходя из своего приложения, воспользоваться возможностями Word? Можно. Эту возможность обеспечивает технология OLE. В 3.7 я уже описал, как вставить в свой проект документ Word. Но чтобы по настоящему работать с ним, нужно приложить еще много усилий. Аналогично можно вставить в приложение и электронную таблицу Microsoft Excel. Чтобы посмотреть, как по-настоящему работает технология OLE, зайдите в Word, найдите на панели инструментов кнопку "Добавить таблицу Excel " и щелкните по ней.

Миг между прошлым и будущим

Вот и все. На этом изложение программирования на Visual Basic я заканчиваю. Того, что вы знаете, вполне достаточно для программирования большинства задач из любой сферы человеческой деятельности. Дальнейшее изучение Visual Basic позволит вам составлять более эффективные программы, имеющие новые возможности в смысле использования объектов, работы с базами данных, Интернетом и т.д.

 

Дорогой друг! Вы вполне созрели для того, чтобы выполнить задание на звание «Программист-любитель II ранга». На выбор – одно из трех:

· Игра в морской бой

· Игра в крестики-нолики на бесконечном поле

· Игра "Танковый бой".

Во всех трех программах игра должна вестись между человеком и компьютером.

Правила морского боя без компьютера общеизвестны. Вы с приятелем тайком друг от друга рисуете на листочках в клетку квадратные "моря" размером 10 на 10 клеток, обозначаете строки буквами, а столбцы цифрами и расставляете свои корабли. Стреляете по очереди, называя координаты квадратика, куда производится выстрел. Правила крестиков-ноликов на бесконечном поле такие же, как и у обычных крестиков-ноликов на поле 3 на 3, с тем отличием, что в линию нужно выстроить не 3, а 5 ноликов или крестиков. Между прочим, очень приятная игра. Конечно, запрограммировать игру на бесконечном поле довольно трудно, поэтому рекомендую ограничиться полем 20 на 20. Правила танкового боя приведу чуть ниже.

 

Требования к первым двум играм:

· Компьютер должен обнаруживать незаконное расположение кораблей и незаконные ходы в крестики-нолики.

· Компьютер должен вести счет партий и отображать его на экране

· Компьютер должен обеспечить возможность сохранения игры и загрузки сохраненной игры

· Удобный интерфейс. В частности, человек должен иметь возможность легко расставлять корабли, ставить нолики или крестики (например, мышкой или при помощи клавиш передвижения курсора и клавиши пробела)

· Неплохо сделать меню с такими, примерно, пунктами: сохранить игру, загрузить игру, выход из игры, помощь. В случае помощи достаточно по требованию игрока показать правила игры

· Для того, чтобы не было игр-близнецов, ходы компьютера не должны быть железно заданы. Например, свои корабли компьютер должен располагать от игры к игре с разумной долей случайности, чтобы человек не мог легко догадаться, где будут стоять корабли в следующей игре. То же относится к выстрелам и ходам в крестики-нолики.

· Рекомендации по выбору уровня сложности стратегии: В морском бое вы вполне сможете сделать стратегию компьютера очень сильной, чтобы человеку было трудно у него выиграть. А вот в крестиках-ноликах стратегию компьютера сделать очень сильной затруднительно. Достаточно, если компьютер будет обнаруживать простейшие угрозы человека: четверки с одним свободным концом и тройки с двумя свободными концами - и сам стремиться к их созданию.

· Ни в той, ни в другой игре нет особой нужды использовать объекты пользователя.

 

А вот правила танкового боя.

Посмотрите на рисунок. Танки передвигаются по коридорам. Ваши танки показаны светлыми треугольничками и стрелкой, танки противника - черными стрелками. Светлая стрелка - ваш личный танк, вы управляете им мышкой или с помощью клавиатуры. Остальными вашими танками и танками противника управляет компьютер. Танки стреляют, стараясь попасть в противника и не попасть в своего. По коридорам танки бродят случайно.

Если ваш личный танк врежется в любой другой танк, то он погибнет, остальные танки при столкновении не погибают.

В бою побеждает сторона, уничтожившая все танки противника. При этом неважно, погиб ваш личный танк или нет.

Необязательные правила: Вы можете выбрать любой из трех типов игры:

1 - Простая игра. В случае победы в бою вы переходите на следующий уровень. Всего в игре 12 уровней, различающихся числом снарядов у вашего танка и числом рядов на поле боя. Число снарядов у остальных танков очень большое. Сохраняться в простой игре нельзя.

2 - Произвольная игра. Здесь нет уровней. Число снарядов и число рядов вы настраиваете сами.

3 - Трудная игра. Уровни те же, что и в простой игре, но для перехода на следующий уровень мало просто победить в бою, надо победить убедительно.

При трудной игре ваши результаты сохраняются автоматически. При входе в трудную игру вы должны ввести свое имя и пароль. Пароль хорош тем, что никто другой не сможет войти в игру под вашим именем и таким образом воспользоваться вашими достижениями. Плох пароль тем, что если вы его забудете, то вам придется начинать игру с 1 уровня и под другим именем.

Отчаявшись пройти уровень в трудной игре, вы можете перейти на тот же уровень в простой.

 

Когда я программировал эту игру, я не заботился о красоте и занимательности. Это - хотя и большая, но всего лишь учебная задача на использование объектов. Улучшайте игру и ее правила, как вам заблагорассудится.

 

 

Советы по программированию. Первые две игры не требуют объектов, третья требует. Правда, в морском бое вполне можно создать массив объектов "Корабль". Хоть корабли и неподвижны, но так, возможно, будет проще анализировать игру. Не знаю, не пробовал.

В первых двух играх информацию о ходе игры удобно представлять в двумерных массивах, в третьей игре это не нужно.

В первых двух играх программы получатся проще, если после каждого хода человека компьютер будет анализировать игровое поле с самого начала, так, как если бы он видел его впервые и не знал, какой из ходов человека был последним. Очень трудно в крестиках-ноликах заставить компьютер размышлять о том, почему человек поставил нолик именно в данную клетку и что за каверзу он там задумал. Гораздо легче просмотреть все поле и поискать там четверки с одним свободным концом и тройки с двумя.

В танковой битве объектами будут:

· Танк под управлением компьютера

· Танк под управлением человека

· Снаряд

Для простоты запретите танку стрелять, пока его снаряд от предыдущего выстрела все еще летит. Тогда размер массива снарядов не превысит размер массива танков.

 

Любая из этих задач достаточно сложна и потребует многих дней напряженной работы. В книге таких сложных задач я не программировал. Если вам кажется, что вы не сможете удовлетворить всем перечисленным в задании требованиям, потому что «мы этого не проходили», то я вам заявляю – все, что нужно, мы проходили! Нужно только как следует подумать над самым важным: над представлением информации об игре и над алгоритмами, по которым компьютер будет делать ходы.

У вас есть все шансы сделать так, что любая программа может приобрести популярность во всем мире, так как при выполнении всех требований задания и при некоторой фантазии с вашей стороны у нее будет достаточно привлекательный вид.

 

Желаю успеха!

 

Приложение 1. Необходимые сведения о компьютере и программе

В этой части излагаются на уровне "для начигающего" следующие вещи:

· Что такое программа. Что такое цикл, ветвление, процедура, и какая от них польза.

· Принцип действия компьютера и его устройств: оперативной памяти, принтера, винчестера и других.

· Взаимодействие устройств во время работы компьютера.

· Принципы кодирования информации в разных устройствах компьютера.

 

Если что-то из вышеупомянутого вам знакомо, вы можете это пропустить или прочитать "по диагонали".

 

В этой части мы не будем программировать на Visual Basic. А будем знакомиться с перечисленными выше вещами, без которых сознательное программирование невозможно.

Если вы ничего не знаете о компьютере и программе, начинайте читать книгу именно с этой части..



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 148; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.166.141 (0.013 с.)