- •Федеральное государственное автономное образовательное учреждение высшего профессионального образования «национальный исследовательский технологический университет «миСиС»
- •Курсовая работа
- •Теоритическое введение. Алгоритм. Понятие алгоритма.
- •Исполнитель и разработчик алгоритма
- •Изображение алгоритма в виде схемы.
- •Этапы решения задач
- •Язык c#. Объектно-ориентированное программирование.
- •Варианты использования
- •Победа игрока
- •Победа компьютера
- •Разработка алгоритма.
- •Функция разрабатываемого приложения
- •Описание переменных
- •Распределение исходного кода по файлам проекта
- •Код Form1(Main)
- •Список литературы
Разработка алгоритма.
Разработка стратегии:
Разработка формы для отображения данных.
Разработка метода, для разумного и правильного хода противника
Разработка более продуманного интерфейса программы посредством WindowsFormApplication.
Придание каждой кнопке интерфейса свое собственное действие: сделать ход, анализ данных, вывод.
Вывод очков на экран.
Есть
где-либо 2 “x”?
Новая
игра
Делаем
первый ход
да
нет
Делается
ход случайно
Два
“x”закрывается“0”

Для написания программы использовались:
Алфавит языка, или его символы – это основные неделимые знаки, с помощью которых пишутся все тексты на языке
Лексемы, или элементарная конструкция, - минимальная единицы языка, имеющая самостоятельный смысл
Выражения задают правило вычисления некоторых значений
Операторы задают законченное описание некоторого действия
Константы – неизменные величины
Комментарии
Основные типы данных – внутреннее представление данных в памяти компьютера или множество значений, которые могу принимать величины этого типа или операции и функции, которые можно применять к величинам этого типа
Переменные – это именованная область памяти, в которой хранятся данные определенного типа
Унарные операции(++,--…), бинарные и тернарные операции(+,-,<,==…)
Операторы выражения, ветвления, цикла, передачи управления.
Указатели и массивы
Классы – являются абстрактным типом данных, определяемым пользователем, и представляет собой модель реального объекта. Данные класса называются полями, а функции класса – методами. Поля и методы называются элементами класса.
Функция разрабатываемого приложения
Запуск игры(приложения) “X/0”
Искусственный соперник, который обдуманно делает ходы
Счет побед (пользователь/соперник)
Новая игра
Выход из игры
Варианты использования
Приложение
используется для игры в “Крестики-нолики”.
1. dataGridView1 - поле, в которое вводятся данные с помощью клика мышки, а именно “Х”,“O”.
2. label1 – текст, который показывает количество побед пользователя.
3. Label2 – текст, предназначенный для знака “:”.
4. Label3 – текст, в который показывает количество побед компьютера.
5. menuStrip1 – меню, в котором содержаться подзаголовки “игроToolStripMenuItem”, “выходToolStripMenuItem”, “справкаToolStripMenuItem”, “оПрограммеToolStripMenuItem”
Есть три исхода игры:
Победа игрока.
Победа компьютера
Ничья
Победа игрока

Когда игрок победил, ему начисляется 1 очко.
Победа компьютера

Когда игрок проиграл, то компьютеру начисляется 1 балл
В случае ничьи никто из игроков не получает баллы.
Описание классов, их полей и методов
class X0 Поля класса: string массив, int индексы массивов; Виртуальный метод Step:
считывает данные с “dataGridView1.Rows[i].Cells[j]”
все данные переносит в массив массивов “W[i][j]”
проверяет количество “X”, “0” в строках/столбцах/диагоналях
возвращает значение, исходя из полученных данных
class X0 Поля класса: string массив, int индексы массивов; Переопределяющий метод Conv: конвертирует индексы массива “W[i][j]”, чтобы в массиве “A[i,z]” не было выхода за пределы массива.
