Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Крестики-нолики на языке C++ (через классы)

Автор:   •  Декабрь 5, 2020  •  Курсовая работа  •  9,346 Слов (38 Страниц)  •  1,197 Просмотры

Страница 1 из 38

Оглавление

1. Введение………………………………………………………………………...4

2. Основная часть………………………………………………………………….5

2.1 Описание алгоритма работы программы……………………………..5

2.1.1 Главная программа…………………………………………….5

2.2 Класс XO………………………………………………………………..7

2.2.1 Метод вывода поля…………………………………………….8

2.2.2 Методы хода игроков………………………………………….8

2.2.3 Методы поиска крестиков и ноликов………………………...9

2.2.4 Методы проверки выигрышных ситуаций игроков………..10

2.2.5 Метод игры с ботом………………………………………….11

2.3 Ограничения в программе……………………………………………12

2.4 Пример нескольких запусков программы…………………………...13

3. Заключение…………………………………………………………………….15

4. Список литературы……………………………………………………………16

5. Приложение……………………………………………………………………17


Введение

Игра “Крестики-нолики” была придумана очень давно, но до сих пор она является актуальной и распространённой по всему миру. Для победы необходимо выстроить линию из крестиков или ноликов в любом направлении, то есть по горизонтали, вертикали или диагонали. Соответственно противник должен выстроить подобную линию быстрее или свести игру к ничьей. После задания размеров поля игра начинается с того, что в любом месте игрового поля ставится крестик, противник ставит нолик, и так далее до тех пор, пока не будет выстроена линия.  Если говорить о том, кто первым реализовал эту игру на компьютерном устройстве, то это был А.С. Дуглас в 1952 году.


Описание алгоритма работы программы

В начале программа узнает, с кем хочет сыграть игрок: с ботом или другим игроком. После просит написать их имена. Потом им предоставляется выбор размера поля. После ввода значения программа выводит в консоли квадратное поле и сообщение, какой игрок ходит и куда он ставит крестик или нолик. Если все условия выигрыша по классическим правилам игры соблюдены, то программа сообщит, какой пользователь выиграл, и предложит сыграть еще раз, или если игроки заполнят все поле, но будет ничья, то программа выведет сообщение: “Ничья!”. После выигрыша одного из пользователей или после ничьей им будет возможность начать новую игру или завершить программу. Если игрок поставит свой символ на клеточку, которая занята его соперником, то на экран выведется ошибка, и появится возможность заново написать координаты свободной клетки поля.

Главная программа

В начале главной функции идет объявление переменных:

        int sIzefield, x, y, ws;

        bool checkX, checkO;

        char answer;

        char f_player[10], s_player[10];

Таблица 1.1.Объявление переменных

Переменные xи у используются для задания координаты элементов. А переменная sIzefield отвечает за размер поля. Массивы f_player[10] и s_player[10]используется для хранения имени пользователей. После запуска программа выводит сообщение о том, с кем хочет сыграть игрок: с ботом или игроком и их имена:

cout << "Играем с ботом -> нажмите (1), играем с человеком -> нажмите (2) :"; cin >> ws;

cout << "Пожалуйста, введите имя первого игрока:  "; cin >> f_player;

cout << "Пожалуйста, введите имя второго игрока: "; cin >> s_player;

Таблица 1.2.Ввод имен игроков или игрока и бота

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

...

Скачать:   txt (36.8 Kb)   pdf (336.1 Kb)   docx (810.4 Kb)  
Продолжить читать еще 37 страниц(ы) »
Доступно только на Essays.club