47044 (Игра "Пятнашки")

2016-07-30СтудИзба

Описание файла

Документ из архива "Игра "Пятнашки"", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "47044"

Текст из документа "47044"

Содержание

  1. Введение 3

  2. Назначение и область применения 4

  3. Цели и задачи 4

  4. Используемые методы 5

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

  6. Описание входных и выводных данных 24

  7. Программное и аппаратное обеспечение программы 24

  8. Руководство пользователя 25

  9. Заключение 30

  10. Список литературы 31

Приложение 1 Листинг программы 32

Приложение 2 Результаты работы. 46

  1. Введение

После изучения предмета Основы алгоритмизации и программирования, необходимо выполнить курсовой проект.

После изучение предложенных тем выбрана очень популярная и всем известная игра в «пятнашки».

При изучении предметной области, выяснилось, что «пятнашки» на первый взгляд простая игра, но для ее реализации необходимо обратится практически ко всем разделам программирования в среде Турбо Паскаль.

Суть самой игры заключается в следующем:

  • Игрок на экране видит табло, которое разбито на 16 клеток. В пятнадцати из них расположены неповторяющиеся цифры, в случайном порядке от 1 до 15 и одна пустая.

В общем виде данное табло можно представить в виде таблицы 1:

Таблица 1 – Образец табло.

5

7

3

8

15

1

13

2

14

10

6

4

9

11

12

  • Игрок должен перемещать по одной клетки с цифрой на пустое место.

  • Так происходит до тех пор, пока пользователь не выстроит последовательную комбинацию цифр (Таблица 2), и лишь после этого игрок считается победителем.

Таблица 2 – Правильное заполнение табло.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

  1. Назначение и область применения

Данная программа является, компьютерной версии знаменитой игры «пятнашки». Это логически не сложная и достаточно простая в управлении и использовании программа. Применения данной программы возможны везде, ведь в любой работе нужен отдых, а данная простенькая игра поможет расслабиться и отвлечься от повседневных дел.

  1. Цели и задачи.

Целью данной курсовой работы является углубление знаний и расширение навыков по разработке алгоритмов и их реализации на персональном компьютере. Курсовая работа выполнена в среде Турбо Паскаль с использованием графических возможностей языка.

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

В данной игре предполагалось создание:

    1. интуитивно понятного интерфейса;

    2. скромного, но графически точного табло, где осуществляется перемещение цифр;

    3. удобного для пользователя управления;

    4. доступного для понимания руководства пользователя;

    5. списка лучших игроков, т.е. тех игроков, которые за наименьшее количество ходов собрали требуемую комбинацию цифр.

    6. Возможность в любой момент покинуть игру.

В данной программе использовались следующие разделы Турбо Паскаль:

  • Управляющие структуры (условие, циклы);

  • Массивы (одномерные, двумерные);

  • Символы и строки;

  • Процедуры;

  • Работа с файлами;

  • Работа с графическими возможностями.

В итоги получилась программа – игра, в которой использовались основные возможности среды Турбо Паскаль.

  1. Используемые методы

Программа выполнена в среде программирования Турбо Паскаль. Сама программа - приложение Windows. Для вывода графических объектов используются модуль Graph. Программой обрабатываются события от нажатия клавиш на клавиатуре, выбора соответствующих пунктов меню, а также считывание количества ходов для ведение статистики лучших игроков.

Для того чтобы не усложнять листинг программы, вся программа разбита на процедуры, каждая из которых отвечает за определенное действие. Всю программу можно разделить на два основных раздела:

  • Основные процедуры, т.е. те процедуры, которые отвечают за саму игру и взаимодействие с пользователем во время игры;

  • Вспомогательные процедуры. Это те процедуры, которые дополняют данное приложение дополнительными и очень полезными функциями;

  • Основная программа.

К основным процедурам относятся:

  • Tablo;

  • Vivod;

  • Napravlenie;

  • Poisk;

  • Zamena;

  • Proverka;

  • Mesto;

  • Game15

К вспомогательным процедурам относится:

  • ReadFile;

  • WriteFile;

  • Bonus.

Алгоритм всей программы описан в пункте 5, а в данном разделе опишем основные приемы используемых процедур.

4.1 Основные процедуры.

4.1.1 procedure Tablo;

Данная процедура формирует табло, заполненное случайными, неповторяющимися цифрами от 1 до 15 и одной пустой клеткой. Процедура реализована с использованием двух массивов: одномерный и двумерный.

Одномерный массив с 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 Game15;

Эта процедура является основной. В ней подключается графический модуль и происходит основной процесс игры.

Игра будет продолжаться до тех пор, пока не будет разложен правильный расклад или до тех пор пока пользователь не прервет игру при помощи клавиши 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 Основная программа.

В основной программе на экране выводится Главное меню и в зависимости от выбранных пользователем действий происходит взаимодействие с процедурами.

В действительности некоторые процедуры можно было объединить, т.к. основная цель использования процедур это исключение повторяющихся действий, а в данной программе некоторые процедуры используются один раз и их можно было записать в другие процедуры или основную программу, но, на мой взгляд, так гораздо удобнее, как при программировании, так и при проверки.

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

Несмотря на простоту данной программы, написание алгоритма оказалось достаточно не простой задачей. В связи с этим пришлось разделить его, в целях его читаемости и доступности.

Основной алгоритм программы разбит на четыре раздела (схема 1):

  • Описание;

  • Управление;

  • Игра;

  • Результаты.









Схема 1 - Основной алгоритм программы

5.1 Раздел Описание.

Данный раздел предназначен для ознакомления пользователем, с возможностями, программы.

Раздел реализован при помощи процедуры Avtor. Данная процедура считывает информацию из файла fhelp1.txt и выводит считанную информацию на экран, для ознакомления пользователю.

Общий алгоритм данного раздела заключается в следующем (Схема 2):

    • Чтение информации из файла fhelp1.txt;

    • Вывод информации из файла на экран;

    • Закрытие файла.


Чтение файла




Закрытие файла




Схема 2 Алгоритм - Описание

5.1.1 Чтение файла.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее