Разработка игры 'Виселица' на С#

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    521,4 Кб
  • Опубликовано:
    2016-01-31
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка игры 'Виселица' на С#

Содержание

Введение

. Постановка задачи

. Описание среды разработки

. Проектирование программного комплекса

.1 Этапы проектирования задачи

.2 Отладка и тестирование

. Инструкция программиста

. Инструкция пользователя

Заключение

Литература

Приложение А

 

Введение


Целью курсового проекта является разработка приложения «Виселица». Оно имитирует игру в слова, знакомую нам с детства.

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

Сегодня на рынке имеется великое множество игр, программ и все они требовательны к производительности ПК, в то время как офисные игры и игры для детей превосходно работают на менее производительных ПК и часть людей до сих пор ими увлекается. Исходя из этой ситуации можно сделать вывод, что игра “Виселица” будет актуальна для пользования как детьми, так и взрослыми и может работать как на бюджетных низко производительных, так и на высоко производительных ПК.

Объект исследования - изучение визуальной среды программирования Microsoft Visual Studio 2015 Enterprise.

Предмет исследования- создание приложения «Виселица».

В соответствии с целью курсового проекта можно сформулировать такие задачи как:

исследование предметной области;

изучение среды разработки;

разработка интерфейса приложения;

привлекательный дизайн.

. Постановка задачи

Разработать программу «Виселица» с использованием программной среды Visual Studio и средств объектно-ориентированного программирования.

Принцип игры в том, что компьютер загадывает слово, а пользователь поочередно предлагает буквы, которые могут входить в это слово. Если предлагаемая буква есть в слове, то компьютер ее пишет в соответствующих полях - столько раз, сколько она встречается в слове. Если отсутствует буква, то к виселице добавляется круг к петле, изображающий голову. Пользователь продолжает угадывать буквы до тех пор, пока не отгадает все слово. За каждый неправильный ответ добавляется одна часть туловища к виселице, в данном проекте их 6. Если туловище в виселице нарисовано полностью, то отгадывающий игрок проигрывает, считается повешенным. Если игроку удаётся угадать слово, он выигрывает.

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

1)      наличие главного меню, состоящее из пунктов: «Начать игру», «Узнать правила игры», «Завершить работу с программой»;

)        грамотно подобранное цветовое решение;

)        интуитивно понятный интерфейс;

)        наличие музыки.

 

. Описание среды разработки


Microsoft Visual Studio - линейка продуктов компании Microsoft <https://ru.wikipedia.org/wiki/Microsoft>, включающих интегрированную среду разработки <https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8> программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные <https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F> приложения <https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5>, так и приложения с графическим интерфейсом <https://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F>, в том числе с поддержкой технологии Windows Forms <https://ru.wikipedia.org/wiki/Windows_Forms>, а также веб-сайты <https://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D0%B9%D1%82>, веб-приложения <https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5>, веб-службы <https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0> как в родном <https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4>, так и в управляемом <https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4> кодах для всех платформ, поддерживаемых Windows <https://ru.wikipedia.org/wiki/Windows>, Windows Mobile <https://ru.wikipedia.org/wiki/Windows_Mobile>, Windows CE <https://ru.wikipedia.org/wiki/Windows_CE>, .NET Framework <https://ru.wikipedia.org/wiki/.NET_Framework>, Xbox <https://ru.wikipedia.org/wiki/Xbox>, Windows Phone <https://ru.wikipedia.org/wiki/Windows_Phone> .NET Compact Framework <https://ru.wikipedia.org/wiki/.NET_Compact_Framework> и Silverlight <https://ru.wikipedia.org/wiki/Silverlight>.Studio включает в себя редактор исходного кода <https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80_%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BE%D0%B4%D0%B0> с поддержкой технологии IntelliSense <https://ru.wikipedia.org/wiki/IntelliSense> и возможностью простейшего рефакторинга кода <https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3>. Встроенный отладчик <https://ru.wikipedia.org/wiki/Microsoft_Visual_Studio_Debugger> может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов <https://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D1%81_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)> и дизайнер схемы базы данных <https://ru.wikipedia.org/wiki/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85>. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины <https://ru.wikipedia.org/wiki/%D0%9F%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD>) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода <https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F%D0%BC%D0%B8> (как, например, Subversion <https://ru.wikipedia.org/wiki/Subversion> и Visual SourceSafe <https://ru.wikipedia.org/wiki/Microsoft_Visual_SourceSafe>), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования <https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA>) или инструментов для прочих аспектовпроцесса разработки программного обеспечения <https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F> (например, клиент Team Explorer для работы с Team Foundation Server <https://ru.wikipedia.org/wiki/Team_Foundation_Server>).

Компоненты:Studio включает один или несколько компонентов из следующих:

1)      Visual Basic .NET <https://ru.wikipedia.org/wiki/Visual_Basic_.NET>, а до его появления - Visual Basic <https://ru.wikipedia.org/wiki/Visual_Basic>;

)        Visual C++ <https://ru.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B>;

)        Visual C# <https://ru.wikipedia.org/wiki/C_Sharp>;

)        Visual F# <https://ru.wikipedia.org/wiki/F_Sharp> (включён начиная с Visual Studio 2010).

Многие варианты поставки также включают:

Microsoft SQL Server <https://ru.wikipedia.org/wiki/Microsoft_SQL_Server> либо Microsoft SQL Server Express <https://ru.wikipedia.org/wiki/Microsoft_SQL_Server>

В прошлом в состав Visual Studio также входили продукты:

1)      Visual InterDev <https://ru.wikipedia.org/wiki/Visual_InterDev>;

)        Visual J++ <https://ru.wikipedia.org/wiki/Visual_J%2B%2B>;

)        Visual J# <https://ru.wikipedia.org/wiki/Visual_J_Sharp>;

)        Visual FoxPro <https://ru.wikipedia.org/wiki/Visual_FoxPro>;

)        Visual Source Safe - файл-серверная система управления версиями.

Проект создавался в системе программирования Visual studio 2015 Enterprise.

Visual Studio 2015 Enterprise

12 ноября 2014 года было объявлено, что «Visual Studio 2015» принято в качестве окончательного варианта имени продукта.

Данная редакция предоставляет IDE <https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8> для всех поддерживаемых продуктов и поддерживает полную версию библиотеки MSDN <https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_MSDN>. Поддерживается редактирование XML <https://ru.wikipedia.org/wiki/XML> и XSLT <https://ru.wikipedia.org/wiki/XSLT>, как и средства для тестирования объектов. Однако отсутствует обозреватель серверов и интеграция с Microsoft SQL Server <https://ru.wikipedia.org/wiki/Microsoft_SQL_Server>. Поддержка разработки под мобильные устройства изначально была включена в Visual Studio 2005 Standard, но в версии 2008 она доступна только в Professional-редакции. Начиная с версии 2010 более не существует.Studio 2015 предоставляется в трёх редакциях: бесплатной Community Edition, объединяющей все Express-версии, и платных Professional Edition для небольших проектов и Enterprise Edition для крупных проектов.

Первый CTP был выпущен 2 июня 2014 года, затем 29 апреля 2015 года был выпущен Release Candidate. Финальный релиз Visual Studio 2015 стал доступен для скачивания 20 июля 2015 года.

Visual Studio Enterprise 2015 - это все возможности Visual Studio Premium + Visual Studio Ultimate. Studio Enterprise 2015 - это новая, самая современная интегрированная среда разработки от Майкрософта.

Visual Studio Enterprise с MSDN содержит все средства и сервисы Visual Studio Ultimate с MSDN, а также многие другие. Приобретая бесплатное автоматическое обновление, вы получаете неограниченный доступ к вашим рабочим инструментам и новым компонентам:

)        средства автоматического и ручного тестирования;

)        средства тестирования производительности и нагрузочного тестирования;

)        возможности проектирования масштабируемой архитектуры и обнаружения;

)        интегрированные средства управления сложными массивами программного кода;

)        средства повышения производительности бизнес-приложений;

)        встроенные средства управления выпусками и операциями;

)        А также наиболее полный набор преимуществ MSDN, включая кредит в Azure на сумму 150 долларов США для разработки и тестирования, 30 курсов Pluralsight и доступ уровня Advanced к Visual Studio Online.

. Проектирование программного комплекса

.1 Этапы проектирования задачи

Проектирование задачи проводилось в несколько этапов.

) Разработка структуры программы.

Были разработаны 7 форм, осуществляющих определенные функции программы.

Рисунок 1 - Структура программы

) Разработка интерфейса программы.

Главная форма (Рисунок 2):

Рисунок 2 - Главная форма

На главной форме имеются 3 кнопки, имитирующие пункты меню и фон для удобства. Для изображения фона на форме в коде используется путь к файлу с фоном

Справка (Рисунок 3):

Рисунок 3 - Справка

На этой форме располагается информация о разработчике и кнопка с правилами игры.

Регистрация пользователя (Рисунок 4):

Рисунок 4 - Регистрация пользователя

При старте игры открывается диалоговое окно с вводом имени пользователя. На нем располагается textbox и кнопка для продолжения. При вводе данных присутствует проверка на вводимое количество символов и данные сохраняются в текстовом файле «Рейтинг». Проверка предусматривает максимальное количество вводимых символов-15 и если поле ввода данных будет пустым, то программа требует ввести данные.

Выбор категории (Рисунок 5) и уровня сложности (Рисунок 6):

Рисунок 5 - Выбор категории слов

Рисунок 6 - Выбор уровня сложности

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

Игровой процесс (Рисунок 7):

Рисунок 7 - Игровой процесс

После этих форм открывается форма с игровым процессом. На нем присутствует picturebox, алфавит и label с вводом букв. Работа этой формы связана с текстовыми файлами, в которых находятся отгадываемые слова. В эти файлы можно добавлять новые слова или же наоборот удалять их.

Окно с результатом (Рисунок 8):

Рисунок 8 - Окно результатов

Если игрок выиграл или проиграл выводится соответствующее диалоговое окно с результатом и кнопкой для продолжения с присутствующей на ней музыкой. Для проигрывания музыки используется библиотека Windows Media Player.

Таблица рекордов (Рисунок 9):

Рисунок 9 - Таблица рекордов

После результата следует форма с таблицей рекордов, с находящейся на ней richtextbox и кнопкой для продолжения. Данные игроков заносятся в текстовый файл «Рейтинг» и сохраняются там.

Форма с выбором продолжения игры (Рисунок 10):

Рисунок 10 - Выбор продолжения игры

По нажатию на кнопку «Продолжить» появляется финальная форма с 2 кнопками: Да или Нет. И пользователю необходимо решить начинать ли новую игру или же завершить ее.

) Написание кода программы (предоставлен в приложении А).

.2 Отладка и тестирование

Тестирование - процесс исследования, испытания программного продукта.

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

Результатом тестирования является устранение всех недостатков системы и заключение о ее качестве.

Отладка - этап подготовки программного продукта, на котором обнаруживают, локализуют и устраняют ошибки.

При тестировании игры были проверены следующие функции:

) Запуск игры.

Проверен запуск игры с исполняемого файла на разных ПК.

) Функции главного меню.

Проверена работоспособность кнопок.

) Регистрация пользователя.

Для регистрации пользователю необходимо ввести имя, не превышающее 15 символов. Если пользователь оставляет поле пустым программа требует указать данные.

) Игровой процесс.

Проверена вся работоспособность алгоритма игрового процесса.

Алфавит при выборе букв работает стабильно и форма связана с текстовым файлом. Счет ошибок осуществляется верно и по мере их накопления сменяются рисунки.

) Таблица рекордов.

Проверено внесение данных в таблицу.

В таблице присутствует сортировка по количеству побед.

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

Так как в программе не производится каких-либо расчетов, то проблемы не могут быть вызваны из-за числовых данных.

. Инструкция программиста

На диске с программой находится папка с проектом, содержащая файлы:

-       .sln файл - файл организации проектов Visual studio;

-       .suo файл - настройки пользователя;

-       .cs файлы - исходный код C#;

-       .cofig файлы - xml файлы конфигурации;

-       .ico файлы - иконки приложения;

-       .csproj файл - проект Microsoft Visual Studio C#;

-       .manifest файлы - файлы манифеста приложения;

-       .cache файлы - файлы с кэшем проекта;

-       .recources файлы - файлы ресурсов;

-       .resx файлы - файлы ресурсов в виде xml;

-       .setting файлы - файлы настроек Visual studio;

-       .exe файл- файл запуска приложения.

Для работы программы требуется наличие полной папки с программой.

Системные требования:

-       операционная система Windows XP и выше;

-       процессор с тактовой частотой 1Мгц и выше;

-       объем оперативной памяти 128 Мб и выше.

Дополнительное оборудование:

-       компьютерная мышь;

-       клавиатура.

. Инструкция пользователя

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

Правила игры:

Игра заключается в том, что загадывается слово, а игрок угадывает буквы и все слово целиком. Загаданное слово является именем существительным единственного числа, либо множественного числа при отсутствии у слова формы единственного числа. Всего попыток 6. Если игрок выбирает неверную букву, то количество попыток уменьшается. Если человек в виселице нарисован полностью, то игрок проигрывает. Если игроку удаётся угадать слово, он выигрывает.

После запуска программы появляется главное меню (Рисунок 11):

Рисунок 11 - Главное меню

Описание главного меню:

)        При нажатии на кнопку «Начать игру», программа переходит на новую форму с вводом имени пользователя (Рисунок 12).

)        При нажатии на кнопку «Справка» открывает окно с информацией об игре.

)        Нажатие на кнопку «Выход» завершает работу программы.

Рисунок 12 - Ввод имени пользователя

При нажатии кнопки «Продолжить» открывается следующая форма с выбором категории слов (Рисунок 13).

Рисунок 13 - Выбор категории слов

При нажатии на любую из категорий открывается следующая форма с выбором уровня сложности (Рисунок 14).

Рисунок 14 - Выбор сложности

После выбора уровня сложности открывается форма с игровым процессом (Рисунок 15).

Рисунок 15 - Игровой процесс

В зависимости от того, проиграл ли игрок или выиграл выводится диалоговое окно с оповещением и музыкой. Для проигрывания музыки подключена библиотека Windows Media Player (Рисунок 16).

Рисунок 16 - Результат

После окна с оповещением открывается таблица рекордов (Рисунок 17).

Рисунок 17 - Таблица рекордов

После нажатия на кнопку «Продолжить» появится диалоговое окно с выбором начать новую игру или же завершить работу (Рисунок 18).

Рисунок 18 - Начало новой игры(завершение)

Заключение

Целью курсового проекта являлась разработка приложения «Виселица».

В соответствии с целью курсового проекта выполнены такие задачи как:

исследование предметной области;

изучение среды разработки;

разработка интерфейса приложения;

привлекательный дизайн.

В результате выполнения курсового проекта было разработано приложение «Виселица». Созданная игра поможет пополнить лексикон человека и улучшить логическое мышление.

В программе реализованы функции:

)        справка об игре, понятная пользователю;

2)      таблица рекордов;

3)      проигрывание музыки.

В ходе данного курсового проекта были усовершенствованы и закреплены навыки работы в среде Microsoft Visual Studio C# и получен опыт разработки программного продукта и его документации. В результате выполненных работ был получен программный продукт «Виселица» и комплект документации к нему. Программа реализовывалась полностью в соответствии с техническим заданием.

Литература

1 ГОСТ 2.105-95. Общие требования к текстовым документам. - Введ. 1996-01-07. - М. : Изд-во стандартов, 1996. - (Единая система конструкторской документации).

ГОСТ 7.0.5-2008. Система стандартов по информации, библиотечному и издательскому делу. Библиографическое описание. Общие требования и правила составления, 2008. - М. : Изд-во стандартов, 2008. (Система стандартов по информации, библиотечному и издательскому делу).

3 Ватсон, К. С# Программист программисту / К. Ватсон - Москва. : «Лори», 2013. - 879 стр.

Дрейер, М. C# для школьников / М. Дрейер - СПб. : «БИНОМ. Лаборатория знании», 2011. - 126 стр.

Культин, Н. Р. C# в задачах и примерах / Н. Р. Культин - СПб. : «БХВ-Петербург», 2012. - 241 стр.

Лабор, В. Visual C# Создание приложений для Windows / В. Лабор - Воронеж. : «Харвест», 2014. - 385 стр.

Нэш, Т. C# 2015 Ускоренный курс для профессионалов / Т. Нэш - Москва. : «Вильямс», 2015. - 576 стр.

Павловская, Т. А. C# Программироване на языке высокого уровня / Т. А. Павловская - СПб. : «Питер Пресс», 2013. - 433 стр.

Петцольд, Ч. Программирование для Microsoft Windows на С#. Том 1 / Ч. Петцольд - Москва. : «Русская Редакция», 2011. - 570 стр.

Петцольд, Ч. Программирование для Microsoft Windows на С#. Том 2 / Ч. Петцольд - Москва. : «Русская Редакция», 2012. - 618 стр.

11 Троелсен, Э. С# и платформа .NET. Библиотека программиста / Э. Троелсен - СПб. : «Питер», 2014. - 796 стр.

12 Шилдт, Г. Полный справочник по C# / Г. Шилдт - Мосвка. : «Вильямс», 2014. - 748 стр.

13 www.cyberforum.ru/net-framework/ <http://www.cyberforum.ru/net-framework/> - Форум программистов Microsoft NET.

Приложение А

программа игра виселица тестирование

(Обязательное)

Листинг программы

Код файла MainForm.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;WindowsFormsApplication1

{partial class MainForm : Form

{MainForm()

{();

}void button1_Click(object sender, EventArgs e)

{_data dc = new enter_data();//переход на форму c вводом данных с 1.Show();.Hide();//закрыть 1 форму

}void button3_Click(object sender, EventArgs e)

{.Exit();//выход из программы

}

private void button2_Click(object sender, EventArgs e)

{fr = new Info();//переход на форму со справкой.Show();//показать новую форму.Hide();//закрыть предыдущую форму

}void Form1_Load(object sender, EventArgs e)

{.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");.Size = new Size(450, 450);.BackgroundImageLayout = ImageLayout.Stretch;

}

}

}

Код файла Info.csWindowsFormsApplication1

{partial class Info : Form

{Info()

{();

}void Form3_Load(object sender, EventArgs e)

{.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");//вставил картинку для фона на форму 3(справка).Size = new Size(780, 475);//задал размер окна.BackgroundImageLayout = ImageLayout.Stretch;//чтобы размер картинки = размеру окна

}void button1_Click(object sender, EventArgs e)

{fr = new MainForm();//переход на первую форму с 3.Show();//.Hide();//закрыть 3 форму

}void button2_Click(object sender, EventArgs e)

{.Show("Игра заключается в том, что загадывается слово, а игрок угадывает буквы и все слово целиком. \nЗагаданное слово является именем существительным единственного числа, либо множественного числа при отсутствии у слова формы единственного числа. \nВсего попыток 6.Если игрок выбирает неверную букву, то количество попыток уменьшается. Если человек в виселице нарисован полностью, то игрок проигрывает. Если игроку удаётся угадать слово, он выигрывает.");

}

}

}

Код файла enter_dataWindowsFormsApplication1

{partial class MainForm : Form

{MainForm()

{();

}void button1_Click(object sender, EventArgs e)

{_data dc = new enter_data();//переход на форму c вводом данных с 1.Show();.Hide();//закрыть 1 форму

}void button3_Click(object sender, EventArgs e)

{.Exit();//выход из программы

}

private void button2_Click(object sender, EventArgs e)

{fr = new Info();//переход на форму со справкой.Show();//показать новую форму.Hide();//закрыть предыдущую форму

}void Form1_Load(object sender, EventArgs e)

{.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");.Size = new Size(450, 450);.BackgroundImageLayout = ImageLayout.Stretch;

}

}

}

Код файла Category.cs

namespace WindowsFormsApplication1

{partial class Category : Form

{Category()

{();

}void Form5_Load(object sender, EventArgs e)

{.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");.Size = new Size(500, 500);.BackgroundImageLayout = ImageLayout.Stretch;

}void button1_Click(object sender, EventArgs e)

{fr = new Form2();//переход на форму С уровнями сложности городов

fr.Show();.Hide();

}void button2_Click(object sender, EventArgs e)

{fr = new Form8();//переход на форму С уровнями сложности зверей

fr.Show();.Hide();

}void button3_Click(object sender, EventArgs e)

{fr = new Form9();//переход на форму С уровнями сложности имен

fr.Show();.Hide();

}void button4_Click(object sender, EventArgs e)

{fr = new MainForm();.Show();.Hide();

}

}

}

Код файла difficulty level.cs

namespace WindowsFormsApplication1

{partial class Form2 : Form

{Form2()

{();

}void button1_Click(object sender, EventArgs e)

{fr = new Form4();//переход на форму с легким уровнем сложности

fr.Show();.Hide();

}void Form2_Load(object sender, EventArgs e)

{.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");.Size = new Size(500, 500);.BackgroundImageLayout = ImageLayout.Stretch;

}void button2_Click(object sender, EventArgs e)

{fr = new game8();//переход на форму со среднем уровнем сложности

fr.Show();.Hide();

}void button3_Click(object sender, EventArgs e)

{fr = new game9();//переход на форму со тяжелым уровнем сложности

fr.Show();.Hide();

}void button4_Click(object sender, EventArgs e)

{fr = new Category();.Show();.Hide();

}

}

}

Код файла difficulty level2.cs

namespace WindowsFormsApplication1

{partial class Form9 : Form

{Form9()

{();

}void button1_Click(object sender, EventArgs e)

{fr = new Form13();//переход на форму с легким уровнем сложности

fr.Show();.Hide();

}void Form9_Load(object sender, EventArgs e)

{.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");.Size = new Size(500, 500);.BackgroundImageLayout = ImageLayout.Stretch;

}void button2_Click(object sender, EventArgs e)

{fr = new game5();//переход на форму со среднем уровнем сложности

fr.Show();.Hide();

}void button3_Click(object sender, EventArgs e)

{fr = new game6();//переход на форму со тяжелым уровнем сложности

fr.Show();.Hide();

}void button4_Click(object sender, EventArgs e)

{fr = new Category();.Show();.Hide();

}

}

}

Код файла difficulty level3.cs

namespace WindowsFormsApplication1

{partial class Form8 : Form

{Form8()

{();

}void button1_Click(object sender, EventArgs e)

{fr = new game1();//переход на форму с легким уровнем сложности

fr.Show();.Hide();

}void Form8_Load(object sender, EventArgs e)

{.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");.Size = new Size(500, 500);.BackgroundImageLayout = ImageLayout.Stretch;

}void button2_Click(object sender, EventArgs e)

{fr = new game2();//переход на форму со среднем уровнем сложности

fr.Show();.Hide();

}void button3_Click(object sender, EventArgs e)

{fr = new game3();//переход на форму со тяжелым уровнем сложности

fr.Show();.Hide();

}void button4_Click(object sender, EventArgs e)

{fr = new Category();.Show();.Hide();

}

}

}

Код файла game1.cs

namespace WindowsFormsApplication1

{partial class game1 : Form

{music;word; int numGuessesInt; List<char> guessedLetters;game1()

{();

}

//Создание кнопок для букв алфавитаvoid Form10_Shown(object sender, EventArgs e)

{str = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";//строковая перем. с алфавитом

int posX = 20, posY = 150;//начальные позиции первой строки букв

for (int i = 0; i < str.Count(); i++)//создание цикла

{button = new Button();//метод создания новой кнопки.BackColor = Color.Aqua;//цвет кнопки

button.Text = str[i] + "";//присваивает значение след.буквы

button.Click += new EventHandler(this.button_Click);.Location = new System.Drawing.Point(posX, posY);//рисование кнопки.Size = new System.Drawing.Size(30, 25);//задание размера кнопки.Controls.Add(button);//добавление кнопки+= button.Width;//ширина кнопки((i + 1) % 8 == 0)

{= 20;+= button.Height;//высота кнопки

}

}_new_game();

}

private void start_new_game()//начальная позиция

{= 6;//количество попыток= new List<char>();//отгаданные буквы= pickWord();.Show("Угадайте животное");.Text = displayWord();.Text = "";

pictureBox1.Load(@"платформа с палкой_1.jpg");

}string pickWord()//выбор слова рандомно

{[] wordList = File.ReadAllLines("Список зверей.txt");randomGen = new Random();wordList[randomGen.Next(wordList.Count())];

}string displayWord()

{returnedWord = "";(guessedLetters.Count == 0)

{(char letter in word) returnedWord += "_ ";returnedWord;

}(char letter in word)

{letterMatch = false;(char character in guessedLetters)(char.ToLower(character) == char.ToLower(letter))

{+= character + " ";= true;;

}letterMatch = false;(letterMatch == false) returnedWord += "_ ";

}returnedWord;

}button_Click(object sender, System.EventArgs e)

{letter_btn = sender as Button;guessedLetter = letter_btn.Text;letters = "";repeat = false;(int i = 0; i < guessedLetters.Count; i++)(char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;(repeat == false)

{.Add(guessedLetter.ToCharArray()[0]);(!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");(char letter in guessedLetters) letters += " " + letter;.Text = letters;wordToDisplay = displayWord();.Text = displayWord();(!wordToDisplay.Contains("_"))

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Victory.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы выиграли! Правильное слово: " + word);

SaveCountWin.Save();

}if (numGuessesInt <= 0)

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Loose.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы проиграли! Правильное слово: " + word);

table_of_lider fr = new table_of_lider();.Show();.Hide();

}

}

}

//кнопка в главное менюvoid button1_Click(object sender, EventArgs e)

{fr = new MainForm();.Show();.Hide();

}

}

}

Код файла game2.cs

namespace WindowsFormsApplication1

{partial class game2 : Form

{music;word; int numGuessesInt; List<char> guessedLetters;game2()

{();

}

//Создание кнопок для букв алфавитаvoid Form11_Shown(object sender, EventArgs e)

{str = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";//строковая перем. с алфавитом

int posX = 20, posY = 150;//начальные позиции первой строки букв

for (int i = 0; i < str.Count(); i++)//создание цикла

{button = new Button();//метод создания новой кнопки.BackColor = Color.Aqua;//цвет кнопки

button.Text = str[i] + "";//присваивает значение след.буквы

button.Click += new EventHandler(this.button_Click);.Location = new System.Drawing.Point(posX, posY);//рисование кнопки.Size = new System.Drawing.Size(30, 25);//задание размера кнопки.Controls.Add(button);//добавление кнопки+= button.Width;//ширина кнопки((i + 1) % 8 == 0)

{= 20;+= button.Height;//высота кнопки

}

}_new_game();

}

//начало игры

private void start_new_game()//начальная позиция

{= 6;//количество попыток= new List<char>();//отгаданные буквы= pickWord();.Show("Угадайте животное");.Text = displayWord();.Text = "";

pictureBox1.Load(@"платформа с палкой_1.jpg");

}string pickWord()//выбор слова рандомно

{[] wordList = File.ReadAllLines("Список зверей ср.txt");randomGen = new Random();wordList[randomGen.Next(wordList.Count())];

}string displayWord()

{returnedWord = "";(guessedLetters.Count == 0)

{(char letter in word) returnedWord += "_ ";returnedWord;

}(char letter in word)

{letterMatch = false;(char character in guessedLetters)(char.ToLower(character) == char.ToLower(letter))

{+= character + " ";= true;;

}letterMatch = false;(letterMatch == false) returnedWord += "_ ";

}returnedWord;

}button_Click(object sender, System.EventArgs e)

{letter_btn = sender as Button;guessedLetter = letter_btn.Text;letters = "";repeat = false;(int i = 0; i < guessedLetters.Count; i++)(char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;(repeat == false)

{.Add(guessedLetter.ToCharArray()[0]);(!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");(char letter in guessedLetters) letters += " " + letter;.Text = letters;wordToDisplay = displayWord();.Text = displayWord();(!wordToDisplay.Contains("_"))

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Victory.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы выиграли! Правильное слово: " + word);

SaveCountWin.Save();

}if (numGuessesInt <= 0)

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Loose.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы проиграли! Правильное слово: " + word);

table_of_lider fr = new table_of_lider();.Show();.Hide();

}

}

}

//кнопка в главное менюvoid button1_Click(object sender, EventArgs e)

{fr = new MainForm();.Show();.Hide();

}

}

}

Код файла game3.cs

namespace WindowsFormsApplication1

{partial class game3 : Form

{music;word; int numGuessesInt; List<char> guessedLetters;game3()

{();

}

//Создание кнопок для букв алфавитаvoid Form12_Shown(object sender, EventArgs e)

{str = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";//строковая перем. с алфавитом

int posX = 20, posY = 150;//начальные позиции первой строки букв

for (int i = 0; i < str.Count(); i++)//создание цикла

{button = new Button();//метод создания новой кнопки.BackColor = Color.Aqua;//цвет кнопки

button.Text = str[i] + "";//присваивает значение след.буквы

button.Click += new EventHandler(this.button_Click);.Location = new System.Drawing.Point(posX, posY);//рисование кнопки.Size = new System.Drawing.Size(30, 25);//задание размера кнопки.Controls.Add(button);//добавление кнопки+= button.Width;//ширина кнопки((i + 1) % 8 == 0)

{= 20;+= button.Height;//высота кнопки

}

}_new_game();

}

//начало игры

private void start_new_game()//начальная позиция

{= 6;//количество попыток= new List<char>();//отгаданные буквы= pickWord();.Show("Угадайте животное");.Text = displayWord();.Text = "";

pictureBox1.Load(@"платформа с палкой_1.jpg");

}string pickWord()//выбор слова рандомно

{[] wordList = File.ReadAllLines("Список зверей hard.txt");randomGen = new Random();wordList[randomGen.Next(wordList.Count())];

}string displayWord()

{returnedWord = "";(guessedLetters.Count == 0)

{(char letter in word) returnedWord += "_ ";returnedWord;

}(char letter in word)

{letterMatch = false;(char character in guessedLetters)(char.ToLower(character) == char.ToLower(letter))

{+= character + " ";= true;;

}letterMatch = false;(letterMatch == false) returnedWord += "_ ";

}returnedWord;

}button_Click(object sender, System.EventArgs e)

{letter_btn = sender as Button;guessedLetter = letter_btn.Text;letters = "";repeat = false;(int i = 0; i < guessedLetters.Count; i++)(char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;(repeat == false)

{.Add(guessedLetter.ToCharArray()[0]);(!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");(char letter in guessedLetters) letters += " " + letter;.Text = letters;wordToDisplay = displayWord();.Text = displayWord();(!wordToDisplay.Contains("_"))

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Victory.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы выиграли! Правильное слово: " + word);

SaveCountWin.Save();

}if (numGuessesInt <= 0)

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Loose.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы проиграли! Правильное слово: " + word);

table_of_lider fr = new table_of_lider();.Show();.Hide();

}

}

}

//кнопка в главное менюvoid button1_Click(object sender, EventArgs e)

{fr = new MainForm();.Show();.Hide();

}

}

}

Код файла game4.cs

namespace WindowsFormsApplication1

{partial class Form13 : Form

{music;word; int numGuessesInt; List<char> guessedLetters;Form13()

{();

}

//Создание кнопок для букв алфавитаvoid Form13_Shown(object sender, EventArgs e)

{str = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";//строковая перем. с алфавитом

int posX = 20, posY = 150;//начальные позиции первой строки букв

for (int i = 0; i < str.Count(); i++)//создание цикла

{button = new Button();//метод создания новой кнопки.BackColor = Color.Aqua;//цвет кнопки

button.Text = str[i] + "";//присваивает значение след.буквы

button.Click += new EventHandler(this.button_Click);.Location = new System.Drawing.Point(posX, posY);//рисование кнопки.Size = new System.Drawing.Size(30, 25);//задание размера кнопки.Controls.Add(button);//добавление кнопки+= button.Width;//ширина кнопки((i + 1) % 8 == 0)

{= 20;+= button.Height;//высота кнопки

}

}_new_game();

}

//начало игры

private void start_new_game()//начальная позиция

{= 6;//количество попыток= new List<char>();//отгаданные буквы= pickWord();.Show("Угадайте имя");.Text = displayWord();.Text = "";

pictureBox1.Load(@"платформа с палкой_1.jpg");

}string pickWord()//выбор слова рандомно

{[] wordList = File.ReadAllLines("Список имен.txt");randomGen = new Random();wordList[randomGen.Next(wordList.Count())];

}string displayWord()

{returnedWord = "";(guessedLetters.Count == 0)

{(char letter in word) returnedWord += "_ ";returnedWord;

}(char letter in word)

{letterMatch = false;(char character in guessedLetters)(char.ToLower(character) == char.ToLower(letter))

{+= character + " ";= true;;

}letterMatch = false;(letterMatch == false) returnedWord += "_ ";

}returnedWord;

}button_Click(object sender, System.EventArgs e)

{letter_btn = sender as Button;guessedLetter = letter_btn.Text;letters = "";repeat = false;(int i = 0; i < guessedLetters.Count; i++)(char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;(repeat == false)

{.Add(guessedLetter.ToCharArray()[0]);(!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");(char letter in guessedLetters) letters += " " + letter;.Text = letters;wordToDisplay = displayWord();.Text = displayWord();(!wordToDisplay.Contains("_"))

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Victory.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы выиграли! Правильное слово: " + word);

SaveCountWin.Save();

}if (numGuessesInt <= 0)

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Loose.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы проиграли! Правильное слово: " + word);

table_of_lider fr = new table_of_lider();.Show();.Hide();

}

}

}

//кнопка в главное менюvoid button1_Click(object sender, EventArgs e)

{fr = new MainForm();.Show();.Hide();

}

}

}

Код файла game5.cs

namespace WindowsFormsApplication1

{partial class game5 : Form

{music;word; int numGuessesInt; List<char> guessedLetters;game5()

{();

}

//Создание кнопок для букв алфавитаvoid Form14_Shown(object sender, EventArgs e)

{str = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";//строковая перем. с алфавитом

int posX = 20, posY = 150;//начальные позиции первой строки букв

for (int i = 0; i < str.Count(); i++)//создание цикла

{button = new Button();//метод создания новой кнопки.BackColor = Color.Aqua;//цвет кнопки

button.Text = str[i] + "";//присваивает значение след.буквы

button.Click += new EventHandler(this.button_Click);.Location = new System.Drawing.Point(posX, posY);//рисование кнопки.Size = new System.Drawing.Size(30, 25);//задание размера кнопки.Controls.Add(button);//добавление кнопки+= button.Width;//ширина кнопки((i + 1) % 8 == 0)

{= 20;+= button.Height;//высота кнопки

}

}_new_game();

}

//начало игры

private void start_new_game()//начальная позиция

{= 6;//количество попыток= new List<char>();//отгаданные буквы= pickWord();.Show("Угадайте имя");.Text = displayWord();.Text = "";

pictureBox1.Load(@"платформа с палкой_1.jpg");

}string pickWord()//выбор слова рандомно

{[] wordList = File.ReadAllLines("Список имен ср.txt");randomGen = new Random();wordList[randomGen.Next(wordList.Count())];

}string displayWord()

{returnedWord = "";(guessedLetters.Count == 0)

{(char letter in word) returnedWord += "_ ";returnedWord;

}(char letter in word)

{letterMatch = false;(char character in guessedLetters)(char.ToLower(character) == char.ToLower(letter))

{+= character + " ";= true;;

}letterMatch = false;(letterMatch == false) returnedWord += "_ ";

}returnedWord;

}button_Click(object sender, System.EventArgs e)

{letter_btn = sender as Button;guessedLetter = letter_btn.Text;letters = "";repeat = false;(int i = 0; i < guessedLetters.Count; i++)(char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;(repeat == false)

{.Add(guessedLetter.ToCharArray()[0]);(!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");(char letter in guessedLetters) letters += " " + letter;.Text = letters;wordToDisplay = displayWord();.Text = displayWord();(!wordToDisplay.Contains("_"))

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Victory.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы выиграли! Правильное слово: " + word);

SaveCountWin.Save();

}if (numGuessesInt <= 0)

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Loose.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы проиграли! Правильное слово: " + word);

table_of_lider fr = new table_of_lider();.Show();.Hide();

}

}

}

//кнопка в главное менюvoid button1_Click(object sender, EventArgs e)

{fr = new MainForm();.Show();.Hide();

}

}

}

Код файла game6.cs

namespace WindowsFormsApplication1

{partial class game6 : Form

{music;word; int numGuessesInt; List<char> guessedLetters;game6()

{();

}

//Создание кнопок для букв алфавитаvoid Form15_Shown(object sender, EventArgs e)

{str = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";//строковая перем. с алфавитом

int posX = 20, posY = 150;//начальные позиции первой строки букв

for (int i = 0; i < str.Count(); i++)//создание цикла

{button = new Button();//метод создания новой кнопки.BackColor = Color.Aqua;//цвет кнопки

button.Text = str[i] + "";//присваивает значение след.буквы

button.Click += new EventHandler(this.button_Click);.Location = new System.Drawing.Point(posX, posY);//рисование кнопки.Size = new System.Drawing.Size(30, 25);//задание размера кнопки.Controls.Add(button);//добавление кнопки+= button.Width;//ширина кнопки((i + 1) % 8 == 0)

{= 20;+= button.Height;//высота кнопки

}

}_new_game();

}

//начало игры

private void start_new_game()//начальная позиция

{= 6;//количество попыток= new List<char>();//отгаданные буквы= pickWord();.Show("Угадайте имя");.Text = displayWord();.Text = "";

pictureBox1.Load(@"платформа с палкой_1.jpg");

}string pickWord()//выбор слова рандомно

{[] wordList = File.ReadAllLines("Список имен hard.txt");randomGen = new Random();wordList[randomGen.Next(wordList.Count())];

}string displayWord()

{returnedWord = "";(guessedLetters.Count == 0)

{(char letter in word) returnedWord += "_ ";returnedWord;

}(char letter in word)

{letterMatch = false;(char character in guessedLetters)(char.ToLower(character) == char.ToLower(letter))

{+= character + " ";= true;;

}letterMatch = false;(letterMatch == false) returnedWord += "_ ";

}returnedWord;

}button_Click(object sender, System.EventArgs e)

{letter_btn = sender as Button;guessedLetter = letter_btn.Text;letters = "";repeat = false;(int i = 0; i < guessedLetters.Count; i++)(char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;(repeat == false)

{.Add(guessedLetter.ToCharArray()[0]);(!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");(char letter in guessedLetters) letters += " " + letter;.Text = letters;wordToDisplay = displayWord();.Text = displayWord();(!wordToDisplay.Contains("_"))

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Victory.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы выиграли! Правильное слово: " + word);

SaveCountWin.Save();

}if (numGuessesInt <= 0)

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Loose.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы проиграли! Правильное слово: " + word);

table_of_lider fr = new table_of_lider();.Show();.Hide();

}

}

}

//кнопка в главное менюvoid button1_Click(object sender, EventArgs e)

{fr = new MainForm();.Show();.Hide();

}

}

}

Код файла game7.cs

namespace WindowsFormsApplication1

{partial class Form4 : Form

{music;word; int numGuessesInt; List<char> guessedLetters;Form4()

{();

}

//Создание кнопок для букв алфавитаvoid Form4_Shown(object sender, EventArgs e)

{str = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";//строковая перем. с алфавитом

int posX = 20, posY = 150;//начальные позиции первой строки букв

for (int i = 0; i < str.Count(); i++)//создание цикла

{button = new Button();//метод создания новой кнопки.BackColor = Color.Aqua;//цвет кнопки

button.Text = str[i] + "";//присваивает значение след.буквы

button.Click += new EventHandler(this.button_Click);.Location = new System.Drawing.Point(posX, posY);//рисование кнопки.Size = new System.Drawing.Size(30, 25);//задание размера кнопки.Controls.Add(button);//добавление кнопки+= button.Width;//ширина кнопки((i + 1) % 8 == 0)

{= 20;+= button.Height;//высота кнопки

}

}_new_game();

}

//начало игры

private void start_new_game()//начальная позиция

{= 6;//количество попыток= new List<char>();//отгаданные буквы= pickWord();.Show("Угадайте город РФ");.Text = displayWord();.Text = "";

pictureBox1.Load(@"платформа с палкой_1.jpg");

}string pickWord()//выбор слова рандомно

{[] wordList = File.ReadAllLines("Список городов России.txt");randomGen = new Random();wordList[randomGen.Next(wordList.Count())];

}string displayWord()

{returnedWord = "";(guessedLetters.Count == 0)

{(char letter in word) returnedWord += "_ ";returnedWord;

}(char letter in word)

{letterMatch = false;(char character in guessedLetters)(char.ToLower(character) == char.ToLower(letter))

{+= character + " ";= true;;

}letterMatch = false;(letterMatch == false) returnedWord += "_ ";

}returnedWord;

}button_Click(object sender, System.EventArgs e)

{letter_btn = sender as Button;guessedLetter = letter_btn.Text;letters = "";repeat = false;(int i = 0; i < guessedLetters.Count; i++)(char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;(repeat == false)

{.Add(guessedLetter.ToCharArray()[0]);(!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");(char letter in guessedLetters) letters += " " + letter;.Text = letters;wordToDisplay = displayWord();.Text = displayWord();(!wordToDisplay.Contains("_"))

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Victory.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы выиграли! Правильное слово: " + word);

SaveCountWin.Save();

}if (numGuessesInt <= 0)

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Loose.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы проиграли! Правильное слово: " + word);

table_of_lider fr = new table_of_lider();.Show();.Hide();

}

}

}

//кнопка в главное менюvoid button1_Click(object sender, EventArgs e)

{fr = new MainForm();.Show();.Hide();

}

}

}

Код файла game8.cs

namespace WindowsFormsApplication1

{partial class game8 : Form

{music;word; int numGuessesInt; List<char> guessedLetters;game8()

{();

}

//Создание кнопок для букв алфавитаvoid Form6_Shown(object sender, EventArgs e)

{str = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";//строковая перем. с алфавитом

int posX = 20, posY = 150;//начальные позиции первой строки букв

for (int i = 0; i < str.Count(); i++)//создание цикла

{button = new Button();//метод создания новой кнопки.BackColor = Color.Aqua;//цвет кнопки

button.Text = str[i] + "";//присваивает значение след.буквы

button.Click += new EventHandler(this.button_Click);.Location = new System.Drawing.Point(posX, posY);//рисование кнопки.Size = new System.Drawing.Size(30, 25);//задание размера кнопки.Controls.Add(button);//добавление кнопки+= button.Width;//ширина кнопки((i + 1) % 8 == 0)

{= 20;+= button.Height;//высота кнопки

}

}_new_game();

}

//начало игры

private void start_new_game()//начальная позиция

{= 6;//количество попыток= new List<char>();//отгаданные буквы= pickWord();.Show("Угадайте город РФ");.Text = displayWord();.Text = "";

pictureBox1.Load(@"платформа с палкой_1.jpg");

}string pickWord()//выбор слова рандомно

{[] wordList = File.ReadAllLines("Список городов России ср.txt");randomGen = new Random();wordList[randomGen.Next(wordList.Count())];

}string displayWord()

{returnedWord = "";(guessedLetters.Count == 0)

}(char letter in word)

{letterMatch = false;(char character in guessedLetters)(char.ToLower(character) == char.ToLower(letter))

{+= character + " ";= true;;

}letterMatch = false;(letterMatch == false) returnedWord += "_ ";

}returnedWord;

}button_Click(object sender, System.EventArgs e)

{letter_btn = sender as Button;guessedLetter = letter_btn.Text;letters = "";repeat = false;(int i = 0; i < guessedLetters.Count; i++)(char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;(repeat == false)

{.Add(guessedLetter.ToCharArray()[0]);(!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");(char letter in guessedLetters) letters += " " + letter;.Text = letters;wordToDisplay = displayWord();.Text = displayWord();(!wordToDisplay.Contains("_"))

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Victory.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы выиграли! Правильное слово: " + word);

SaveCountWin.Save();

}if (numGuessesInt <= 0)

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Loose.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы проиграли! Правильное слово: " + word);

table_of_lider fr = new table_of_lider();.Show();.Hide();

}

}

}

//кнопка в главное менюvoid button1_Click(object sender, EventArgs e)

{fr = new MainForm();.Show();.Hide();

}

}

}

Код файла game9.cs

namespace WindowsFormsApplication1

{partial class game9 : Form

{music;word; int numGuessesInt; List<char> guessedLetters;game9()

{();

}

//Создание кнопок для букв алфавитаvoid Form7_Shown(object sender, EventArgs e)

{.Size = new Size(500, 500);str = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";//строковая перем. с алфавитом

int posX = 20, posY = 150;//начальные позиции первой строки букв

for (int i = 0; i < str.Count(); i++)//создание цикла

{button = new Button();//метод создания новой кнопки.BackColor = Color.Aqua;//цвет кнопки

button.Text = str[i] + "";//присваивает значение след.буквы

button.Click += new EventHandler(this.button_Click);.Location = new System.Drawing.Point(posX, posY);//рисование кнопки.Size = new System.Drawing.Size(30, 25);//задание размера кнопки.Controls.Add(button);//добавление кнопки+= button.Width;//ширина кнопки((i + 1) % 8 == 0)

{= 20;+= button.Height;//высота кнопки

}

}_new_game();

}

//начало игры

private void start_new_game()//начальная позиция

{= 6;//количество попыток= new List<char>();//отгаданные буквы= pickWord();.Show("Угадайте город РФ");.Text = displayWord();.Text = "";

pictureBox1.Load(@"платформа с палкой_1.jpg");

}string pickWord()//выбор слова рандомно

{[] wordList = File.ReadAllLines("Список городов России hard.txt");randomGen = new Random();wordList[randomGen.Next(wordList.Count())];

}string displayWord()

{returnedWord = "";(guessedLetters.Count == 0)

{(char letter in word) returnedWord += "_ ";returnedWord;

}(char letter in word)

{letterMatch = false;(char character in guessedLetters)(char.ToLower(character) == char.ToLower(letter))

{+= character + " ";= true;;

}letterMatch = false;(letterMatch == false) returnedWord += "_ ";

}returnedWord;

}button_Click(object sender, System.EventArgs e)

{letter_btn = sender as Button;guessedLetter = letter_btn.Text;letters = "";repeat = false;(int i = 0; i < guessedLetters.Count; i++)(char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;(repeat == false)

{.Add(guessedLetter.ToCharArray()[0]);(!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");(char letter in guessedLetters) letters += " " + letter;.Text = letters;wordToDisplay = displayWord();.Text = displayWord();(!wordToDisplay.Contains("_"))

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Victory.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы выиграли! Правильное слово: " + word);

SaveCountWin.Save();

}if (numGuessesInt <= 0)

{= Media.Instance.wmp;.controls.stop();.URL = Application.StartupPath + "\\Loose.mp3";.settings.setMode("loop", true);.controls.play();.settings.setMode("loop", false);

MessageBox.Show("Вы проиграли! Правильное слово: " + word);

table_of_lider fr = new table_of_lider();.Show();.Hide();

}

}

}

//кнопка в главное менюvoid button1_Click(object sender, EventArgs e)

{fr = new MainForm();.Show();.Hide();

}

}

}

Код файла table of lider.cs

namespace WindowsFormsApplication1

{partial class table_of_lider : Form

{table_of_lider()

{();(File.Exists("Рейтинг.txt"))

{str = File.ReadAllLines("Рейтинг.txt"); // Читаем полностью фаилListRating = new List<rating>(); // лист со структурой созданной ниже(int i = 0; i < str.Count(); i++)

{

{nb = str[i].Split(':');.Add(new rating(nb[0], Convert.ToInt32(nb[1]))); // добавляем все значения а именно Имя и Макс. Баланс

}{ continue; }

}.Sort((b, a) => a.CountWin.CompareTo(b.CountWin)); // Лямбда функция для сортировкиcount = 1;(var item in ListRating) { // вывод.AppendText(count+". Игрок: "+ item.Name + " Кол-во побед: "+ item.CountWin + Environment.NewLine);++;

}

}

}void button1_Click_1(object sender, EventArgs e)

{_new_game fr = new start_new_game();.Show();.Hide();

}

}

}

Код файла start new game.cs

namespace WindowsFormsApplication1

{partial class start_new_game : Form

{start_new_game()

{();

}void start_new_game_Load(object sender, EventArgs e)

{.Size = new Size(225, 225);

}void button1_Click(object sender, EventArgs e)

{fr = new Category();.Show();.Hide();

}void button2_Click(object sender, EventArgs e)

{.Exit();

}

}

}

Код файла Config.cs

namespace WindowsFormsApplication1

{Config

{static readonly Config ConfigList = new Config();static Config Instance { get { return ConfigList; } }String NamePayer;

}

}

Код файла Media.cs

namespace WindowsFormsApplication1

{Media

{static readonly Media sound = new Media();static Media Instance { get { return sound; } }WindowsMediaPlayer wmp = new WindowsMediaPlayer();

}

}

Код файла SaveCountWin.cs

namespace WindowsFormsApplication1

{SaveCountWin

{static void Save()

{cf = Config.Instance;<rating> ratg = new List<rating>();.Clear();(File.Exists("Рейтинг.txt"))

{src = File.ReadAllLines("Рейтинг.txt");(var item in src)

{

{pwr = item.Split(':');.Add(new rating(pwr[0], Convert.ToInt32(pwr[1])));

}{ continue; }

}

}IsItem = true;(int i = 0; i < ratg.Count; i++)

{_name = ratg[i].Name;(cf.NamePayer == _name)

{[i].CountWin++;= false;;

}

}(IsItem)

{.Add(new rating(cf.NamePayer, 1));

}str = "";(var item in ratg)

{+= item.Name + ":" + item.CountWin.ToString() + Environment.NewLine;

}file = new StreamWriter("Рейтинг.txt");.WriteLine(str);.Close();_of_lider fr = new table_of_lider();.Show();

}

}rating

{string Name;int CountWin;rating(string name, int countwin)

{.Name = name;.CountWin = countwin;

}

}

}

Похожие работы на - Разработка игры 'Виселица' на С#

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!