
- •Аннотация
- •Содержание
- •Введение
- •Теоретическая часть
- •Реализация программы
- •2.1. Язык программирования
- •2.2. Использованное по
- •2.3. Реализованные функции
- •Результаты тестирования программы
- •Заключение
- •Список использованных источников
- •Приложение 1. Руководство пользователя
- •Приложение 2. Блок-схема алгоритма
- •Приложение 3. Исходный код программы
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра информационной безопасности
КУРСОВАЯ РАБОТА
по дисциплине «Программирование» Тема: Приложение «Крестики-нолики»
Студент гр. 1363 |
Владимиров П.А. |
Преподаватель |
Халиуллин Р.А. |
Санкт-Петербург 2022
ЗАДАНИЕ
НА КУРСОВУЮ РАБОТУ
Студент Владимиров П.А. |
Группа 1363 |
Тема работы: Приложение «Крестики-нолики» |
Исходные данные: Разработать на языке программирования C или C++ (по выбору студента) приложение для игры в «крестики-нолики». Игра должна проводиться на игровом поле классического размера (3 на 3), в режиме «пользователь против приложения». Право первого хода может предоставляться пользователю, приложению или распределяться случайным образом, по выбору студента. Приложение должно анализировать текущую ситуацию на игровом поле и выбирать ход таким образом, чтобы стремиться к выигрышу партии. Если по результатам анализа найдено несколько возможных ходов, то приложение должно выбирать ход из нескольких возможных ходов с помощью генератора псевдослучайных чисел. Приложение должно иметь консольный или графический интерфейс, по выбору студента. Интерфейс приложения должен быть интуитивно понятным и содержать подсказки для пользователя. В исходном коде приложения должны быть реализованы проверки аргументов реализованных функций и проверки возвращаемых функциями значений (для всех функций, как сторонних, так и реализованных). Приложение должно корректно обрабатывать ошибки, в том числе ошибки ввода/вывода, выделения/освобождения памяти и т. д. |
Содержание пояснительной записки: Введение, теоретическая часть, реализация программы, результаты тестирования программы, заключение, список использованных источников, приложение 1 – руководство пользователя, приложение 2 – блок-схема алгоритма, приложение 3 – исходный код программы. |
|
Предполагаемый объем пояснительной записки: Не менее 15 страниц. |
|
Дата выдачи задания: 20.03.2022 |
|
Дата сдачи реферата: 04.06.2022 |
|
Дата защиты реферата: 10.06.2022 |
|
Студент |
Владимиров П.А. |
Преподаватель |
Халиуллин Р.А. |
Аннотация
Цель работы – создание программы с консольным интерфейсом, которая позволяет играть в игру «Крестики-нолики». Пользователь играет против компьютера. Право первого хода предоставляется человеку. Интерфейс интуитивно понятен пользователю, а также в приложении присутствуют подсказки, чтобы пользователю было легче ориентироваться. Приложение должно корректно обрабатывать ошибки, в том числе ошибки ввода/вывода, выделения/освобождения памяти и т. д.
SUMMARY
The task of the work is to create a program with a console interface that allows you to play the game "tic-tac-toe". The user is playing against the computer. The right of the first move is granted to a person. The interface is intuitive to the user, and there are hints in the application to make it easier for the user to navigate. The application must correctly handle errors, including input/output errors, memory allocation/deallocation, etc.
Содержание
|
Введение |
6 |
1. |
Теоретическая часть |
7 |
2. |
Реализация программы |
11 |
2.1. |
Язык программирования |
11 |
2.2. |
Использованное ПО |
11 |
2.3. |
Реализованные функции |
11 |
3. |
Результаты тестирования программы |
14 |
|
Заключение |
16 |
|
Список использованных источников |
17 |
|
Приложение 1. Руководство пользователя |
18 |
|
Приложение 2. Блок-схема |
20 |
|
Приложение 3. Исходный код программы |
21 |
Введение
Разработать на языке программирования C приложение для возможности играть в игру «Крестики-нолики». Формат игры: человек против компьютера. Компьютер должен выигрывать игру при любой возможности или сводить результат к ничьей. Приложение будет иметь консольный вид. Интерфейс должен быть интуитивно понятным и содержать подсказки для пользователя.
Теоретическая часть
По свидетельству археологических раскопок – игры, связанные с передвижением фишек на доске, были известны еще в 3-4 вв. до н. э. Древнейшая форма шахмат – военная игра чатуранга – появилась в первые века н. э. В Индии чатурангой назывался строй войска, включавший боевые колесницы, слонов, конницу и пеших воинов. Игра символизировала битву с участием четырех родов войск, которыми руководил предводитель. Они располагались по углам 64-кпеточной квадратной доски, в игре участвовало 4 человека. Движение фигур определялось бросанием костей. Чатуранга существовала в Индии до начала 20 в. и стала со временем называться «чатурраджа» – игра четырех королей; при этом фигуры стали окрашиваться в 4 цвета — черный, красный, желтый и зеленый. Преемницей чатуранги стала игра шатранг (чатранг), которая возникла в Центральной Азии в конце 5 – начале 6 вв. Имела два «лагеря» фигур и новую фигуру, изображающую советника короля – фарзина; играли два соперника. Цель игры – поставить мат королю соперника. Так «игру случая» заменила «игра разума». В 8-9 вв. шатранг распространился из Центральной Азии на Восток и 3апад, где стал известен под арабским названием шатрандж. В шатрандже (9-15 вв.) сохранилась терминология и расстановка фигур шатранга, но изменился внешний вид фигур. Ввиду запрещения исламом изображения живых существ, арабы использовали миниатюрные абстрактные фигурки в виде небольших цилиндров и конусов, что упрощало их изготовление, способствовало распространению игры. Сильнейшими игроками шатранджа наряду с арабами – Ал-А дли и др. – были выходцы из Средней Азии – Абу Наим, аль Хадим, ар-Рази, ас-Супи, аль-Ладжладж, Абу-Фатх и др. Среди покровителей игры были известные халифы Харун-ар-Рашид, аль-Амин, апь-Мамун и др. Игра развивалась медленно, так как только ладья, король и конь ходили по современным правилам, диапазон же действия других фигур был крайне ограничен. Например, ферзь двигался только на одно поле по диагонали.
Благодаря абстрактным фигурам игра постепенно перестала восприниматься в народе как символ военного сражения и все более ассоциировалась с житейскими перипетиями, что нашло свое отражение в эпосе и трактатах, по священных шахматной игре (Омар Хайям, Саади, Низами). В период раннего средневековья шатрандж проник в Европу – Испанию, Италию, позднее в Англию, Германию, Францию. В Византии, на Руси, в Болгарии игра стала известна примерно в 10-12 вв. С арабским периодом связано и появление так называемой описательной нотации, благодаря которой стала возможной запись сыгранных партий. Несмотря на яростное сопротивление первоначально мусульманской, а затем и христианской церкви, приравнявшей шахматы к азартным играм в кости и считавшей их «бесовским наваждением», шахматы постепенно становились одной из популярных игр не только среди феодальной знати, но и в народе. В 14-15 вв. традиции восточных шахмат в Европе были утрачены, а в 15-16 вв. стал очевиден отход от них после ряда изменений в правилах ходов пешек, слона и ферзя. Большому распространению шахмат в эпоху Возрождения во многом способствовало развития различных областей культуры. Важную роль сыграло изобретение книгопечатания. В конце XV века стали выходить первые печатные шахматные трактаты, устраиваться состязания между сильнейшими шахматистами. Поединки эти происходили при дворах королей и обставлялись очень торжественно – в духе ушедших в прошлое рыцарских турниров. Первое упоминание о шахматах на Руси относится ко второй половине XIII века. Археологические находки, датируемые XI-XV веками, говорят о том, что в нашей стране знали и любили шахматы издавна и повсеместно. Раскопки в Новгороде показывают, что в шахматы играли бояре и холопы, купцы, ремесленники и даже служители культа. Русское духовенство в своем неприятии шахмат подражало византийскому. Но запрещения церкви не могли убить интерес к игре, успевшей завоевать стольких приверженцев и ставшей частью русской культуры. Постепенно и русская церковь перестала упоминать о шахматах как о запрещенной игре. В книге “Быт русского народа” А.В. Терещенко отмечает: “При воспитании великокняжеских детей учили, между прочим, шахматной игре, без сомнения, по той причине, что она изощряла умственные способности”. Петр I, отправляясь в походы, брал с собой не только шахматы, но и двух постоянных партнеров. Увлекалась шахматами и Екатерина II. В 1796 г. А.С. Строганов устроил для Екатерины II и шведского короля Густава IV, гостивших в его загородном дворце, партию живых шахмат. На лугу, где зеленым и желтым дерном выложили “шахматную доску”, слуги, переодетые в средневековую одежду, передвигались в соответствии с ходами шахматной партии. Широко были распространены шахматы среди русской интеллигенции. В библиотеке А.С. Пушкина сохранилась изданная в 1824 году книга А.Д. Петрова, полвека бывшего сильнейшим шахматистом России, - “Шахматная игра, приведенная в систематический порядок…” с дарственной надписью автора; Пушкин был подписчиком первого шахматного журнала “Паламед”, начавшего выходить в Париже в 1836 г.
В 16-17 вв. наибольшее распространение шахматы получили в Италии, где возникла комбинационная «шахматная школа» (итальянская). Благодаря блестящим партиям и трудам ее лучших представителей – Дж. Леонардо, П. Бои, Дж. Греко, А. Сальвио – шахматная игра была возведена в ранг искусства. В 18 в. центром шахматной жизни стала Франция. Здесь впервые была использована алгебраическая шахматная нотация (в книге Ф. Стаммы, 1737). А сильнейший шахматный маэстро того времени Ф.А. Филидор, написав книгу «Анализ шахматной игры» (1749), опередил время. Многие положения его позиционного учения способствовали дальнейшему прогрессу шахмат, ставших предметом научного исследования. В 19 в. новый вклад в развитие позиционной школы вне ели лучший шахматист мира с ер едины столетия американец Пол Морфи (на практике показал роль пешечного центра), первый русский мастер Александр Петров (подчеркивал важность конкретного расчета в оценке позиции и роли защиты в шахматной партии), первый чемпион мира по шахматам Вильгельм Стейниц (предложил новую стратегию игры, основанную на накоплении мелких преимуществ с целью усиления своей позиции и ослабления положения противника). В 1920-е гг. возникло новое течение – «гипермодернизм», яркими представителями которого были А. Нимцович, Р. Рети, С. Тартаковер. Они отвергали догматизм и предлагали оригинальные пути в борьбе за инициативу. С начала 1930-х гг. все более важную роль в развитии шахмат играет советская школа, представители которой, аккумулировав лучшие теоретические открытия прошлого, творчески развили и углубили теорию и практику шахматной игры. Среди ее главных достижений – разработка научно-обоснованного метода подготовки к соревнованиям, пионером которой был Михаил Ботвинник, новые открытия в теории дебютов и эндшпиля.