МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего профессионального образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА ЗАЩИТЫ ИФОРМАЦИИ
КУРСОВАЯ РАБОТА (ПРОЕКТ) ЗАЩИЩЕНА С ОЦЕНКОЙ
РУКОВОДИТЕЛЬ
Аспирант |
|
|
|
В.С. Дужин |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ (ПРОЕКТУ) |
Игра «Крестики и нолики» для двоих человек
|
по дисциплине: ИНФОРМАТИКА |
|
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. |
5125 |
|
|
|
И.А.Нарышкин |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2012
Оглавление
Постановка задачи..................................................3
Описание структур данных и методов доступа.........................3
Укруплённый алгоритм...............................................4
Инструкция по пользованию..........................................6
Комментированный листинг...........................................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 (для ноликов)
Победит тот, кто первым поставит фигуры в ряд:
В случае, если все клетки закончатся (жуткая игра должна быть), вам выведется сообщение:
Приятной Игры!