Программная реализация логической игры "Сапер"
Выбор языка и среды программирования, его обоснование. Методика и этапы реализации заданной игрой программными средствами. Принципы разработки пояснительной записки для описания функциональных возможностей разработанного программного приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 02.03.2014 |
Размер файла | 354,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
Актуальность. В настоящее время остается актуальным вопрос создания программных продуктов для упрощения и автоматизации промышленных процессов, а также для развлечения и других областей жизни человека. Развивается само программирование, внедряются в повседневную жизнь все более и более сложные информационные и коммуникационные системы и технологии. Под разработкой программного продукта понимается род деятельности (профессия) и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания. После разработки, кодирования и тестирования программный продукт вводится в эксплуатацию. Но для того, чтобы уметь качественно проектировать и создавать ПО, необходимо знать основные способы и алгоритмы, быстро ориентироваться в постоянно меняющемся информационном мире. Для приобретения таких навыков и предназначены подобные курсовые работы по анализу, проектированию и созданию простого ПО.
В этой курсовой работе мы остановились на обзоре операционной системы Windows, в частности офисного пакета Microsoft Office и использовании языка Visual Basic for Application в нем.
Этот язык позволяет создавать приложения, выполняемые в среде Microsoft Office. Это могут быть разнообразные аналитические программы, финансовые системы, программы учета кадров, системы автоматического создания официальных писем / документов с помощью библиотеки готовых шаблонов, логические игры и т.п. При этом интерфейс создаваемой программы может быть совершенно непохожим на интерфейс того приложения, в котором она написана.
VBA сочетает в себе практически неограниченные возможности с простотой изучения и использования. Теперь большинство функций можно описать, не прибегая к программированию. В том случае, если возможностей языка недостаточно, можно обратиться к API-функциям Windows. Пожалуй, самое главное достоинство VBA в том, что этот язык является единым для всех офисных приложений Microsoft и поэтому позволяет связывать их между собой.
В данной курсовой работе мы остановились на разработке приложения популярной логической игры «Сапер». Основное ее назначение является развитие логического мышления, развитие памяти и логики. После занятий с логическими играми развивается не просто мышление, а и его скорость, человек начинает все быстрее решать проблемы и скорее находить правильные решения на поставленные задачи. Игра «Сапер» помогает сосредоточиться, а также отвлечься от всего иного и раздражающего, играя в нее, мы обретаем хорошую память и быстрое мышление.
Объектом исследования является развитие памяти и мышления.
Предметом исследования является программная реализация логической игры «Сапер».
Цель курсовой работы: разработка логической игры «Сапер» с использованием табличного процессора Excel объектно-ориентированного языка VBA.
Для достижения цели исследования поставим перед собой следующие задачи:
- осуществить выбор языка и среды программирования;
- разработать программную реализацию логической игры «Сапер»;
- составить пояснительную записку для описания функциональных возможностей разработанного программного приложения.
Курсовая работа состоит из введения, двух разделов, 6 параграфов, заключения, списка использованной литературы и приложения - всего 23 страницы.
Во введении обосновывается актуальность и практическая значимость технологии логической игры.
В первом разделе «Теоретические основы проектирования логической игры «Сапер» описывается понятие логической игры, ее особенности, выбирается технология, язык и среда программирования.
Во втором разделе «Практическая реализация логической игры «Сапер» рассматриваются особенности составления и работы алгоритма, обосновывается выбор стратегии тестирования, и в качестве сопровождающей документации предлагается руководство пользователя.
В заключении приведены краткие выводы, отражающие результаты решения поставленных задач.
Список использованной литературы содержит 15 наименований.
В приложении находится разработанная логическая игра «Сапер», которая записана на цифровом носителе (CD-RW).
1. Теоретические основы проектирования логической игры «Сапер»
1.1 Понятие логической игры, ее особенности
программирование игра приложение
Компьютерные игры прочно вошли в нашу жизнь, заняв почетное место лидера среди множества способов организации молодежного отдыха. Виртуальная реальность манит своими безграничными возможностями, а индустрия компьютерных развлечений каждый год преподносит геймерам все новые и новые игры, от которых просто невозможно отказаться. Однако о вреде компьютерных игр трубят все вокруг, но не стоит забывать также об их пользе.
Разработано множество игр, которые помогут углубить свои познания в той или иной области, научат действовать в различных ситуациях, поспособствуют формированию усидчивости, сосредоточенности, внимательности, тренируют способность к логическому мышлению, пространственному воображению, планированию и умению учиться на ошибках [12].
В большинстве случаев, если речь идет о логических играх, предполагается, что они имеют национальную принадлежность. К примеру, все любители развлечений с удовольствием играют в такую китайскую игру, как маджонг. Очень часто ее относят, как ни странно, к азартным логическим играм. Страна Восходящего Солнца является родиной головоломки судоку. Первоначально, в судоку применялись только цифры. Тем не менее, так как маленькие дети не владели искусством счета, в таких головоломках со временем стали применять картинки. Говоря о логических играх из разных стран, нельзя не вспомнить о головоломках, пазлах, задачах на мышление. Как правило, они обладают ярко выраженной математической направленностью.
Логические игры очень полезны для детей, так как с их помощью развивается абстрактное мышление, улучшается память, ребенок стимулируется к тому, чтобы продумывать собственные действия. Подобный эффект свойственен для стратегических игр, так как с их помощью развивается умение сосредотачиваться и определяться со своими целями. Шахматы можно по праву назвать одной из наиболее известных и популярных стратегических игр. Они полезны для развития дедуктивных, аналитических, прогностических и других способностей, благодаря ним формируется концентрация и память.
Если ребенок играет в шахматы в детстве, то в более старшем возрасте он будет, практически стопроцентно вероятно, соображать быстрее. При этой игре нужно глубоко анализировать действия противника, собирать информацию и тщательным образом продумывать стратегию собственных действий. Все игры логического типа оказывают положительное воздействие на интеллект. Кроме того, что с их помощью можно развиваться, это еще и отличный вариант для приятного времяпрепровождения.
Логические игры или другое их название - головоломки, являются очень полезными для развития нашего интеллекта. Они помогают нам во многом, в первую очередь в умственной деятельности. Именно эти игры рекомендуются многими педагогами для детей, поскольку имеют массу положительных примеров, когда ребенок, играя в логические игры, намного опережает своих сверстников в интеллектуальном развитии. Следует сказать, что одной из разновидностей логических игр является игра «Сапер», которая очень хорошо развивает мышление человека. После занятий с логическими играми развивается не просто мышление, а и его скорость, человек начинает все быстрее решать проблемы и скорее находить правильные решения на поставленные задачи. Именно поэтому логические игры просто незаменимы для развития детей, поскольку обладают рядом положительных характеристик. Очень важно то, что все логические игры имеют математическую направленность, что может помочь ребенку в будущем учебном процессе.
Написанный специально для Windows Робертом Доннером и Куртом Джонсоном, «Сапер» стал настоящим расточителем человеческих временных ресурсов. Спорить с этим бесполезно. Игра, появившаяся как самостоятельный продукт в 1990 году (до сапера игры подобного жанра были известны на ЭВМ ещё в 60-х годах прошлого века), стала дополнением пакета развлечений. А вот уже в Windows 3.1 «Сапер» стал незаменимым атрибутом операционной системы [2].
Сапер изначально придумали не как средство обучения владению мышью. В конце восьмидесятых годов разработчики упорно заставляли пользователя ставить флажки и открывать поля посредством текстовых команд, показывая тем самым эффективность диалога с ЭВМ.
Таким образом, игра «Сапер» помогает сосредоточиться на своем мышлении, а также отвлечься от всего иного и раздражающего, играя в нее, мы обретаем хорошую память и быстрое мышление.
1.2 Обоснование выбора языка и среды разработки приложения
В последнее время все более и более возрастает значимость разработки приложений на базе электронных таблиц Excel - продукта с высокой степенью программируемости из-за поддержки VBA. Таким образом, для разработчиков приложений важными являются следующие возможности использования VB в среде MS Excel:
- файловая структура. Ориентация на многолистовую структуру позволяет легко организовывать элементы приложения и хранить его в единственном файле;
- VBA - это макроязык, позволяет создавать структурированные программы непосредственно в Excel.
- Excel позволяет довольно легко вставить в рабочий лист различные элементы управления, например, кнопки, поля со списком, переключатели. Можно также легко создавать диалоговые окна, имеющие профессиональный внешний вид.
- для упрощения формул и вычислений можно с помощью VBA создавать пользовательские функции рабочих листов [10].
Имеется возможность вносить изменения в элементы меню, добавлять в имеющиеся меню новые элементы или создавать полностью новые меню.
Программирование в Excel, в основном, сводится к управлению объектами. Эта задача выполняется с помощью инструкций, введенных на языке, понятном Excel.
Microsoft Excel имеет встроенный язык программирования - Visual Basic for Аpplications (VBA). Этот язык позволяет создавать приложения, выполняемые в среде Microsoft Office.
Язык программирования VBA (Visual Basic for Application) является составной частью всех последних версий приложений MS Office (Word, Excel и т.д.) и предназначен для создания дополнительных решений не выходя из среды этого приложения. Это могут быть разнообразные аналитические программы, финансовые системы, программы учета кадров, системы автоматического создания официальных писем / документов с помощью библиотеки готовых шаблонов, логические игры и т.п. При этом интерфейс создаваемой программы может быть совершенно непохожим на интерфейс того приложения, в котором она написана.
Первая версия VBA появилась как упрощенное подмножество более раннего языка Microsoft Visual Basic(VB). Однако по мере развития VB и VBA фирма - разработчик этих языков Microsoft практически их объединила [7].
Visual Basic for Applications представляет собой новаторское достижение в языках программирования, возможно наиболее значительное с тех пор, как состоялся выпуск первой интегрированной среды разработки. Это означает, не то что VBA - лучшее средство разработки, а лишь то, что VBA существует. Visual Basic, вероятно, самое популярное средство разработки, и теперь совершенно неожиданно этот язык включен в не менее популярный комплект прикладных программ.
Поскольку основой приложений Microsoft послужил один и тот же язык программирования, вероятно, многим придет в голову мысль воспользоваться им. Точно так же, как пользователям Windows для подготовки множества программ необходимо освоить один интерфейс, в VBA достаточно изучить одну среду программирования, чтобы составлять разнообразные приложения
Встраивание VBA в какое-то приложение означает для него создание объектной модели, в результате VBA-программа может обращаться к объектам этого приложения и манипулировать ими.
VBA - собственное подмножество VB5, но на самом деле в VBA есть почти все, что можно найти в VB5. Надо признать, что незначительные отличия все же имеются (например, запуск из Word, а не в автономном режиме), но в любом случае программирование осуществляется одинаково. Объектные модели Office имеют силу до тех пор, пока выполняются приложения, которым они принадлежат, поэтому и VBA, и VB5 могут манипулировать ими. Мы видим, что от аналогичной в VB5 интегрированная среда разработки в VBA почти ничем не отличается.
Введение достаточно мощного языка программирования в Excel делает эту программную платформу весьма привлекательной для профессионалов, которые занимаются разработкой специализированных прикладных систем.
Разработка языка программирования VBA, встраиваемого в прикладные системы, является одним из стратегических направлений компании Microsoft. Этот язык уже интегрирован в такие программы, как Word for Windows, Power Point и ряд других. VBA позволяет создавать программные модули, меню, диалоговые окна и другие ресурсы в среде Windows. Благодаря этому языку появляется возможность значительно расширить набор функций в Excel, а также создавать функции, значения которых зависят от некоторых условий и событий. В принципе, можно полностью перепрограммировать все функции программы Excel, если в этом появилась необходимость [14].
На наш взгляд VBA легок в освоении, благодаря этому приложения могут создавать даже пользователи, не программирующие профессионально. Все выше сказанное определило выбор языка программирования Visual Basic for Аpplications и среды программирования MS Excel для разработки логической игры «Сапер».
- 2. практическая реализация логической игры «Сапер»
- 2.1 Руководство разработчика
Разработка программы велась с учетом концепции объектно-ориентированного программирования, поэтому четко определенной последовательности действий в ней нет.
Для успешной работы автоматизированной системы применялись стандартные визуальные компоненты среды программирования Visual Basic for Applications следующих классов:
1) ListBox - предоставлял пользователю выбрать значения;
2) Label - использовался для обозначения некоторых данных;
3) CommandButton - использовался для выполнения команд;
При реализации системы учитывались быстродействие выполнения команд, возможность ее использование на версиях Microsoft Office 2003 и выше.
Работа над приложением начиналась с создания формы «Saper», на которой будет располагаться минное.
Рис. 1 Основная форма
Для начала работы с программным приложением необходимо запустить файл «Сапер. Saper.xls».
После запуска программы перед пользователем появляется основная форма (рис. 1). Для того, чтобы начать игру, необходимо выбрать в предложенном списке количество мин, от которых зависит уровень сложности игры. (рис. 2).
Рис. 2 Выбор уровня сложности
При выборе команды «Новичок» появляется минное поле размером с 40 минами, «Средний» - с 50 минами, «Профи» - с 60 минами. Чтобы начать новую игру можно воспользоваться командой «Новая игра».
Цель игры: найти пустые ячейки, но не трогать ячейки, содержащие мины.
Правила игры «Сапер» очень просты:
- Если открыта ячейка с миной, игра проиграна.
- Если открыта пустая ячейка, игра продолжается.
- Если в ячейке указано число, оно показывает, сколько мин скрыто в восьми ячейках вокруг данной. Это число помогает понять, где находятся безопасные ячейки.
Советы и подсказки:
- отмечайте ячейки с минами;
- изучите возможные сочетания;
- старайтесь открывать закрытые области.
При проигрыше появляется форма о поражении, нажав кнопку «ОК» пользователю предоставляется возможность начать новую игру (рис. 3).
Рис. 3 Форма при поражении
Таким образом, логическая игра «Сапер» разработана в соответствии с техническим заданием и соблюдает все его требования.
2.2 Руководство пользователя
В настоящее время часто используют эксплуатационный документ, в который отчасти входит руководство системного программиста, программиста и оператора. Этот документ называют руководством пользователя. Появление такого документа явилось следствием широкого распространения персональных компьютеров, работая на которых пользователи совмещают в своем лице трех указанных специалистов. Составление документации для пользователей имеет свои особенности, связанные с тем, что пользователь, как правило, не является профессионалом в области разработки программного обеспечения.
Руководство пользователя - документ, назначение которого - предоставить людям помощь в использовании некоторой системы. Используется стиль и язык, доступный предполагаемой аудитории, использование жаргона сокращается до минимума либо подробно объясняется.
В соответствии с ГОСТом 19.701-90 руководство пользователя должно содержать следующие разделы:
- общие сведения о программном продукте;
- описание логической структуры;
- используемые технические средства;
- описание запуска [3].
Общие сведения о программном продукте. Данная логическая игра «Сапер» может быть предназначена для пользователей разных возрастов. Также приложение может быть использовано учителями во внеурочной деятельности, в целях развития памяти и быстрого мышления детей.
Описание логической структуры. Логическая игра состоит из одной логически самостоятельной части, которая разработана в соответствии с требованиями и условиями, удовлетворяющими запросам каждого из видов работ.
После запуска программы перед пользователем появляется основная форма с минным полем ранга «Новичок» по умолчанию, или минное поле размером последнего использованного пользователем.
Пользователь может сам устанавливать уровень сложности игры, выбрав нужную команду («Новичок», «Средний», «Профи»). При выборе команды «Новичок» появляется минное поле размером с 40 минами, «Средний» - с 50 минами, «Профи» - с 60 минами.
Чтобы начать новую игру можно воспользоваться командой «Новая игра».
Используемые технические средства:
- тип процессора - Intel Pentium и выше;
- видеокарта - 64 Мб;
- оперативная память - не менее 256 Мб;
- место на жестком диске - 256 Мб;
- наличие установленного приложения Microsoft Office Excel;
- устройство чтения дисков - дисковод для компакт-дисков;
- тип манипулятор - мышь.
Описание запуска. Первым этапом любой деятельности является ее начало, в данном случае - это открытие и вход в игру. Для запуска программы необходимо скопировать папку «Сапер» на жесткий диск, затем запустить файл «Saper» с расширением xls.
При возникновении ошибок, сбоев, неполадок в работе с программным продуктом, необходимо обратиться к разработчику. Самим пользователям при обнаружении неполадок ничего изменять не рекомендуется, так как программисту будет сложнее обнаружить причину возникновения ошибки.
2.3 Выбор стратегии тестирования и разработка тестов
Существующие на сегодняшний день методы тестирования ПО не
позволяют однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.
Такой процесс формальной проверки или верификации может доказать, что дефекты отсутствуют с точки зрения используемого метода. (То есть, нет никакой возможности точно установить или гарантировать отсутствие дефектов в программном продукте с учётом человеческого фактора, присутствующего на всех этапах жизненного цикла ПО).
В качестве стратегии тестирования будем использовать метод «Черного ящика».
«Черный ящик» - объект изучения, внутреннее устройство которого либо неизвестно, либо слишком сложно для того, чтобы можно было по свойствам его составных частей (элементов) и структуре связей между ними делать выводы о поведении объекта; метод исследования таких объектов. Метод «Черного ящика» применяют в тех случаях, когда внешнему наблюдателю известны лишь входные воздействия на объект и его ответная реакция, а процессы, в нём протекающие, неизвестны [13].
Однако как бы детально ни изучалось поведение «Черного ящика», невозможно получить однозначное суждение о его внутреннем устройстве, так как одно и то же поведение может быть характерно для разных объектов. Метод «Черного ящика» широко применяют для решения задач моделирования управляемых систем (например, при исследовании сложных систем), особенно в тех случаях, когда представляет интерес поведение системы, а не её строение.
Выгода в использовании «черных ящиков» заключается в том, что пользователю необходимо знать лишь вход и выход «черного ящика» и его назначение, то есть выполняемую функцию, не вдаваясь в принципы работы и используемые алгоритмы. В обыденной жизни мы достаточно часто сталкиваемся с «черными ящиками» и охотно пользуемся ими.
Ниже в таблице сведены тесты готового программного продукта по принципу черного ящика.
Номер Теста |
Назначение Теста |
Значения исходных данных |
Ожидаемый результат |
Реакция программы |
Вывод |
|
1. |
Проверить правильность создания минного поля |
Нажатие пункта в списке «количество мин» |
Выбрать в поле искомое количество |
Программа создает соответствующее минное поле |
Система правильно осуществляет запрос создания минного поля |
|
2. |
Проверить правильность выполнения игры |
Открываем ячейку с миной, игра проиграна. Открываем пустую ячейку, игра продолжается. |
В ячейке указано число, показывающее, сколько мин скрыто вокруг данной. |
Программа выдает результат выигрыша или поражения. |
Система правильно осуществляет запрос выполнения игры. |
Программа была протестирована по методу «черного ящика» что помогло выявить и устранить ряд ошибок.
Заключение
Логические игры или другое их название - головоломки, являются очень полезными для развития нашего интеллекта. Они помогают нам во многом, в первую очередь в умственной деятельности. Именно эти игры рекомендуются многими педагогами для детей, поскольку имеют массу положительных примеров, когда ребенок, играя в логические игры, намного опережает своих сверстников в интеллектуальном развитии. Следует сказать, что одной из разновидностей логических игр является игра «Сапер», которая очень хорошо развивает мышление человека. После занятий с логическими играми развивается не просто мышление, а и его скорость, человек начинает все быстрее решать проблемы и скорее находить правильные решения на поставленные задачи. Именно поэтому логические игры просто незаменимы для развития детей, поскольку обладают рядом положительных характеристик.
В данной курсовой работе мы разработали логическую игру для пользователей разного возраста. Также приложение может быть использовано учителями во внеурочной деятельности, в целях развития памяти и быстрого мышления детей.
При написании курсовой работы было спроектировано и реализовано программное приложение «Сапер». В результате разработки приложения была достигнута поставленная цель, а именно - создана логическая игра в соответствии с техническим заданием. Для этого были разработаны алгоритмы и программы для реализации данной логической игры с использованием современной технологии программирования. Программное приложение реализовано с использованием табличного процессора Excel и объектно-ориентированного языка VBA. Тестирование, разрабатываемого приложения показало работоспособность логической игры, целостность и структурированность.
В ходе выполнения курсовой работы изучены нормативные документы, регламентирующие состав, содержание и форму технической документации на разрабатываемый программный продукт, среди них ГОСТ 19.701-90 - ЕСПД.
Предполагаемая область применения разработанного продукта: разработанная логическая игра может быть использована в образовательных учреждениях во внеурочной деятельности, в целях развития памяти и быстрого мышления.
Таким образом, поставленные цели и задачи курсовой работы решены, однако данная работа не претендует на глубину теоретического и практического уровней и может быть усовершенствована и продолжена в других аспектах.
Список использованной литературы
1. Антипенко, Н.Ф. Разработка пользовательский приложений средствами VBA / Н.Ф. Антипенко - Омск: СибАДИ, 2012. - 95 с.
2. Биллиг, В.А.VBA и Office 2000. Офисное программирование. / В.А. Биллинг - М.: Русская редакция, 2000. - 480 с.
3. Гарнаев, А.Ю. Самоучитель VBA / А.Ю. Гарнаев - Спб.: БХВ-Петербург, 2007. - 560 с.
4. Житкова, О.А. Практика программированияVBA в приложениях к Excel, Word и Power Point. / О.А. Житкова - Москва: Первое сентября, 2006. - 25 с.
5. Каинка, Б. Измерение, управление и регулирование с помощью макросов VBA в Word и Excel / Б. Каинка - Киев: МК-Пресс, 2008. - 248 с.
6. Кузьменко, В.Г. VBA. Эффективное использование. / В.Г. Кузьменко. - М.: Бином-Пресс, 2012. - 624 с.
7. Малышев, С.А. Самоучитель VBA. Как это делается в Word, Excel, Access. / С.А. Малышев - СПб.: Наука и техника, 2001. - 496 с.
8. Мачулина, Л.А. Использование средств Visual Basic.NET в создании информационных систем / Л.А. Мачулина - Ростов-на-Дону, 2008. - 41 с.
9. Михеев, Р. VBA и программирование в MS Office для пользователей / Р. Михеев - СПб.: БВХ-Петербург, 2006. - 384 с.
10. Модовозов, В.М. Управление документами Word и Exel в VBA / В.М. Модовозов - СПб, 2003. - 32 с.
11. Орлов, А. VBA для тех, кто любит думать / А. Орлов - М.: Солон-Р, 2002. - 240 с.
12. Пылькин, А.Н. Программирование в среде Visual Basic for Applications / А.Н. Пылькин - М.: Горячая линия - Телеком, 2004. - 175 с.
13. Слепцова, Л.Д. Программирование на VBA в Microsoft Office 2007 / Л.Д. Слепцова - М.: Вильямс, 2007. - 432 с.
14. Хорев, В.Д. Самоучитель программирования на VBA в Microsoft Office / В.Д. Хорев - Киев: Юниор, 2001. - 320 с.
15. Штайнер, Г. VBA 6.3 / Г. Штайнер - М.: Лаборатория Базовых Знаний, 2002. - 784 с.
Приложение
Листинг логической игры «Сапер»
Private Sub Form_MouseDown (Button As Integer, Shift As Integer, x As Single, y As Single)
Dim i As Integer, j As Integer, i1 As Integer, j1 As Integer
If Button = 1 Then
OldX = x: OldY = y: OldFace = Face. Face
If FaceCoord (x, y) Then FaceBtn 0 Else If Not GameOver Then FaceBtn 3
If Not GameOver Then
If DoskaCoord (x, y) Then
XY2IJ x, y, i, j
If Doska1 (i, j) = 0 Then
DoskaCell i, j, 15
OldI = i: OldJ = j
Else
OldI = 0: OldJ = 0
End If
End If
End If
Else
If Not GameOver Then
If DoskaCoord (x, y) Then
XY2IJ x, y, i, j
Select Case Doska1 (i, j)
Case 0 'Устанавливаем флажок
If ind(0).value >= 1 Then
Doska1 (i, j) = 1
DoskaCell i, j, 1
Indikator 0, ind(0).value - 1
End If
Case 1 'Устанавливаем метку (?)
Doska1 (i, j) = 2
DoskaCell i, j, 2
Indikator 0, ind(0).value + 1
Case 2 'Снимаем метку (?)
Doska1 (i, j) = 0
DoskaCell i, j, 0
End Select
End If
End If
End If
End Sub
Private Sub Form_MouseMove (Button As Integer, Shift As Integer, x As Single, y As Single)
Dim i As Integer, j As Integer, i1 As Integer, j1 As Integer
If Button = 1 Then
If FaceCoord (OldX, OldY) Then
If FaceCoord (x, y) Then FaceBtn 0 Else FaceBtn OldFace
End If
If Not GameOver Then
If OldI > 0 Then DoskaCell OldI, OldJ, 0
If DoskaCoord (x, y) Then
XY2IJ x, y, i, j
If Doska1 (i, j) = 0 Then
DoskaCell i, j, 15
OldI = i: OldJ = j
End If
End If
End If
End If
End Sub
Private Sub Form_MouseUp (Button As Integer, Shift As Integer, x As Single, y As Single)
Dim i As Integer, j As Integer, i1 As Integer, j1 As Integer, empt As Integer
If Button = 1 Then
OldI = 0: OldJ = 0
If FaceCoord (OldX, OldY) And FaceCoord (x, y) Then InitGame Else FaceBtn
OldFace
If Not GameOver Then
If DoskaCoord (x, y) Then
If Not Timer1. Enabled Then Timer1. Enabled = True: Timer1_Timer
XY2IJ x, y, i, j
If Doska1 (i, j) = 0 Then
Select Case Doska (i, j)
Case -1 'Мина!!!
Loss i, j
Case 0 To 8 'Пронесло
Doska1 (i, j) = 3
DoskaCell i, j, (8 - Doska (i, j)) + 7
CloseCell = CloseCell - 1
If CloseCell = KolMines Then Win
If Doska (i, j) = 0 Then
empt = 1
Do While empt > 0
empt = 0
For i = 1 To SizeY
For j = 1 To SizeX
If Doska (i, j) = 0 And Doska1 (i, j) = 3 Then
For i1 = i - 1 To i + 1
For j1 = j - 1 To j + 1
If i1 >= 1 And i1 <= SizeY And j1 >= 1 And j1 <= SizeX Then
If Doska1 (i1, j1) = 0 Then
empt = empt + 1
Doska1 (i1, j1) = 3
DoskaCell i1, j1, (8 - Doska (i1, j1)) + 7
CloseCell = CloseCell - 1
If CloseCell = KolMines Then Win
End If
End If
Next
Next
End If
Next
Next
Loop
End If
Private Sub mnuGameRang_Click (Index As Integer)
Dim i As Integer
For i = 0 To 3
mnuGameRang(i).Checked = False
Next
Rang = Index
mnuGameRang(Index).Checked = True 'Выбор нужного уровня сложности
Select Case Index
Case 0 'Новичок
SizeY = 8
SizeX = 8
KolMines = 40
Case 1 'Средний
SizeY = 16
SizeX = 16
KolMines = 50
Case 2 'Профи
SizeY = 16
SizeX = 30
KolMines = 69
dlgRazmer. Show vbModal
End Select
Private Sub XY2IJ (x As Single, y As Single, i As Integer, j As Integer)
x = x - Dsk.x
y = y - Dsk.y
i = y \ conCellHeight
j = x \ conCellWidth
If y Mod conCellHeight > 0 Then i = i + 1
If x Mod conCellWidth > 0 Then j = j + 1
End Sub
'Функция проверяет находится ли точка (X, Y) в пределах доски
Private Function DoskaCoord (x As Single, y As Single) As Boolean
If x >= Dsk.x + 15 And x <= Dsk.x + Dsk.width - 15 And y >= Dsk.y + 15 And _
y <= Dsk.y + Dsk.height - 15 Then DoskaCoord = True
End Function
'Функция проверяет находится ли точка (X, Y) в пределах кнопки с рожицей
Private Function FaceCoord (x As Single, y As Single) As Boolean
If x >= Face.x And x <= Face.x + conFaceWidth And y >= Face.y And _
y <= Face.y + conFaceWidth Then FaceCoord = True
End Function 'Победа!!!
Private Sub Win()
Dim i As Integer, j As Integer
'Выводим на месте неоткрытых клеток флажки
For i = 1 To SizeY
For j = 1 To SizeX
If Doska1 (i, j) < 3 Then
Doska1 (i, j) = 1
DoskaCell i, j, 1
Indikator 0, 0
End If
Next
Next
End If
End If
End Sub 'Поражение!?
Размещено на Allbest.ru
Подобные документы
Разработка программы "Сапер", удовлетворяющей необходимым требованиям эффективности в интегрированной среде программирования Microsoft Visual C++. Специфика создания Windows-приложений. Применение логической игры для развития интереса к обучению у детей.
курсовая работа [511,1 K], добавлен 01.06.2013Разработка приложения на WinAPI с реализацией логической структуры в игре "Сапер". Реализация графической части приложения. Проверка на корректность поведения интерфейса программы, работы логической части игры, корректности записи и чтения файла.
курсовая работа [1,1 M], добавлен 17.10.2012Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.
курсовая работа [167,8 K], добавлен 18.01.2017Методика и основные этапы разработки стратегической игры, ее элементы и принцип работы программы. Порядок построения информационной модели. Диаграмма потоков данных и действий. Выбор языка программирования и его обоснование. Критерии качества среды.
курсовая работа [3,5 M], добавлен 11.12.2012Создание программы, автоматизирующей расчет коэффициента ритмичности продукции с использованием электронных таблиц средствами языка программирования Си. Консолидация данных в MSExcel. Программная реализация алгоритма. Тестирование разработанного ПО.
курсовая работа [3,0 M], добавлен 07.06.2014Анализ моделируемого приложения и постановка задачи. Диаграмма прецедентов, деятельности объектов и состояния классов. Разработка приложения-игры, выбор языка программирования и среды для разработки проекта, интерфейс приложения и ресурсы проекта.
курсовая работа [308,5 K], добавлен 14.10.2011Обоснование выбора языка, виды языков программирования. Характеристика программного продукта, постановка задачи, методы решения, программная реализация, программная документация. Руководство по использованию программы. Защита программного продукта.
дипломная работа [1,6 M], добавлен 22.02.2010Исследование спецификации логической игры "Сапёр". Системное и функциональное проектирование приложения. Разработка программных модулей. Обзор классов, необходимых для создания интерфейса данного приложения. Инструменты для реализации логической игры.
курсовая работа [1,2 M], добавлен 13.01.2016Реализация анкеты "Литературные предпочтения" средствами разработки PHP, MYSQL. Структура баз данных и приложения. Программная реализация анкеты на языке программирования php, руководство пользователя. Разработка PHP скриптов. Листинг программы.
курсовая работа [351,1 K], добавлен 02.12.2010Общие сведения и существующие среды реализации компьютерной игры "Лабиринт". Разработка алгоритмов в виде блок-схемы, принципы программной реализации игры. Особенности тестирования разработанного программного продукта. Аспекты эксплуатации продукта.
курсовая работа [1,4 M], добавлен 18.01.2017