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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 31.01.2016
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

Введение

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

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

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

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

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

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

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

Заключение

Литература

Приложение А

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Microsoft Visual Studio -- линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight.

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как, например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования) или инструментов для прочих аспектовпроцесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

Компоненты:

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

1) Visual Basic .NET, а до его появления -- Visual Basic;

2) Visual C++;

3) Visual C#;

4) Visual F# (включён начиная с Visual Studio 2010).

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

Microsoft SQL Server либо Microsoft SQL Server Express

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

1) Visual InterDev;

2) Visual J++;

3) Visual J#;

4) Visual FoxPro;

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

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

Visual Studio 2015 Enterprise

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

Данная редакция предоставляет IDE для всех поддерживаемых продуктов и поддерживает полную версию библиотеки MSDN. Поддерживается редактирование XML и XSLT, как и средства для тестирования объектов. Однако отсутствует обозреватель серверов и интеграция с Microsoft SQL Server. Поддержка разработки под мобильные устройства изначально была включена в Visual Studio 2005 Standard, но в версии 2008 она доступна только в Professional-редакции. Начиная с версии 2010 более не существует.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Главная форма (Рисунок 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 кнопками: Да или Нет. И пользователю необходимо решить начинать ли новую игру или же завершить ее.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- .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 Мб и выше.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

Литература

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

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

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

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

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

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

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

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

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

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

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

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

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

Приложение А

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

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

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

Код файла MainForm.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class MainForm : Form

{

public MainForm()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

enter_data dc = new enter_data();//переход на форму c вводом данных с 1

dc.Show();

this.Hide();//закрыть 1 форму

}

private void button3_Click(object sender, EventArgs e)

{

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

}

private void button2_Click(object sender, EventArgs e)

{

Info fr = new Info();//переход на форму со справкой

fr.Show();//показать новую форму

this.Hide();//закрыть предыдущую форму

}

private void Form1_Load(object sender, EventArgs e)

{

this.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");

this.Size = new Size(450, 450);

this.BackgroundImageLayout = ImageLayout.Stretch;

}

}

}

Код файла Info.cs

namespace WindowsFormsApplication1

{

public partial class Info : Form

{

public Info()

{

InitializeComponent();

}

private void Form3_Load(object sender, EventArgs e)

{

this.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");//вставил картинку для фона на форму 3(справка)

this.Size = new Size(780, 475);//задал размер окна

this.BackgroundImageLayout = ImageLayout.Stretch;//чтобы размер картинки = размеру окна

}

private void button1_Click(object sender, EventArgs e)

{

MainForm fr = new MainForm();//переход на первую форму с 3

fr.Show();//

this.Hide();//закрыть 3 форму

}

private void button2_Click(object sender, EventArgs e)

{

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

}

}

}

Код файла enter_data

namespace WindowsFormsApplication1

{

public partial class MainForm : Form

{

public MainForm()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

enter_data dc = new enter_data();//переход на форму c вводом данных с 1

dc.Show();

this.Hide();//закрыть 1 форму

}

private void button3_Click(object sender, EventArgs e)

{

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

}

private void button2_Click(object sender, EventArgs e)

{

Info fr = new Info();//переход на форму со справкой

fr.Show();//показать новую форму

this.Hide();//закрыть предыдущую форму

}

private void Form1_Load(object sender, EventArgs e)

{

this.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");

this.Size = new Size(450, 450);

this.BackgroundImageLayout = ImageLayout.Stretch;

}

}

}

Код файла Category.cs

namespace WindowsFormsApplication1

{

public partial class Category : Form

{

public Category()

{

InitializeComponent();

}

private void Form5_Load(object sender, EventArgs e)

{

this.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");

this.Size = new Size(500, 500);

this.BackgroundImageLayout = ImageLayout.Stretch;

}

private void button1_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void button2_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void button3_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void button4_Click(object sender, EventArgs e)

{

MainForm fr = new MainForm();

fr.Show();

this.Hide();

}

}

}

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

namespace WindowsFormsApplication1

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void Form2_Load(object sender, EventArgs e)

{

this.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");

this.Size = new Size(500, 500);

this.BackgroundImageLayout = ImageLayout.Stretch;

}

private void button2_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void button3_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void button4_Click(object sender, EventArgs e)

{

Category fr = new Category();

fr.Show();

this.Hide();

}

}

}

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

namespace WindowsFormsApplication1

{

public partial class Form9 : Form

{

public Form9()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void Form9_Load(object sender, EventArgs e)

{

this.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");

this.Size = new Size(500, 500);

this.BackgroundImageLayout = ImageLayout.Stretch;

}

private void button2_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void button3_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void button4_Click(object sender, EventArgs e)

{

Category fr = new Category();

fr.Show();

this.Hide();

}

}

}

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

namespace WindowsFormsApplication1

{

public partial class Form8 : Form

{

public Form8()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void Form8_Load(object sender, EventArgs e)

{

this.BackgroundImage = new Bitmap(@"C:\Program files\курсач\курсовая\курсовая\Resources\виселица1.jpg");

this.Size = new Size(500, 500);

this.BackgroundImageLayout = ImageLayout.Stretch;

}

private void button2_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void button3_Click(object sender, EventArgs e)

{

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

fr.Show();

this.Hide();

}

private void button4_Click(object sender, EventArgs e)

{

Category fr = new Category();

fr.Show();

this.Hide();

}

}

}

Код файла game1.cs

namespace WindowsFormsApplication1

{

public partial class game1 : Form

{

WindowsMediaPlayer music;

string word; int numGuessesInt; List<char> guessedLetters;

public game1()

{

InitializeComponent();

}

//Создание кнопок для букв алфавита

private void Form10_Shown(object sender, EventArgs e)

{

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

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

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

{

Button button = new Button();//метод создания новой кнопки

button.BackColor = Color.Aqua;//цвет кнопки

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

button.Click += new EventHandler(this.button_Click);

button.Location = new System.Drawing.Point(posX, posY);//рисование кнопки

button.Size = new System.Drawing.Size(30, 25);//задание размера кнопки

this.Controls.Add(button);//добавление кнопки

posX += button.Width;//ширина кнопки

if ((i + 1) % 8 == 0)

{

posX = 20;

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

}

}

start_new_game();

}

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

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

{

numGuessesInt = 6;//количество попыток

guessedLetters = new List<char>();//отгаданные буквы

word = pickWord();

MessageBox.Show("Угадайте животное");

label1.Text = displayWord();

label2.Text = "";

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

}

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

{

string[] wordList = File.ReadAllLines("Список зверей.txt");

Random randomGen = new Random();

return wordList[randomGen.Next(wordList.Count())];

}

private string displayWord()

{

string returnedWord = "";

if (guessedLetters.Count == 0)

{

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

return returnedWord;

}

foreach (char letter in word)

{

bool letterMatch = false;

foreach (char character in guessedLetters)

if (char.ToLower(character) == char.ToLower(letter))

{

returnedWord += character + " ";

letterMatch = true;

break;

}

else letterMatch = false;

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

}

return returnedWord;

}

void button_Click(object sender, System.EventArgs e)

{

Button letter_btn = sender as Button;

string guessedLetter = letter_btn.Text;

string letters = "";

bool repeat = false;

for (int i = 0; i < guessedLetters.Count; i++)

if (char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;

if (repeat == false)

{

guessedLetters.Add(guessedLetter.ToCharArray()[0]);

if (!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;

pictureBox1.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");

foreach (char letter in guessedLetters) letters += " " + letter;

label2.Text = letters;

string wordToDisplay = displayWord();

label1.Text = displayWord();

if (!wordToDisplay.Contains("_"))

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Victory.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

SaveCountWin.Save();

}

else if (numGuessesInt <= 0)

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Loose.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

table_of_lider fr = new table_of_lider();

fr.Show();

this.Hide();

}

}

}

//кнопка в главное меню

private void button1_Click(object sender, EventArgs e)

{

MainForm fr = new MainForm();

fr.Show();

this.Hide();

}

}

}

Код файла game2.cs

namespace WindowsFormsApplication1

{

public partial class game2 : Form

{

WindowsMediaPlayer music;

string word; int numGuessesInt; List<char> guessedLetters;

public game2()

{

InitializeComponent();

}

//Создание кнопок для букв алфавита

private void Form11_Shown(object sender, EventArgs e)

{

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

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

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

{

Button button = new Button();//метод создания новой кнопки

button.BackColor = Color.Aqua;//цвет кнопки

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

button.Click += new EventHandler(this.button_Click);

button.Location = new System.Drawing.Point(posX, posY);//рисование кнопки

button.Size = new System.Drawing.Size(30, 25);//задание размера кнопки

this.Controls.Add(button);//добавление кнопки

posX += button.Width;//ширина кнопки

if ((i + 1) % 8 == 0)

{

posX = 20;

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

}

}

start_new_game();

}

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

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

{

numGuessesInt = 6;//количество попыток

guessedLetters = new List<char>();//отгаданные буквы

word = pickWord();

MessageBox.Show("Угадайте животное");

label1.Text = displayWord();

label2.Text = "";

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

}

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

{

string[] wordList = File.ReadAllLines("Список зверей ср.txt");

Random randomGen = new Random();

return wordList[randomGen.Next(wordList.Count())];

}

private string displayWord()

{

string returnedWord = "";

if (guessedLetters.Count == 0)

{

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

return returnedWord;

}

foreach (char letter in word)

{

bool letterMatch = false;

foreach (char character in guessedLetters)

if (char.ToLower(character) == char.ToLower(letter))

{

returnedWord += character + " ";

letterMatch = true;

break;

}

else letterMatch = false;

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

}

return returnedWord;

}

void button_Click(object sender, System.EventArgs e)

{

Button letter_btn = sender as Button;

string guessedLetter = letter_btn.Text;

string letters = "";

bool repeat = false;

for (int i = 0; i < guessedLetters.Count; i++)

if (char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;

if (repeat == false)

{

guessedLetters.Add(guessedLetter.ToCharArray()[0]);

if (!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;

pictureBox1.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");

foreach (char letter in guessedLetters) letters += " " + letter;

label2.Text = letters;

string wordToDisplay = displayWord();

label1.Text = displayWord();

if (!wordToDisplay.Contains("_"))

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Victory.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

SaveCountWin.Save();

}

else if (numGuessesInt <= 0)

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Loose.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

table_of_lider fr = new table_of_lider();

fr.Show();

this.Hide();

}

}

}

//кнопка в главное меню

private void button1_Click(object sender, EventArgs e)

{

MainForm fr = new MainForm();

fr.Show();

this.Hide();

}

}

}

Код файла game3.cs

namespace WindowsFormsApplication1

{

public partial class game3 : Form

{

WindowsMediaPlayer music;

string word; int numGuessesInt; List<char> guessedLetters;

public game3()

{

InitializeComponent();

}

//Создание кнопок для букв алфавита

private void Form12_Shown(object sender, EventArgs e)

{

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

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

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

{

Button button = new Button();//метод создания новой кнопки

button.BackColor = Color.Aqua;//цвет кнопки

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

button.Click += new EventHandler(this.button_Click);

button.Location = new System.Drawing.Point(posX, posY);//рисование кнопки

button.Size = new System.Drawing.Size(30, 25);//задание размера кнопки

this.Controls.Add(button);//добавление кнопки

posX += button.Width;//ширина кнопки

if ((i + 1) % 8 == 0)

{

posX = 20;

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

}

}

start_new_game();

}

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

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

{

numGuessesInt = 6;//количество попыток

guessedLetters = new List<char>();//отгаданные буквы

word = pickWord();

MessageBox.Show("Угадайте животное");

label1.Text = displayWord();

label2.Text = "";

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

}

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

{

string[] wordList = File.ReadAllLines("Список зверей hard.txt");

Random randomGen = new Random();

return wordList[randomGen.Next(wordList.Count())];

}

private string displayWord()

{

string returnedWord = "";

if (guessedLetters.Count == 0)

{

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

return returnedWord;

}

foreach (char letter in word)

{

bool letterMatch = false;

foreach (char character in guessedLetters)

if (char.ToLower(character) == char.ToLower(letter))

{

returnedWord += character + " ";

letterMatch = true;

break;

}

else letterMatch = false;

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

}

return returnedWord;

}

void button_Click(object sender, System.EventArgs e)

{

Button letter_btn = sender as Button;

string guessedLetter = letter_btn.Text;

string letters = "";

bool repeat = false;

for (int i = 0; i < guessedLetters.Count; i++)

if (char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;

if (repeat == false)

{

guessedLetters.Add(guessedLetter.ToCharArray()[0]);

if (!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;

pictureBox1.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");

foreach (char letter in guessedLetters) letters += " " + letter;

label2.Text = letters;

string wordToDisplay = displayWord();

label1.Text = displayWord();

if (!wordToDisplay.Contains("_"))

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Victory.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

SaveCountWin.Save();

}

else if (numGuessesInt <= 0)

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Loose.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

table_of_lider fr = new table_of_lider();

fr.Show();

this.Hide();

}

}

}

//кнопка в главное меню

private void button1_Click(object sender, EventArgs e)

{

MainForm fr = new MainForm();

fr.Show();

this.Hide();

}

}

}

Код файла game4.cs

namespace WindowsFormsApplication1

{

public partial class Form13 : Form

{

WindowsMediaPlayer music;

string word; int numGuessesInt; List<char> guessedLetters;

public Form13()

{

InitializeComponent();

}

//Создание кнопок для букв алфавита

private void Form13_Shown(object sender, EventArgs e)

{

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

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

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

{

Button button = new Button();//метод создания новой кнопки

button.BackColor = Color.Aqua;//цвет кнопки

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

button.Click += new EventHandler(this.button_Click);

button.Location = new System.Drawing.Point(posX, posY);//рисование кнопки

button.Size = new System.Drawing.Size(30, 25);//задание размера кнопки

this.Controls.Add(button);//добавление кнопки

posX += button.Width;//ширина кнопки

if ((i + 1) % 8 == 0)

{

posX = 20;

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

}

}

start_new_game();

}

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

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

{

numGuessesInt = 6;//количество попыток

guessedLetters = new List<char>();//отгаданные буквы

word = pickWord();

MessageBox.Show("Угадайте имя");

label1.Text = displayWord();

label2.Text = "";

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

}

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

{

string[] wordList = File.ReadAllLines("Список имен.txt");

Random randomGen = new Random();

return wordList[randomGen.Next(wordList.Count())];

}

private string displayWord()

{

string returnedWord = "";

if (guessedLetters.Count == 0)

{

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

return returnedWord;

}

foreach (char letter in word)

{

bool letterMatch = false;

foreach (char character in guessedLetters)

if (char.ToLower(character) == char.ToLower(letter))

{

returnedWord += character + " ";

letterMatch = true;

break;

}

else letterMatch = false;

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

}

return returnedWord;

}

void button_Click(object sender, System.EventArgs e)

{

Button letter_btn = sender as Button;

string guessedLetter = letter_btn.Text;

string letters = "";

bool repeat = false;

for (int i = 0; i < guessedLetters.Count; i++)

if (char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;

if (repeat == false)

{

guessedLetters.Add(guessedLetter.ToCharArray()[0]);

if (!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;

pictureBox1.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");

foreach (char letter in guessedLetters) letters += " " + letter;

label2.Text = letters;

string wordToDisplay = displayWord();

label1.Text = displayWord();

if (!wordToDisplay.Contains("_"))

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Victory.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

SaveCountWin.Save();

}

else if (numGuessesInt <= 0)

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Loose.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

table_of_lider fr = new table_of_lider();

fr.Show();

this.Hide();

}

}

}

//кнопка в главное меню

private void button1_Click(object sender, EventArgs e)

{

MainForm fr = new MainForm();

fr.Show();

this.Hide();

}

}

}

Код файла game5.cs

namespace WindowsFormsApplication1

{

public partial class game5 : Form

{

WindowsMediaPlayer music;

string word; int numGuessesInt; List<char> guessedLetters;

public game5()

{

InitializeComponent();

}

//Создание кнопок для букв алфавита

private void Form14_Shown(object sender, EventArgs e)

{

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

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

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

{

Button button = new Button();//метод создания новой кнопки

button.BackColor = Color.Aqua;//цвет кнопки

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

button.Click += new EventHandler(this.button_Click);

button.Location = new System.Drawing.Point(posX, posY);//рисование кнопки

button.Size = new System.Drawing.Size(30, 25);//задание размера кнопки

this.Controls.Add(button);//добавление кнопки

posX += button.Width;//ширина кнопки

if ((i + 1) % 8 == 0)

{

posX = 20;

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

}

}

start_new_game();

}

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

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

{

numGuessesInt = 6;//количество попыток

guessedLetters = new List<char>();//отгаданные буквы

word = pickWord();

MessageBox.Show("Угадайте имя");

label1.Text = displayWord();

label2.Text = "";

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

}

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

{

string[] wordList = File.ReadAllLines("Список имен ср.txt");

Random randomGen = new Random();

return wordList[randomGen.Next(wordList.Count())];

}

private string displayWord()

{

string returnedWord = "";

if (guessedLetters.Count == 0)

{

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

return returnedWord;

}

foreach (char letter in word)

{

bool letterMatch = false;

foreach (char character in guessedLetters)

if (char.ToLower(character) == char.ToLower(letter))

{

returnedWord += character + " ";

letterMatch = true;

break;

}

else letterMatch = false;

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

}

return returnedWord;

}

void button_Click(object sender, System.EventArgs e)

{

Button letter_btn = sender as Button;

string guessedLetter = letter_btn.Text;

string letters = "";

bool repeat = false;

for (int i = 0; i < guessedLetters.Count; i++)

if (char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;

if (repeat == false)

{

guessedLetters.Add(guessedLetter.ToCharArray()[0]);

if (!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;

pictureBox1.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");

foreach (char letter in guessedLetters) letters += " " + letter;

label2.Text = letters;

string wordToDisplay = displayWord();

label1.Text = displayWord();

if (!wordToDisplay.Contains("_"))

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Victory.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

SaveCountWin.Save();

}

else if (numGuessesInt <= 0)

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Loose.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

table_of_lider fr = new table_of_lider();

fr.Show();

this.Hide();

}

}

}

//кнопка в главное меню

private void button1_Click(object sender, EventArgs e)

{

MainForm fr = new MainForm();

fr.Show();

this.Hide();

}

}

}

Код файла game6.cs

namespace WindowsFormsApplication1

{

public partial class game6 : Form

{

WindowsMediaPlayer music;

string word; int numGuessesInt; List<char> guessedLetters;

public game6()

{

InitializeComponent();

}

//Создание кнопок для букв алфавита

private void Form15_Shown(object sender, EventArgs e)

{

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

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

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

{

Button button = new Button();//метод создания новой кнопки

button.BackColor = Color.Aqua;//цвет кнопки

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

button.Click += new EventHandler(this.button_Click);

button.Location = new System.Drawing.Point(posX, posY);//рисование кнопки

button.Size = new System.Drawing.Size(30, 25);//задание размера кнопки

this.Controls.Add(button);//добавление кнопки

posX += button.Width;//ширина кнопки

if ((i + 1) % 8 == 0)

{

posX = 20;

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

}

}

start_new_game();

}

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

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

{

numGuessesInt = 6;//количество попыток

guessedLetters = new List<char>();//отгаданные буквы

word = pickWord();

MessageBox.Show("Угадайте имя");

label1.Text = displayWord();

label2.Text = "";

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

}

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

{

string[] wordList = File.ReadAllLines("Список имен hard.txt");

Random randomGen = new Random();

return wordList[randomGen.Next(wordList.Count())];

}

private string displayWord()

{

string returnedWord = "";

if (guessedLetters.Count == 0)

{

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

return returnedWord;

}

foreach (char letter in word)

{

bool letterMatch = false;

foreach (char character in guessedLetters)

if (char.ToLower(character) == char.ToLower(letter))

{

returnedWord += character + " ";

letterMatch = true;

break;

}

else letterMatch = false;

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

}

return returnedWord;

}

void button_Click(object sender, System.EventArgs e)

{

Button letter_btn = sender as Button;

string guessedLetter = letter_btn.Text;

string letters = "";

bool repeat = false;

for (int i = 0; i < guessedLetters.Count; i++)

if (char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;

if (repeat == false)

{

guessedLetters.Add(guessedLetter.ToCharArray()[0]);

if (!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;

pictureBox1.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");

foreach (char letter in guessedLetters) letters += " " + letter;

label2.Text = letters;

string wordToDisplay = displayWord();

label1.Text = displayWord();

if (!wordToDisplay.Contains("_"))

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Victory.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

SaveCountWin.Save();

}

else if (numGuessesInt <= 0)

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Loose.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

table_of_lider fr = new table_of_lider();

fr.Show();

this.Hide();

}

}

}

//кнопка в главное меню

private void button1_Click(object sender, EventArgs e)

{

MainForm fr = new MainForm();

fr.Show();

this.Hide();

}

}

}

Код файла game7.cs

namespace WindowsFormsApplication1

{

public partial class Form4 : Form

{

WindowsMediaPlayer music;

string word; int numGuessesInt; List<char> guessedLetters;

public Form4()

{

InitializeComponent();

}

//Создание кнопок для букв алфавита

private void Form4_Shown(object sender, EventArgs e)

{

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

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

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

{

Button button = new Button();//метод создания новой кнопки

button.BackColor = Color.Aqua;//цвет кнопки

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

button.Click += new EventHandler(this.button_Click);

button.Location = new System.Drawing.Point(posX, posY);//рисование кнопки

button.Size = new System.Drawing.Size(30, 25);//задание размера кнопки

this.Controls.Add(button);//добавление кнопки

posX += button.Width;//ширина кнопки

if ((i + 1) % 8 == 0)

{

posX = 20;

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

}

}

start_new_game();

}

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

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

{

numGuessesInt = 6;//количество попыток

guessedLetters = new List<char>();//отгаданные буквы

word = pickWord();

MessageBox.Show("Угадайте город РФ");

label1.Text = displayWord();

label2.Text = "";

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

}

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

{

string[] wordList = File.ReadAllLines("Список городов России.txt");

Random randomGen = new Random();

return wordList[randomGen.Next(wordList.Count())];

}

private string displayWord()

{

string returnedWord = "";

if (guessedLetters.Count == 0)

{

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

return returnedWord;

}

foreach (char letter in word)

{

bool letterMatch = false;

foreach (char character in guessedLetters)

if (char.ToLower(character) == char.ToLower(letter))

{

returnedWord += character + " ";

letterMatch = true;

break;

}

else letterMatch = false;

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

}

return returnedWord;

}

void button_Click(object sender, System.EventArgs e)

{

Button letter_btn = sender as Button;

string guessedLetter = letter_btn.Text;

string letters = "";

bool repeat = false;

for (int i = 0; i < guessedLetters.Count; i++)

if (char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;

if (repeat == false)

{

guessedLetters.Add(guessedLetter.ToCharArray()[0]);

if (!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;

pictureBox1.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");

foreach (char letter in guessedLetters) letters += " " + letter;

label2.Text = letters;

string wordToDisplay = displayWord();

label1.Text = displayWord();

if (!wordToDisplay.Contains("_"))

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Victory.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

SaveCountWin.Save();

}

else if (numGuessesInt <= 0)

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Loose.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

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

table_of_lider fr = new table_of_lider();

fr.Show();

this.Hide();

}

}

}

//кнопка в главное меню

private void button1_Click(object sender, EventArgs e)

{

MainForm fr = new MainForm();

fr.Show();

this.Hide();

}

}

}

Код файла game8.cs

namespace WindowsFormsApplication1

{

public partial class game8 : Form

{

WindowsMediaPlayer music;

string word; int numGuessesInt; List<char> guessedLetters;

public game8()

{

InitializeComponent();

}

//Создание кнопок для букв алфавита

private void Form6_Shown(object sender, EventArgs e)

{

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

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

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

{

Button button = new Button();//метод создания новой кнопки

button.BackColor = Color.Aqua;//цвет кнопки

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

button.Click += new EventHandler(this.button_Click);

button.Location = new System.Drawing.Point(posX, posY);//рисование кнопки

button.Size = new System.Drawing.Size(30, 25);//задание размера кнопки

this.Controls.Add(button);//добавление кнопки

posX += button.Width;//ширина кнопки

if ((i + 1) % 8 == 0)

{

posX = 20;

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

}

}

start_new_game();

}

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

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

{

numGuessesInt = 6;//количество попыток

guessedLetters = new List<char>();//отгаданные буквы

word = pickWord();

MessageBox.Show("Угадайте город РФ");

label1.Text = displayWord();

label2.Text = "";

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

}

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

{

string[] wordList = File.ReadAllLines("Список городов России ср.txt");

Random randomGen = new Random();

return wordList[randomGen.Next(wordList.Count())];

}

private string displayWord()

{

string returnedWord = "";

if (guessedLetters.Count == 0)

{

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

return returnedWord;

}

foreach (char letter in word)

{

bool letterMatch = false;

foreach (char character in guessedLetters)

if (char.ToLower(character) == char.ToLower(letter))

{

returnedWord += character + " ";

letterMatch = true;

break;

}

else letterMatch = false;

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

}

return returnedWord;

}

void button_Click(object sender, System.EventArgs e)

{

Button letter_btn = sender as Button;

string guessedLetter = letter_btn.Text;

string letters = "";

bool repeat = false;

for (int i = 0; i < guessedLetters.Count; i++)

if (char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;

if (repeat == false)


Подобные документы

  • Разработка программы "Виселица" с использованием программной среды Visual Basic и средств объектно-ориентированного программирования: программные требования, описание алгоритма, блок-схема программы и дополнительной процедуры. Листинг программы.

    курсовая работа [188,2 K], добавлен 28.06.2009

  • Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.

    курсовая работа [500,4 K], добавлен 13.01.2015

  • Понятие объектно-ориентированного программирования, общая характеристика языков высокого уровня. Разработка программного обеспечения для реализации компьютерной игры "пинбол" с помощью императивного программирования в среде Microsoft Visual Basic.

    курсовая работа [428,9 K], добавлен 19.09.2012

  • Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.

    курсовая работа [571,9 K], добавлен 14.07.2012

  • Описание принципа развивающей игры в слова "Виселица". Разработка программы, реализующей задачу данной игры на языке Delphi. Обоснование выбора среды программирования, листинг файла, результаты отладки и тестирования, руководство для пользователя.

    курсовая работа [572,7 K], добавлен 14.07.2012

  • Исследование принципов объектно-ориентированного программирования на базе языка программирования С++. Разработка программного комплекса для ведения учёта памятников города. Описание процессов сортировки, поиска, формирования статистики по памятникам.

    курсовая работа [782,4 K], добавлен 26.05.2014

  • Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.

    курсовая работа [585,5 K], добавлен 24.03.2009

  • Разработка учебного транслятора на языке программирования C# в среде объектно-ориентированного программирования Visual Studio 2012. Выделение лексем и построение цепочки символов на этапе синтаксического анализа. Функциональное тестирование программы.

    курсовая работа [406,8 K], добавлен 07.08.2013

  • Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Класс программы, инструкция по использованию программы.

    курсовая работа [1,0 M], добавлен 26.12.2013

  • Возникновение, эволюция и особенности языка программирования С++. Разработка программы, которая содержит текущую информацию о книгах в библиотеке с использованием средства объектно-ориентированного программирования среды C++. Спецификация и тестирование.

    курсовая работа [159,1 K], добавлен 20.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.