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



Скачать 252.28 Kb.
Дата09.08.2019
Размер252.28 Kb.
ТипКурсовой проект

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

(ФГБОУ ВО «КубГУ»)

Физико-технический факультет
Кафедра теоретической физики и компьютерных технологий
КУРСОВОЙ ПРОЕКТ
РАЗРАБОТКА АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ

для ОБУЧЕНИя ИГРЕ «ШАХМАТЫ»

Работу выполнила _________________________ Хачемизова Фатима Гучевна

Курс 2

Направление 09.03.02 Информационные системы и технологии



Научный руководитель

к.ф.-м.н., доцент _______________________________________ О .М. Жаркова

Нормоконтролер ст. преподаватель ______________________________Г.Д.Цой

Краснодар 2018


СОДЕРЖАНИЕ


ВВЕДЕНИЕ 2

1 Автоматизированная система 5

2.1Развитие шахматных программ 12

2.2Компьютерные шахматы. Общий обзор шахматной программы 12

3Выбор и описание языка программирования и среды разработки 16

4.2 Планы развития проекта 24



ВВЕДЕНИЕ 2

1 Автоматизированная система 5

2.1Развитие шахматных программ 12

2.2Компьютерные шахматы. Общий обзор шахматной программы 12

3Выбор и описание языка программирования и среды разработки 16

4.2 Планы развития проекта 24



ВВЕДЕНИЕ

Автоматизированная информационная система (АИС) - это человеко-машинная система, обеспечивающая автоматизированную подготовку, поиск и обработку информации в рамках интегрированных сетевых, компьютерных и коммуникационных технологий для оптимизации экономической и другой деятельности в различных сферах управления [1].

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

Цель данного курсового проекта: разработать программу  для обучения игре «шахматы». Интеллектуальные игры, в том числе шахматы, становятся все более популярными. Программирование таких игр очень актуально в настоящее время.

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

В качестве среды программирования выбрана Microsoft Visual Studio 2015 и язык программирования C#. К достоинствам языка С# следует отнести то, что данный язык имеет 300000 библиотек разных функций, работающие с максимальным быстродействием. Алгоритмы и программы, представляющие интерес для изучения и исследования, исчисляются десятками и сотнями. Одни из них решают конкретные задачи на основе известных методов, другие образуют «системную» основу для огромного большинства прикладных программ. Язык С# как средство обучения программированию обладает рядом несомненных достоинств. Он хорошо организован, строг, большинство его конструкций логичны и удобны. Развитые средства диагностики и редактирования кода делают процесс программирования приятным и эффективным. С# отлично подходит для быстрого написания настольных приложений с удобным интерфейсом. Кроме того, он относится к одному из языков технологии ASP.NET для разработки веб-приложений [2].

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


1 Автоматизированная система



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

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

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

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

Иначе говоря, автоматизированная система (АС) - это совокупность управляемого объекта и автоматических управляющих устройств, в которых часть функций управления выполняет человек. Такая система представляет собой организационно-техническую систему, обеспечивающую выработку решений на основе автоматизации информационных процессов в различных сферах деятельности (управление, проектирование, производство и тому подобное) или их сочетаниях. В зависимости от области применения понятие «автоматизированная система» определяют по-разному:


  • автоматизированные производственные системы;

  • автоматизированные информационные системы.

Автоматизированная система - организационно-техническая система, состоящая из средств автоматизации определенного вида или нескольких видов деятельности людей и персонала, осуществляющего эту деятельность. Автоматизированная система производственного назначения (автоматизированная производственная система) осуществляет сбор информации с объекта управления, передает, преобразует и обрабатывает ее, формирует управляющие команды и выполняет их на управляемом объекте, то есть те функции, которые поддаются автоматизации. Человек определяет цели и критерии управления и корректирует их, когда изменяются условия, в частности, выполняет функции надзора за работой автоматизированных устройств, а в случае необходимости, изменяет программу их работы (задания) и принимает общие решения по управлению в измененных или сложных ситуациях.

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

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

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

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

Автоматизированная информационная система (АИС) - это человеко-машинная система, обеспечивающая автоматизированную подготовку, поиск и обработку информации в рамках интегрированных сетевых, компьютерных и коммуникационных технологий для оптимизации экономической и другой деятельности в различных сферах управления. В этой системе управление осуществляется с помощью технических устройств типа процессоров или других более простых приборов. Человек-оператор не входит в контур управления, замыкающий связи объекта и органа управления, а лишь следит за ходом технологического процесса и по мере необходимости [3].



1.2 Состав и виды структур автоматизированных систем
В процессе функционирования АС является сочетанием:

- комплекса технических средств автоматизации (ТСА) - совокупность взаимосогласованных компонентов и комплексов программного, технического и информационного обеспечений, которые разрабатываются, изготавливаются и поставляются как продукция производственно-технического назначения:

- программного обеспечения автоматизированной системы - совокупность программ на носителях информации с программной документацией;

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

- информационное обеспечение автоматизированной системы -совокупность системно-ориентированных данных, описывающих принятый в системе словарь базовых описаний (классификаторы, типовые модели, элементы автоматизации, форматы документации и т. д.), и актуализированных данных о состоянии информационной модели объекта автоматизации (объекта управления, объекта проектирования) на всех этапах его жизненного цикла;

- организационно-методического обеспечения автоматизированной системы - совокупность документов, определяющих: организационную структуру объекта и системы автоматизации, необходимых для выполнения конкретных функций, которые автоматизируются; деятельность в условиях функционирования системы, а также формы представления результатов деятельности;

- специалистов, которые используют выше перечисленное в процессе своей профессиональной деятельности.

Внутреннее построение систем характеризуют при помощи структур, описывающих устойчивые связи между их элементами. При описании АС используют следующие виды структур, отличающиеся типами элементов и связей между ними:



  • функциональные (элементы-функции, задачи, процедуры; связи-информационные);

  • технические (элементы-устройства, компоненты и комплексы; связи-линии и каналы связи);

  • организационные (элементы - коллективы людей и отдельные исполнители; связи - информационные, соподчинения и взаимодействия);

  • документальные (элементы - неделимые составные части и документы АС; связи - взаимодействия и подчинения);

  • алгоритмические (элементы - алгоритмы; связи- информационные);

  • программные (элементы-программные модули и изделия, связи -управленческие);

  • информационные (элементы-формы существования и представления информации в системе; связи - операции преобразования информации в системе) [4].


1.3 Автоматизированная система управления в шахматах
Техническим результатом автоматизации системы управления в шахматах является сокращение времени выбора оптимального варианта без снижения уровня игры. Система содержит блок внешнего ввода, блок перебора позиций, блок определения веса позиции, блок выдачи хода, блок индикации.


2 История возникновения шахмат. Развитие шахматных программ


2.1 Шахматы. История возникновения
Что же такое шахматы и почему я связала свой курсовой проект с ними?

Шахматы - это настольная логическая игра со специальными фигурами, расположенными на шести десяти четырех клеточной доске для двух или более соперников (парные шахматы). Шахматы включают в себя искусство, науку и спорт, из-за чего они популярны в области программирования. Стоит отметить, что к шахматным композициям нужно подходить не только с умом и логическим мышлением, но и в каком-то смысле и изобретательностью. Как и художник, пишущий свою картину, каждый шахматист создает свою уникальную партию.



 Почему шахматы являются одним из видов спорта и что же такое спорт? Спорт - это в первую очередь преодоление себя, достижение вершин мастерства. Это гармоничное физическое и интеллектуальное развитие, тренировки для поддержания формы, самообладание и эмоциональная устойчивость. Спорт - это борьба и состязание. Наконец, спорт - это стремление стать первым, завоевать высшие награды и титулы. Все атрибуты спорта в шахматах присутствуют. Это и принцип соревнований, определяются победители, есть титулы, звания. После неоднократных побед на разрядных турнирах шахматистам присваивают звания кандидат в мастера спорта, мастер спорта, гроссмейстер. Анатолий Карпов, известный и выдающийся гроссмейстер пишет: «Для того, чтобы добиться успехов в любом виде спорта, требуется много составляющих. В первую очередь шахматист должен быть абсолютно здоров и прекрасно подготовлен физически. Игра в шахматы требует намного больших затрат энергии, чем некоторые виды спорта». Спорт - это не только игра мускулов, это, прежде всего, состязание, противоборство, соперничество. Шахматы - это гимнастика ума, состязание мысли, выдержки и воли к победе. Только умение думать, считать, анализировать лучше, чем это делает твой соперник, позволит тебе выиграть. 

Можно ли считать шахматы наукой? Наука это система знаний, исследований на основе обобщения знаний. Обучение шахматам предполагает обучение теории и практике. Шахматная теория - это исследования, посвящённые различным аспектам шахматной игры. Шахматная партия разворачивается в точном соответствии с правилами. Игра подразделяется на 3 части: дебют (начало), миттельшпиль (середина) и эндшпиль (окончание игры). Шахматы тесно связаны с такой наукой, как математика. Как и в математике в шахматах есть и теория, и практика. Формы мышления математика и шахматиста довольно близки, и не случайно математические способности часто сочетаются с шахматными. Многие математики стали известными шахматистами, например, Эмануил Ласкер, Макс Эйве, Михаил Ботвинник. Анатолий Карпов и многие другие [5].

История шахмат насчитывает около полутора тысяч лет. Впервые шахматы появились в Индии в 5-6 веке, затем они распространились по всему миру, став неотъемлемой частью человеческой культуры. В Индии была известна игра «Чатуранга»- предшественник шахмат. В чатурангу на доске 8×8 играли комплектом фигур, схожих с шахматными, где целью игры так же было поставить мат королю противника. Считают, что шахматы возникли ещё раньше в Китае, но археологические и письменные свидетельства не признаются достаточными. Первым текстом, в котором упоминается о чатуранге был исторический роман на санскрите «Харча шарита», написанный придворным поэтом короля Харши Баной [6].



    1. Развитие шахматных программ

На этот вопрос довольно сложно ответить, но всё же это возможно. Впервые, в 1769 году, венгерский инженер барон Вольфганг фон Компелен создал машину, которая могла играть в шахматы. Она была предназначена для развлечения королевы Марии-Терезии. Внутри машины сидел шахматист, который делал ходы и, действительно, машина достаточно неплохо играла.

Эта история актуальна и в наши дни. Ведь правда, то, что вложит программист в машину, то она и играет.

В 1951 году Алан Тьюринг написал алгоритм, при помощи которого машина могла бы играть в шахматы. В роли машины выступал сам изобретатель. Машина получила название «Бумажная машина Тьюринга». Тьюрингу требовалось около или даже больше получаса, чтобы сделать один ход.



    1. Компьютерные шахматы. Общий обзор шахматной программы

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

Развитие программирования шахмат как часть искусственного интеллекта началось с одной проблемы, которой на сегодняшний день уже нет и никто не интересуется ей, а закончилось другой проблемой, которая становится с каждым днем все более и более актуальной. Первая проблема – это для чего, собственно говоря, вычислительная машина. Именно этот вопрос дал прийти к тому, что эти машины можно использовать не только как вычислительные для расчетов, но и как информационные для решения различных информационных задач.

Говоря об успехах в области искусственного интеллекта (ИИ), в качестве примера часто приводят компьютерные программы, обыгрывающие чемпионов мира.

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

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

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

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

Основная расчетная функция напоминает своеобразные «качели». Сначала она берет первый найденный полу-ход (перемещение) для одной стороны, соответственно вносит изменения в позицию, потом вызывает сама себя, и считает все ответные полу-ходы для другой стороны, выбирая наиболее сильный из всех возможных, получает суммарную оценку, возвращает позицию в исходную, делает следующий полу-ход и так далее. Сейчас мы описали вариант глубины 2. Глубина расчетов (ее также называют глубиной рекурсии)- это количество просматриваемых полу-ходовых уровней.   

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

Полный перебор для современных компьютеров — вещь утопическая, потому как ветвление дерева поиска происходит экспоненциально. В среднем из каждой позиции имеется 40 вариантов перемещений для одного игрока. При глубине 4 получается 40×40×40×40, то есть, 2560000, а при глубине 5 - 40×40×40×40×40 вариантов, что равняется 102400000 (102 млн. 400 тыс.). А дальше рост вычислений продолжает увеличиваться в экспоненциальной прогрессии. Глубина 6 является предельной для реализации полного перебора в рамках современных вычислительных систем, а это подразумевает рассмотрение чуть больше, чем 24 млрд. позиций (чуть больше - это 96 млрд.). Именно поэтому нужно вводить особые условия и ограничения с выделением наиболее перспективных ветвей .

Представление доски. Основа любого движка — представление шахматной доски. В первую очередь, надо «объяснить» компьютеру все правила шахмат и дать ему возможность хранить шахматную позицию. Без этого невозможно оценивать позицию и делать ходы. Есть два основных способа хранить представление доски - по фигурам или по клеткам (bitboards). В первом случае мы храним для каждой фигуры её место на доске, во втором - наоборот, для каждой клетки храним что находится там.

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


В одной переменной будем хранить все белые фигуры, в другой - все черные, и ещё в 6 - каждый тип фигур по отдельности (другой вариант - 12 битбордов для каждого цвета и типа фигур по отдельности).

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

Перебор позиций с помощью MinMax. MinMax есть основной переборный алгоритм поиска для 2х игроков. Он очень прост:

      • мы получаем все ходы из данной позиции;

      • делаем по очереди все перемещения;

      • оцениваем все позиции, полученные из исходного положения;

      • запоминаем лучшую оценку и лучший ход;

      • возвращаем лучшую оценку.

Основной неясный момент с функцией оценки – как она может точно оценить все промежуточные позиции в игре. До некоторой глубины поиска в качестве функции оценки используется вариант функции MinMax для оппонента. Затем вызывается функция статической оценки, приближенно подсчитывающая все позиционные и материальные факторы [7].


  1. Выбор и описание языка программирования и среды разработки



3.1 Язык программирования С#
Проект C# начался более чем 12 лет назад, в декабре 1998 года и имел целью создание простого, современного, объектно-ориентированного и обеспечивающего безопасность типов языка программирования для новой платформы .NET, которая тогда еще не получила это название. С тех пор C# прошел большой путь. Этим языком теперь пользуются более миллиона программистов. Выпущено уже четыре версии, и в каждой добавлено несколько новых важных свойств.

В создании языка C# принимали участие многие люди. Команда разработчиков C# 1.0 состояла из Андерса Хейлсберга (Anders Hejlsberg), Скотта Вилтамута (Scott Wiltamuth), Питера Голда (Peter Golde), Питера Соллиша (Peter Golde) и Эрика Гуннерсона (Eric Gunnerson).

C# -простой, современный, объектно-ориентированный, обеспечивающий безопасность типов язык программирования. C# происходит из семейства языков C и может быть легко освоен программирующими на C, C++ и Java.

Язык C# является наиболее новым из широко известных языков программирования. Язык C# создавался как язык компонентного, объектно-ориентированного программирования, и в этом одно из главных достоинств языка, направленное на возможность повторного использования созданных компонентов. Другими достоинствами данного языка являются следующие: C# является полностью объектно-ориентированным языком, где даже встроенные в язык типы являются объектами классов;

Являясь объектно-ориентированным языком, C# в то же время обеспечивает поддержку компонентно-ориентированного программирования.

C# является мощным объектным языком с возможностями наследования и универсализации (создания обобщенных классов);

C# является наследником языка C++, он сохранил практически все черты языка программирования С++ .

Свойства C#, помогающие создавать надежные и устойчивые приложения: сборка мусора автоматически освобождает память, занятую неиспользуемыми объектами; обработка исключительных ситуаций обеспечивает структурированный и расширяемый подход к обнаружению ошибок и восстановлению; структура языка, обеспечивающая безопасность типов, делает невозможным получать значения неинициализированных переменных, индексировать массивы вне их границ или выполнять бесконтрольное приведение типов. C# имеет единую систему типов. Все типы, используемые в C#, в том числе примитивные, такие как int и double, происходят от единого корневого типа object. Таким образом, во всех типах могут использоваться общие для всех операции; значения любого типа хранятся, передаются и используются единообразно. Более того, C# поддерживает определяемые пользователем ссылочные типы и типы-значения, что позволяет осуществлять динамическое распределение памяти под объекты наряду с компактным хранением небольших структур в стеке [8].


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

Visual Studio 2015 предоставляется в трёх редакциях: бесплатной Community Edition, объединяющей все Express-версии, и платных Professional Edition для небольших проектов и Enterprise Edition для крупных проектов.

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

Microsoft Visual Studio - линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Microsoft Visual Studio 2015 - это набор инструментов для создания программного обеспечения: от планирования до разработки пользовательского интерфейса, написания кода, тестирования, отладки, анализа качества кода и производительности, развертывания в средах клиентов и сбора данных телеметрии по использованию. Эти инструменты предназначены для максимально эффективной совместной работы; все они доступны в интегрированной среде разработки (IDE) Visual Studio.

Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайтывеб-приложениявеб-службы  как в родном, так и в управляемом кодах для всех платформ, поддерживаемых WindowsWindowsMobileWindowsCE.NETFramework,  Win-dows Phone .NET Compact Framework и Silverlight, Xbox .

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



4 Разработка и планы развития шахматной программы



4.1 Структура программы
Моя программа будет состоять из:

  • формы - приветствия;

  • формы с историей шахмат;

  • 2 форм с правилами;

  • формы с шахматной доской и фигурами.

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

Интерфейс моей шахматной программы довольно прост: при запуске открывается форма с приветствием, где размещена кнопка «Далее» для перехода к следующей форме. Это показано на рисунке 1.


снимок экрана (112).png
Рисунок -Форма-приветствие




На 4 формах у меня размещены кнопки «Далее» для перехода к следующей форме и label, где я написала информацию о шахматах.

У меня вторая форма называется Form2, поэтому сначала я создаю объект данного класса, а потом для его отображения на экране вызываю метод Show и затем я прячу предыдущую форму с помощью сочетания ключевого слова this и метода Hide:

private void button1_Click(object sender, EventArgs e)

{

    Form2 newForm = new Form2();



    newForm.Show();

this.Hide();

}

Эти действия я проделываю так же и с другими формами, кроме 5.



Во второй форме разместила информацию о происхождении шахмат. Показано на рисунке 2.
снимок экрана (113).png
Рисунок - История происхождения шахмат
В третьей форме я разместила информацию о самих фигурах. Это можно увидеть на рисунке 3.
снимок экрана (114).png
Рисунок -Информация о фигурах
Четвертая форма содержит в себе краткий материал о правилах шахмат, как показано на рисунке 4.
снимок экрана (115).png
Рисунок -Правила игры

На пятой форме размещена доска с фигурами, как показано на рисунке 5.


снимок экрана (132).png
Рисунок - Шахматная доска с фигурами

    1. Планы развития проекта

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



ЗАКЛЮЧЕНИЕ
Таким образом, в ходе выполнения курсового проекта была разработана программа для обучения игре «шахматы». Программа позволяет изучить основные правила и некоторые особенности игры, способы перемещения фигур, узнать об истории появления и развития шахмат.

Основные результаты работы можно сформулировать следующим образом:

1 Выбран язык и среда программирования.

2 Разработана собственная программа по обучению игре «шахматы».

Основные выводы работы:

В качестве языка и среды программирования выбраны C# и Microsoft Visual Studio 2015.

Обучающая программа содержит в себе 5 форм, где первые 4 формы – это описание правил и особенностей игры «шахматы». Пятая форма – доска с шахматными фигурами, при нажатии которых подсвечиваются возможные клетки, на которые может переместиться фигура.

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



СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


  1. Ладипаина Е. «Автоматизированная система - это... Системы автоматизированного проектирования» / Е. Ладипаина. 2016. URL: http://fb.ru/article/255851/avtomatizirovannaya-sistema-eto-sistemyi-avtomatizirovannogo-proektirovaniya [21.04.2018].

  2. Язык  программирования  C#. Классика Computers Science / А. Хейлсберг, М.Торгерсен, С.Вилтамут, П. Голд. СПб.: Питер, 2015. 784 с.

  3. ГОСТ 34.003-90. Межгосударственный стандарт. «Информационная технология. Комплекс стандартов на автоматизированные системы. Термины и определения». – Москва: СТАНДАРТИНФОРМ, 2014. – 26 с.

  4. Переверзев А. Р. Автоматизированная система управления игрой в шахматы»/ А. Р. Переверзев, Р. А. Переверзев, 2018. – 23 с.

URL:  http://www.findpatent.ru/patent/218/2180137.html [6.01.2018].

  1. Лебедев В. «Шахматы - спорт, наука, искусство или игра?» / В. Лебедев, У. Лебедева. – Кострома: МБОУ города Костромы СОШ№31, 2016. – 13 с.

URL:  http://docplayer.ru/30063019-Shahmaty-sport-nauka-iskusstvo-ili-igra.html

[24.02.2018].

  1. Карпов А. Е. «Шахматный калейдоскоп»/ А. Е. Карпов, Е. Я. Гик. – М.: издательство «Наука», 2013. – 208 с.

  2. Корнилов Е. Н. «Программирование шахмат и других логических игр». / Е. Н. Корнилов. – СПб.: БХВ-Петербург, 2014. – 272с.

  3. Стиллмен Э. «Изучаем C#»/ Э. Стиллмен, Дж. Грин. – СПб.: Питер, 2014. – 816 с.

  4. Рендольф Н. «Visual Studio 2015 для профессионалов. Micsrosoft Visual Studio 2015» / Н. Рендольф,  Д. Гарднер. – М.: Диалектика, 2014. 1184 с.

  5. Тузовский А. Ф. «Высокоуровневые методы информатики и программирования; учебно-методическое пособие. / А. Ф. Тузовский. – Томск: ТПУ, 2013. – 200 с.

  6. Стивенс  Р. «Алгоритмы. Теория и практическое применение» / Р. Стивенс. – М.: Э, 2016. – 544 с.

  7. Бхаргава А. «Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих» / А. Бхаргава. – СПб.: Питер, 2017. – 288 с.

Каталог: sites -> default -> files -> users
users -> Фгбоу во «КубГУ» Кафедра гражданского процесса и международного права
users -> Особенности организации образовательного процесса в группах комбинированной направленности доо
users -> Кафедра экономики предприятия, регионального и кадрового менеджмента курсовая работа мотивация и стимулирование персонала
users -> Фгбоу во «КубГУ» Кафедра конституционного и муниципального права
users -> Перечень специализированных организаций-лицензиатов, осуществляющих деятельность по обращению с отходами на территории Воронежской области
users -> Лабораторная работа 1- ремонт внутренней поверхности гильзы блока цилиндров


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©vossta.ru 2019
обратиться к администрации

    Главная страница