- •Содержание
- •1.1. Наименование продукта
- •1.2. Краткая характеристика области применения
- •2.1. Документ, на основании которого ведётся разработка
- •2.2. Организация, утвердившая документ
- •Требования к разработке
- •4.1. Требования к функциональным характеристикам
- •4.2. Требования к надёжности
- •4.3. Требования к составу и параметрам технических средств
- •4.4. Требования к информационной и программной совместимости
- •Требования к программной документации
- •Технико-экономические показатели
- •7. Стадии и этапы разработки
- •Введение
- •Постановка задачи
- •Выбор и проработка программных средств
- •Проектирование программы
- •1. Общая схема программы
- •2. Наследование класса kletka_pust
- •3. Переопределение стандартной операции
- •4. Структура класса common
- •5. Подробное описание метода game
- •6. Описание метода privet()
- •7. Описание методов registration() и enter()
- •8. Описание метода menu()
- •9. Описание метода record()
- •10. Описание метода spravka()
- •11. Описание подменю Begin
- •12. Руководство по использованию
- •Анализ результатов разработки программы
- •Заключение
- •Список литературы
- •Листинг программы
3. Переопределение стандартной операции
В данной программе в классе pair происходит переопределение стандартной операции инкремента (++), что позволяет сдвигать координаты X, Y не на единицу, как это определено стандартно, а на 40 и 10. Это необходимо для вывода текста на экране с одинаковым межстрочным расстоянием и сдвигом влево. Таким образом, для объекта ob созданного в классе common операция инкремента будет означать одновременное увеличение членов класса X, Y на 40 и 10.
class pair
{
public:
int X, Y;
friend pair& operator ++ (pair&);
// дружественная функция для класса pair, префиксная версия переопределения
pair()
{
X=40; Y=10; // конструктор
}
~pair() {}; // деструктор по умолчанию
};
pair& operator ++ (pair& P)
{
P.Y=P.Y+30; // переопределение операции инкремента
P.X=P.X+10;
return P;
}
4. Структура класса common
Класс common состоит:
-
Из конструктора common, где происходит инициализация членов класса, которые объявлены как public, то есть доступны любому классу в этом модуле программы;
-
Из деструктора ~common, который уничтожает объекты;
-
Из методов inilization_graph, mouse, mov_mouse, resize, chose_fl, save, oformlenie, game, swap, record, spravka, find, enter, registration, menu, privet, которые объявлены как public, то есть доступные для других классов в программе;
Подробная характеристика методов класса common:
-
inilization_graph() – метод класса common, который выполняет инициализацию графического режима для создания графической оболочки игры
-
mouse () – метод класса common, который выполняет подключение мыши в консоле
-
mov_mouse() – метод класса common, который выполняет считывание координат мыши на экранном поле
-
resize() – метод класса common, который устанавливает для управления мыши границы экрана 640 x 480
-
chose_fl() – метод класса common, который реализует выбор поля во время игры в «Крестики- нолики»
-
save() – метод класса common, который сохранение количества побед пользователя в любой момент
-
oformlenie() – метод класса common, который реализует графическое оформление подменю Begin
-
game() – метод класса common, который реализует алгоритм игры или «искусственный интеллект»
-
swap() – метод класса common, который сортировку ников пользователей по количеству побед, при этом у пользователей с одинаковым количеством побед ники также сортируются , но посимвольно в алфавитном порядке
-
record() – метод класса common, который реализует графический интерфейс подменю Record
-
spravka() – метод класса common, который реализует графический интерфейс раздела About в главном меню, в котором содержится правила и краткое описание игры «Крестики-нолики»
-
find() – метод класса common, который проверяет введенный пользователем ник на уже существующий, сохраненный в файле
-
enter() – метод класса common, который описывает реализацию экранной клавиатуры в консоле для авторизации пользователей
-
registration() – метод класса common, который отвечает за реализацию графического оформления авторизации
menu() – метод класса common, который описывает графический
-
интерфейс главного меню
-
privet() – метод класса common, который реализует графическое оформление приветствия в начале программы