Курсовая работа: Игра "Пятнашки"
Одномерный массив с 16 целыми числами заполняется случайным образом, причем, учитывается, чтобы цифры в данном массиве не повторялись.
Каждой цифре из одномерного массива присваивается, аналогичный ей строковый элемент и вводится в двумерный массив. К примеру, цифре 5, присваивается строковый элемент ‘5 ‘. Исключение составляет цифра 16, ей присваивается пробел.
4.1.2 procedure Vivod;
Процедура вывода на экран табло с цифрами сформированное на момент отображения. Если программа только запущенна, тогда на экран выводится таблица заполненное случайным образом. Если игра уже идет то данная процедура выводит на экран ту комбинацию цифр, которая определена пользователем во время игры.
4.1.3 procedure Napravlenie ;
В данной процедуре пользователю, при помощи курсора, предлагается ввести направление перехода. В данной процедуре считывается код нажатой клавиши, чтоб в дальнейшем можно было осуществлять передвижение.
4.1.4 Procedure Poisk ;
В этой процедуре осуществляется поиск пустого элемента. Это необходимо для того, чтоб в дальнейшем пользователь смог относительно пустого элемента сделать свой ход. Процедура считывает каждый элемент двумерного массива и сравнивает его с пустым. После того как пустой найден процедура запоминает координаты пустого элемента, а именно строку и столбец.
4.1.5 procedure Zamena ;
Программа в зависимости от выбора направления осуществляет перестановку элементов в двумерном массиве.
Также в данной процедуре считывается каждый ход пользователя, чтобы в дальнейшем, если пользователь разложит требуемый расклад быстрее, чем игроки, игравшие ранее, можно было ввести информацию об игроке в файл.
4.1.6 procedure proverka;
После совершения перестановки цифр, а иными словами после очередного хода, программа сравнивает расстановку цифр в двумерной матрицы. Если текущая комбинация является правильной, тогда игрок считается победителем.
4.1.7 procedure Mesto ;
В случае если игрок считается победителем, то в данная процедура сравнивает текущей результат (количество ходов за которое игрок разложил расклад), с игроками игравшими ранее. Если данный игрок разложил быстрее, то ему предлагается ввести имя и его имя и результат сохранятся в файл.
4.1.8 procedure Game 15;
Эта процедура является основной. В ней подключается графический модуль и происходит основной процесс игры.
Игра будет продолжаться до тех пор, пока не будет разложен правильный расклад или до тех пор пока пользователь не прервет игру при помощи клавиши ESC.
4.2 Вспомогательные процедуры.
4.2.2 procedure readFile;
После ввода имени пользователя (пункт 4.1.7), информация добавляется в файл res.txt
4.2.3 procedure writeFile ;
Данная процедура считывает информацию с файла res.txt и выводит на экран полученные данные, а именно игроков, которые за наименьшее количество ходов разложили требуемую комбинацию.
4.2.4 procedure bonus ;
Маленькая хитрость данной программы. Она предназначена для разработчика программы и для преподавателя проверяющего правильность написания игры. Чтобы, при проверке, преподавателю не требовалась проходить всю игру, достаточно нажать клавишу End на клавиатуре и расклад почти разолжется. Также эта процедура была бы очень полезна разработчику, для отладки и тестирования программы.
4.3 Основная программа.
В основной программе на экране выводится Главное меню и в зависимости от выбранных пользователем действий происходит взаимодействие с процедурами.
В действительности некоторые процедуры можно было объединить, т.к. основная цель использования процедур это исключение повторяющихся действий, а в данной программе некоторые процедуры используются один раз и их можно было записать в другие процедуры или основную программу, но, на мой взгляд, так гораздо удобнее, как при программировании, так и при проверки.
5. Описание алгоритма программы
Несмотря на простоту данной программы, написание алгоритма оказалось достаточно не простой задачей. В связи с этим пришлось разделить его, в целях его читаемости и доступности.
Основной алгоритм программы разбит на четыре раздела (схема 1):
- Описание;
- Управление;
- Игра;
- Результаты.
Схема 1 - Основной алгоритм программы
5.1 Раздел Описание.
Данный раздел предназначен для ознакомления пользователем, с возможностями, программы.
Раздел реализован при помощи процедуры Avtor. Данная процедура считывает информацию из файла fhelp1.txt и выводит считанную информацию на экран, для ознакомления пользователю.
Общий алгоритм данного раздела заключается в следующем (Схема 2):
– Чтение информации из файла fhelp1.txt;
– Вывод информации из файла на экран;