Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная Записка.rtf
Скачиваний:
22
Добавлен:
15.09.2019
Размер:
7.41 Mб
Скачать

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

Федеральное государственное автономное образовательное учреждение высшего профессионального образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

КАФЕДРА ЗАЩИТЫ ИФОРМАЦИИ

КУРСОВАЯ РАБОТА (ПРОЕКТ) ЗАЩИЩЕНА С ОЦЕНКОЙ

РУКОВОДИТЕЛЬ

Аспирант

В.С. Дужин

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ (ПРОЕКТУ)

Игра «Крестики и нолики» для двоих человек

по дисциплине: ИНФОРМАТИКА

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР.

5125

И.А.Нарышкин

подпись, дата

инициалы, фамилия

Санкт-Петербург 2012

Оглавление

  1. Постановка задачи..................................................3

  1. Описание структур данных и методов доступа.........................3

  1. Укруплённый алгоритм...............................................4

  1. Инструкция по пользованию..........................................6

  1. Комментированный листинг...........................................8

Постановка задачи

Разработать игру “Крестики и нолики” для двух игроков.

Размер поля 20 на 20.

Выигрывает игрок, первым поставивший 5 символов в ряд (по вертикали, горизонтали или диагонали).

Описание структуры данных и методов доступа

В программе используются массивы, как одномерные, так и двумерные.

Массив, это именованный набор однотипных переменных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по адресу. Он имеет следующую структуру:

Тип_данных_массива Имя_массива [индекс_элемента_массива]

Тип данных указывает на то, какого типа будут элементы массива, имя и индекс массива позволяют обращаться к конкретному элементу массива. К примеру:

int massive[10];

massive[3]=7;

printf(”%d”,massive[3]); // он выведет число 7.

Отсчёт индексов в массиве ведётся с 0, то есть в моём примере, чтобы обратиться к первому элементу, надо написать (massive[0]). Вот так осуществляется доступ и обращение в одномерном массиве.

В случае двумерного массива (int massive[10][10];) структура массива такова: первый индекс указывает одни из, в данном случае, десяти одномерных массивов, второй индекс указывает на элемент в этих массивах.

Укруплённый алгоритм

Move=getch()

Step++

Pole[y][x]=’X’

Printf

X++ || X-- || Y++ || Y--

Printf

Exit(1)

Step++

Pole[y][x]=’O’

Printf

X++ || X-- || Y++ || Y--

Printf

Exit(1)

Printf

Exit(1)

Printf

Exit(1)

Инструкция по использованию

Кре́стики-но́лики — логическая игра между двумя противниками на квадратном поле 3 на 3 клетки или бо́льшего размера (в частном случае 20 на 20). Один из игроков играет «крестиками», второй — «ноликами».

Правила игры.

Игроки по очереди ставят на свободные клетки поля 20х20 знаки (один всегда крестики, другой всегда нолики). Первый, выстроивший в ряд 5 своих фигур по вертикали, горизонтали или диагонали, выигрывает. Первый ход делает игрок, ставящий крестики.

После запуска программы перед вами появится окно такого типа:

Слева вы видите поле (20x20) и крестик в середине. Так же справа снизу присутствует таймер (если он остановился, значит программа зависла).

У каждого игрока есть 5 клавиш для управления:

  • ШАГ ВВЕРХ стрелка вверх (для крестиков) W \ Ц (для ноликов)

  • ШАГ ВНИЗ стрелка вниз (для крестиков) S \ Ы (для ноликов)

  • ШАГ ВЛЕВО стрелка влево (для крестиков) A \ Ф (для ноликов)

  • ШАГ ВПРАВО стрелка вправо (для крестиков) D \ В (для ноликов)

  • СДЕЛАТЬ ХОД ENTER (для крестиков) SPASE (для ноликов)

Победит тот, кто первым поставит фигуры в ряд:

В случае, если все клетки закончатся (жуткая игра должна быть), вам выведется сообщение:

Приятной Игры!