Информатика» «Разработка программы для игры «Питон

Курсовая работа

Компьютеры достаточно давно и прочно вошли в нашу жизнь. В настоящее время компьютер вполне может рассматриваться как универсальное средство для работы, творчества, развлечения человека. Электронные вычислительные машины стали заменой для многих вещей, и внедрение их в различные сферы жизни общества помогают им встать на место тех вещей, которые они могут заменить[1].

Компьютер позволяет хранить большие объемы информации занимая минимальное место Современные технологии позволяют максимально быстро обрабатывать информацию с использованием средств её защиты. Так же появление компьютера поспособствовало развитию науки.[2]

Однако, без человеческого контроля компьютерные технологии не смогут выполнять поставленные задачи и правильно функционировать.[3]

Задачей данной курсовой работы стала разработка программы для игры «Питон». Разработанная программа, предназначенная для изображения движущегося “питона”, состоящего из трех отрезков одинаковой длины, может использоваться людьми, не имеющими квалификации программиста. Программа разработана с использованием современных концепций программирования — объектноориентированного программирования и языка Object Pascal.

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

1 Техническое задание

1.1 Основание для разработки

Программа должна быть разработана на основе задания на курсовое проектирование, выданного к.т.н, доцентом кафедры ИВС Долговой И. А., утвержденного заведующей кафедры ИВС, к.т.н., доцентом Бобрышевой Г.В.

1.2 Назначение разработки

Программа должна быть предназначена для игры «Питон».

1.3 Требования к программе

1.3.1 Требования к функциональным характеристикам

Программа должна:

1) изобразить движущегося “питона”, состоящего из трёх отрезков одинаковой длины;

2) записывать в файл о количестве запусков игры.

1.3.2 Требования к составу и параметрам технических средств

Программа должна быть предназначена для работы на персональных компьютерах, имеющих следующие минимальные характеристики: тактовая частота процессора – 2,3 Ггц; оперативная память – 4 Гбайт; на жестком диске при установке должно использоваться около 484 Кбайт; объем жесткого диска зависит от размера информационной базы, но должен быть не менее 230 Гбайт.

1.3.3 Требования к надежности

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

9 стр., 4380 слов

Разработка программы-игры ‘Шашки’

... представляющего собой программную реализацию известной логической игры «Шашкии». Разработка объектно-ориентированных программ состоит из следующих последовательных работ: определение основных объектов, необходимых для решения ... быть выполнены. Желательность иерархии классов (а значит, наследования) вытекает из требований к повторному использованию кода - если несколько классов имеют сходное ...

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

1.3.4 Требования к информационной и программной совместимости

Программа для игры «Питон» должна быть написана на языке Object Pascal для операционной системы Windows.

1.3.5 Требования к программной документации

Разрабатываемая программа должна сопровождаться следующими программными документами:

  • техническое задание;
  • описание программы;
  • программу и методику испытаний;
  • описание применения,
  • текст программы.

1.4 Стадии и этапы разработки

Стадии и этапы разработки приведены в таблице 1.

Таблица 1 — Стадии и этапы разработки

Стадии Этапы Сроки вы- Исполнитель

полнения 1. Расчетная 1.1 Разработка и утверждение 11.03.18г. Антонов П.И. часть технического задания

1.2 Разработка алгоритма 25.03.18г. Антонов П.И.

решения задачи

1.3 Разработка структурной 08.04.18г. Антонов П.И.

программы

1.4 Написание пояснительной 27.05.18г. Антонов П.И.

записки 2. 2.1 Кодирование 13.05.18г. Антонов П.И. Эксперимент и отладка альная часть 2.2 Испытание программы 20.05.18г. Антонов П.И.

1.5 Порядок контроля и приемки

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

Приемка программного продукта должна проводиться при наличии полной документации на программу (пояснительной записки с приложениями: текстом программы и результатами тестов).

2 Описание программы

2.1 Общие сведения

Программа Project1 разработана на языке Object Pascal, её текст содержится в файле Project1.ехе и приведен в приложении А.

2.2 Функциональное назначение

Программа Project1 предназначена для игры «Питон».

2.3 Описание логической структуры

Программа Project1 состоит из одного модуля Unit1. Схема взаимодействия модулей программы представлена на рисунке 1.

Рисунок 1 — Схема взаимодействия программ

Описание модуля приведено в таблице 2.

Таблица 2 – Описание модуля

Имя модуля Форма Примечание

Unit1 Form1 Главный модуль

программы

Проект программы включает в себя главную программу и следующие подпрограммы: procedure FormCreate, procedure Button1Click, procedure Button2Click, procedure Timer1Timer, procedure N3Click, procedure N2Click, procedure N4Click, procedure zakrasform, procedure zakras. Структура программы приведена на рисунке

Главная

Программа

Открытие Закрашивание файла Создание Закрытие начальной количества файла формы позиции запусков игры питона

Закрашивание

Отключение Рисование

движущегося

таймера питона

питона

Рисование

6 стр., 2745 слов

Разработка программы на Delphi

... фантастическая! Среда программирования – Delphi – весьма быстрая и удобная для разработки приложений различного назначения для Windows. Для нормальной работы программы необходим IBM совместимый компьютер ... файлов на жестком диске, автодозвонам в другие государства и т.д. Тема моего курсового проекта – создание программы справочника по визуальным компонентам интегрированной среды Delphi. Эта программа ...

Включение начальной позиции

таймера питона, перезапись

файла

Рисунок 2 — Структура программы Описание процедур и функций приведено в таблице 3. Таблица 3 — Описание процедур и функций

Имя модуля Наименование Примечание

процедуры или функции

procedure Процедура запуска таймера

TForm1.Button1Click

procedure Процедура остановки

TForm1.Button2Click таймера

procedure Процедура рисования

TForm1.FormCreate начальной позиции питона,

перезапись файла

procedure Процедура рисования

TForm1.Timer1Timer питона

procedure N3.Click Процедура выхода из

программы

procedure N2.Click Процедура создания файла

procedure N4.Click Процедура открытия файла

количества запусков игры

procedure zakras Процедура закрашивания

движущегося питона

procedure zakrasform Процедура закрашивания

начальной позиции питона

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

Алгоритм процедуры TForm1.FormCreate представлен на рисунке 3.

procedure

TForm1.FormCreate

(Sender: TObject)

Связать finfo с

файлом i=0

Нет Файл ‘info.dat’

существует

4 Да

Открыть файл

fcount для чтения

Читать count из

файла fcount

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

fcount

Открыть файл

fcount для записи

Количество

запусков +1

Запись count в

файл fcount

A К стр 15

A

x=380

y=260

xn:=380, yn:=260

n=1

Рисование питона

Конец

Рисунок 3 – Схема процедуры TForm1.FormCreate

В блоке 2 переменной i присваивается 0 и устанавливается связь между файлом count.dat и файловой переменной fcount. После этого в блоке 3 проверяется условие. Если условие истинно, то в блоке 4 файл fcount открывается для чтения. В блоке 5 информация из файла записывается в запись count. Затем, в блоке 6 идет закрытие файла. В блоке 7 идет открытие файла для записи. После этого, в блоке 8 поле записи count.ch увеличивается на единицу. В блоке 9 идет запись записи count в файл fcount. В блоках 10, 11 выполняется присваивание значений координатам x,y,xn,yn, а также для переменной n. В блоке 12 выполняется рисование начальной позиции питона.

Обработчик TForm.N2Click обрабатывает выбор подпункта меню «Создать файл» из пункта главного меню «Файл» и предназначен для создания файла.

Алгоритм процедуры TForm.N2Click представлен на рисунке 4.

procedure

TForm1.N2Click(Se

nder: TObject)

8 стр., 3967 слов

Анализ процедуры разработки нормативных документов

... преимущества данной категории стандартов. Целью курсовой работы является анализ процедуры разработки нормативных документов, на примере стандартов организации. Для реализации данной цели были ... на преимущества стандартов организации; Провести анализ разработки нормативного документа, на примере стандарта организации; Составить этапы процедуры разработки стандарта организации. 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ ...

Открыть файл

fcount для записи

Ввод count.name

Количество

запусков =1

Запись count в

файл fcount

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

Конец

Рисунок 4 – Схема процедуры TForm1.N2Click

В блоке 2 осуществляется открытие файла fcount для записи. Далее в блоке 3 вводится поле записи count.name. После этого в блоке 4 полю записи count.ch присваивается единица. Затем в блоке 5 запись count записывается в файл fcount. В блоке 6 файл закрывается.

Обработчик TForm1.N4Click обрабатывает выбор подпункта меню «Открыть файл» из пункта главного меню «Файл» и предназначен для чтения данных из файла.

Алгоритм процедуры TForm1.N4Click представлен на рисунке 5.

1 procedure

TForm1.N4Click(Se

2 nder: TObject)

Открыть файл

fcount для чтения

Читать count из

файла fcount

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

fcount

Вывод count.name

и count.ch

Конец

Рисунок 5 – Схема процедуры TForm1.N4Click

В блоке 2 файл fcount открывается для чтения. В блоке 3 информация из файла записывается в запись count. Затем, в блоке 4 идет закрытие файла. После этого, в блоке 5 идет вывод полей записи count.name и count.ch.

Обработчик TForm1.Timer1Timer обрабатывает работу объекта Timer1 и предназначен для рисования движения питона.

Алгоритм процедуры TForm1.Timer1Timer представлен на рисунке 6. 1

procedure

TForm1.Timer1Timer 2 (Sender: TObject)

Перемещение карандаша на x,y Цвет карандаша:

чёрный

randomize way=Random(4)+1

way

1 Перемещение

вправо, x=x+h

2

Перемещение

вниз, y=y+h

3

Перемещение

влево, x=x-h

4

Перемещение

вверх, y=y-h

B К стр 19

B

11 Нет

n<=3

12 Да

zakrasform

(n,Image1)

Нет

n>=4

14 Да

zakras(n,q1,w1,

e1,Image1)

Нет

(n mod 3) =1

Да

q1=way+4

Нет

(n mod 3) =2

18 Да

w1=way+4

C К стр 20

C

Нет

(n mod 3) =0

20 Да

e1=way+4

n=n+1

Конец

Рисунок 6 – Схема процедуры TForm1.Timer1Timer

В блоках 2 и 3 осуществляются перемещение карандаша на координаты x,y и смена цвета карандаша на чёрный. В блоке 4 устанавливается генератор случайного числа на следующее значение. В блоке 5 для переменной way присваивается случайное значение числа от 1 до 4. В блоках 6-10 с помощью оператора выбора case происходит выбор значения интервала. После в блоке 11 выполняется проверка условия n<=3. Если условие верное, то выполняется вызов подпрограммы-процедуры zakrasform с фактическими параметрами n,Image1 (блок 12).

Далее в блоке 13 выполняется проверка условия n>=4. Если условие верно, то выполняется вызов подпрограммы-процедуры zakras с фактическими параметрами n,q1,w1,e1,Image1 (блок 14).

В блоке 15 выполняется проверка условия (n mod 3) = 1. Если условие верное, то q1=way+4 (блок 16).

В блоке 17 выполняется проверка условия (n mod 3) = 2. Если условие верное, то w1=way+4 (блок 18).

В блоке 19 выполняется проверка условия (n mod 3) = 0. Если условие верное, то e1=way+4 (блок 20).

4 стр., 1542 слов

Профессиональный отбор и подбор операторов технических систем

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

В блоке 21 переменная n увеличивается на единицу.

Обработчик zakrasform обрабатывает работу подпрограммы-процедуры zakrasform и предназначен для закрашивания начальной позиции питона.

Алгоритм процедуры zakrasform представлен на рисунке 7.

zakrasform(n1: integer;

var Im1: TImage)

Цвет карандаша:

белый

3 Нет

n1=1

4 Да

Закрашивание

первого отрезка

Нет

n1=2

6 Да

Закрашивание

второго отрезка

Нет

n1=3

8 Да

Закрашивание

третьего отрезка

Конец

Рисунок 7 – Схема процедуры zakrasform

В блоке 2 осуществляется смена цвета карандаша на белый. В блоке 3 выполняется проверка условия n = 1. Если условие верное, то выполняется закрашивание первого отрезка начального положения питона (блок 4).

В блоке 5 выполняется проверка условия n = 2. Если условие верное, то выполняется закрашивание второго отрезка начального положения питона (блок 6).

В блоке 7 выполняется проверка условия n = 3. Если условие верное, то выполняется закрашивание последнего отрезка начального положения питона (блок 8).

Обработчик zakras обрабатывает работу подпрограммы-процедуры zakras и предназначен для закрашивания движущегося питона.

Алгоритм процедуры zakras представлен на рисунке 8.

zakras(n1,q,w,e:integer; var

Im1: TImage)

Цвет карандаша:

белый

Перемещение

карандаша на xn,yn

(n mod 3) =1

way2=q

D К стр 23

D

D

(n mod 3) =2

way2=w

(n mod 3) =0

way2=e

Way2

5 Закрашивание

вправо, xn=xn+h

6 Закрашивание

вниз, yn=yn+h

7 Закрашивание

влево, xn=xn-h

8 Закрашивание

вверх, yn=yn-h

Конец

Рисунок 8 – Схема процедуры zakras

В блоках 2 и 3 осуществляются смена цвета карандаша на белый и перемещение карандаша на координаты xn,yn. В блоке 4 выполняется проверка условия (n mod 3) = 1. Если условие верное, то way2=q (блок 5).

В блоке 6 выполняется проверка условия (n mod 3) = 2. Если условие верное, то way2=w (блок 7).

В блоке 8 выполняется проверка условия (n mod 3) = 0. Если условие верное, то way2=e (блок 9).

В блоках 10-14 с помощью оператора выбора case происходит выбор значения интервала.

Обработчик событий TForm1.N3Click обрабатывает пункт главного меню «Выход» и предназначен для выхода из программы.

Алгоритм процедуры TForm1.N3Click представлен на рисунке 9.

TForm1.N3Click(Sender:

TObject)

Закрытие формы

Конец

Рисунок 9 – Схема процедуры TForm1.N3Click

В блоке 2 осуществляется вызов стандартной процедуры Close для закрытия формы и выхода из программы.

Обработчик TForm1.Button1Click обрабатывает нажатие на кнопку на форме «Старт» и предназначен для включения таймера.

Алгоритм процедуры TForm1.Button1Click представлен на рисунке 10.

1

TForm1.Button1Click

(Sender: TObject)

Включение

12 стр., 5572 слов

Разработка программы с помощью языка программирования Delphi

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

таймера

Конец

Рисунок 10 – Схема процедуры TForm1.Button1Click

В блоке 2 осуществляется включение таймера с помощью свойств объекта Timer1.Enabled.

Обработчик TForm1.Button2Click обрабатывает нажатие на кнопку на форме «Стоп» и предназначен для отключения таймера.

Алгоритм процедуры TForm1.Button2Click представлен на рисунке 11.

TForm1.Button2Click

(Sender: TObject)

Отключение

таймера

Конец

Рисунок 11 – Схема процедуры TForm1.Button2Click

В блоке 2 осуществляется отключение таймера с помощью свойств объекта Timer1.Enabled.

Текст программы приведен в приложении А. В программе используются следующие пользовательские типы данных:

В разделе type описана новая запись list, которая имеет два поля (name,ch), типа string (name) и integer(ch).

Также в разделе type описан новый тип spisok и fspisok. Элементы пользовательского типа данных spisok, это элементы типа list, а элементы пользовательского типа данных fspisok, это файлы, элементы которого типа list.

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

  • x,y:integer – координаты начала перемещения питона;
  • xn,yn:integer – координаты начала закрашивания питона;
  • n:integer – количество шагов;
  • q1,w1,e1:integer – вспомогательные переменные для сохранения выбора пути питона;
  • i:integer – вспомогательная переменная;
  • fcount: fspisok – файл, куда записывается информация об авторе и количество запусков;
  • icount: spisok – запись, с помощью которой информацию записывают в файл и считывают из него;
  • way:integer – переменная для перемещения питона;
  • way2:integer – переменная для закрашивания движущегося питона.

Программа состоит из 7 обработчиков событий и 2 подпрограмм-процедур.

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

В разделе исполняемых операторов обработчика событий procedure TForm1.FormCreate переменной i присваивается ноль, с помощью оператора присваивания, и вызывается стандартная процедура Assignfile, для установления связи между файловой переменной fcount и файлом. После этого проверяется условие fileExists(‘count.dat’) с помощью оператора условия IF. Если условие истинно, то вызывается стандартная процедура Reset, которая позволяет открыть файл fcount для чтения. Затем вызывается стандартная процедура Read, которая позволяет прочитать файл и записать его в запись spisok, после чего вызывается стандартная процедура Closefile, для закрытия файла. Далее вызывается стандартная процедура Rewrite, которая позволяет перезаписать файл fcount. Полю записи count.ch прибавляется единица с помощью оператора присваивания, после чего, вызывается стандартная процедура Write, с помощью которого, запись count записывается в файл. Затем вызывается стандартная процедура CloseFile и файл закрывается. Далее выполняется присваивание значения переменным x,y,xn,yn,n с помощью x:=380, y:=260, xn:=380, yn:=260,n:=1 и оператора присваивания. Потом рисуется начальное положение питона с помощью процедур moveto – начало линии с координатами (300,300), lineto конец линии с последующими координатами (340,300), (340,260), (380,260).

11 стр., 5341 слов

«Создание лэндинга для абитуриентов колледжа с помощью HTML5 и CSS3»

... теме исследования, материалы Интернет-сайтов. 2. Изучить теоретические основы разработки лендинга. 3. Изучить этапы создания лендинга с помощью языка гипертекстовой разметки документов HTML5 и каскадных таблиц стилей ... врач, юрист, преподаватель или другое конкретное лицо – укажите образование и опыт работы. Если компания – место на рынке, опыт, результаты, преимущества сотрудничества. Блок стоит ...

Обработчик TForm.N2Click обрабатывает выбор подпункта меню «Создать файл» из пункта главного меню «Файл» и предназначен для создания файла.

В разделе исполняемых операторов обработчика событий procedure TForm.N2Click вызывается стандартная процедура Rewrite, которая позволяет перезаписать файл fcount. После этого идет ввод поля записи count.name, с помощью оператора присваивания. Затем полю записи count.ch присваивается единица, с помощью оператора присваивания. Далее вызывается стандартная процедура Write, c помощью которой в файл записывается запись count. После этого вызывается стандартная процедура CloseFile для закрытия файла.

Обработчик TForm1.N4Click обрабатывает выбор подпункта меню «Открыть файл» из пункта главного меню «Файл» и предназначен для чтения данных из файла.

В разделе исполняемых операторов обработчика событий procedure TForm1.N4Click вызывается стандартная процедура Reset, которая позволяет открыть файл fcount для чтения. Затем вызывается стандартная процедура Read, которая позволяет прочитать файл и записать его в запись spisok, после чего вызывается стандартная процедура Closefile, для закрытия файла. После этого stringgrid1.cells[0,1] присваивается count.name, с помощью оператора присваивания, а stringgrid1.cells[1,1] присваивается count.ch, с помощью оператора присваивания.

Обработчик TForm1.Timer1Timer обрабатывает работу объекта Timer1 и предназначен для рисования движения питона.

В разделе исполняемых операторов обработчика событий procedure TForm1.Timer1Timer вызывается процедура moveto – начало линии с координатами (x,y).

Далее выбирается цвет карандаша с помощью Pen.Color:=clBlack и оператора присваивания. Далее устанавливается генератор случайного числа на следующее значение с помощью randomize. Переменная way:=Random(4)+1 и с помощью оператора присваивания. Затем используется оператор выбора case для переменной way. В значении 1 выполняется перемещение вправо с помощью Image1.Canvas.LineTo(x+h,y), x:=x+h и оператора присваивания. В значении 2 выполняется перемещение вниз с помощью Image1.Canvas.LineTo(x,y+h), y:=y+h и оператора присваивания. В значении 3 выполняется перемещение влево с помощью Image1.Canvas.LineTo(x-h,y), x:=x-h и оператора присваивания. В значении 4 выполняется перемещение вверх с помощью Image1.Canvas.LineTo(x,y-h), y:=y-h и оператора присваивания. С помощью оператора условия IF проверяется n<=3. Если условие верное, то происходит вызов подпрограммы-процедуры zakrasform с фактическими параметрами n,Image1. Затем с помощью оператора условия IF проверяется n>=4. Если условие верное, то происходит вызов подпрограммы-процедуры zakras с фактическими параметрами n,q1,w1,e1,Image1. С помощью оператора условия IF проверяется (n mod 3) = 1. Если условие верное, то q1:=way+4 с помощью оператора присваивания. Далее с помощью оператора условия IF проверяется (n mod 3) = 2. Если условие верное, то w1:=way+4 с помощью оператора присваивания. Потом с помощью оператора условия IF проверяется (n mod 3) = 0. Если условие верное, то e1:=way+4 с помощью оператора присваивания. В конце переменная n увеличивается на единицу с помощью оператора присваивания.

Подпрограмма-процедура zakrasform предназначена для закрашивания начальной позиции питона.

12 стр., 5931 слов

Задачи главных операторов аэропортов по содержанию и эксплуатации ...

... является содержание и эксплуатация зданий и сооружений. Предметом Для достижения данной цели в работе поставлены следующие задачи: 1. Рассмотреть понятие главного оператора (оператора) аэропорта, изучить его ... систематической ненадлежащей оплаты последними оказанных им услуг; 8) закрытие и открытие аэродрома для приема и отправки воздушных судов; 9) согласование схемы движения транспорта ...

В разделе исполняемых операторов обработчика событий procedure zakrasform с формальными параметром-значения n1 и параметром-переменным Im1 выполняется смена цвета карандаша на белый с помощью Pen.Color:=clWhite и оператора присваивания. Выполняется проверка n1=1 с помощью оператора условия IF. Если условие верное, то закрашивается первый отрезок с помощью moveto – начало линии с координатами (300,300) и lineto – конца линии с координатами (340,300).

Выполняется проверка n1=2 с помощью оператора условия IF. Если условие верное, то закрашивается первый отрезок с помощью moveto – начало линии с координатами (340,300) и lineto – конца линии с координатами (340,260).

Выполняется проверка n1=3 с помощью оператора условия IF. Если условие верное, то закрашивается первый отрезок с помощью moveto – начало линии с координатами (340,260) и lineto – конца линии с координатами (380,260).

Подпрограмма-процедура zakras предназначена для закрашивания движущегося питона.

В разделе исполняемых операторов обработчика событий procedure zakras с формальными параметрами-значения n1,q,w,e и параметром-переменным Im1 выполняется смена цвета карандаша на белый с помощью Pen.Color:=clWhite и оператора присваивания. Далее вызывается процедура moveto – начало линии с координатами (xn,yn).

Выполняется проверка (n mod 3) = 1 с помощью оператора условия IF. Если условие верное, то way2:=q с помощью оператора присваивания. Выполняется проверка (n mod 3) = 2 с помощью оператора условия IF. Если условие верное, то way2:=w с помощью оператора присваивания. Выполняется проверка (n mod 3) = 0 с помощью оператора условия IF. Если условие верное, то way2:=e с помощью оператора присваивания. Затем используется оператор выбора case для переменной way2. В значении 5 выполняется перемещение вправо с помощью Image1.Canvas.LineTo(xn+h,yn), xn:=xn+h и оператора присваивания. В значении 6 выполняется перемещение вниз с помощью Image1.Canvas.LineTo(xn,yn+h), yn:=yn+h и оператора присваивания. В значении 7 выполняется перемещение влево с помощью Image1.Canvas.LineTo(xn-h,yn), xn:=xn-h и оператора присваивания. В значении 8 выполняется перемещение вверх с помощью Image1.Canvas.LineTo(xn,yn-h), yn:=yn-h и оператора присваивания.

Обработчик событий TForm1.N3Click обрабатывает пункт главного меню «Выход» и предназначен для выхода из программы.

В разделе исполняемых операторов обработчика событий procedure TForm. N3Click вызывается стандартная процедура close для закрытия формы.

Обработчик TForm1.Button1Click обрабатывает нажатие на кнопку на форме «Старт» и предназначен для включения таймера.

В разделе исполняемых операторов обработчика событий procedure TForm1.Button1Click включение осуществляется с помощью свойств объекта Timer1.Enabled:=true и оператора присваивания.

Обработчик TForm1.Button2Click обрабатывает нажатие на кнопку на форме «Стоп» и предназначен для отключения таймера.

В разделе исполняемых операторов обработчика событий procedure TForm1.Button2Click отключение осуществляется с помощью свойств объекта Timer1.Enabled:=false и оператора присваивания.

2.4 Используемые технические средства

Программа выполняется на персональных компьютерах, имеющих следующие минимальные характеристики: тактовая частота процессора – 2,3 Ггц; оперативная память – 4 Гбайт; на жестком диске при установке используется около 484 Кбайт; объем жесткого диска зависит от размера информационной базы, но должен быть не менее 230 Гбайт.

4 стр., 1943 слов

Решение инженерных задач с помощью программ Excel и Mathcad

... График функции двух переменных в Excel Данная курсовая работа позволила мне более близко познакомиться с программами MathCAD и MS Excel. Мной были рассмотрены способы решения инженерных задач с использованием ... С помощью Excel произведем расчеты матрицы D (рис. 6). Рис. 6. Вычисление матрицы D в Excel 3.2 Решение 1. Решим полученную систему уравнений в Excel с помощью обратной матрицы (рис. 7). В ...

2.5 Вызов и загрузка

Программа расположена в каталоге i:\antonov\. Для вызова программы необходимо запустить файл Projectl.ехе.

2.6 Входные данные

Входные данные отсутствуют.

2.7 Выходные данные

Выходными данными являются:

  • считываемое из файла количество запусков игры;
  • изображение движущегося «питона».

3 Программа и методика испытаний

3.1 Объект испытаний

Объектом испытаний является программа project1, предназначенная для вывода на экран динамической заставки на языке Object Pascal.

3.2 Цель испытаний

Целью испытаний является проверка работоспособности и надежности программы.

3.3 Требования к программе

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

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

3.4 Требования к программной документации

Состав программной документации, предъявляемой на испытания:

  • техническое задание;
  • описание программы;
  • программа и методика испытаний;
  • описание применения;
  • текст программы.

3.5 Средства и порядок испытаний

Программа предназначена для работы на персональных компьютерах, имеющих следующие минимальные характеристики: тактовая частота процессора – 2,3 Ггц; оперативная память – 4 Гбайт; на жестком диске при установке используется около 484 Кбайт; объем жестокого диска зависит от размера информационной базы, но должен быть не менее 230 Гбайт. На персональном компьютере должна быть установлена ОС Windows.

Для проверки правильности работы программы был принят следующий порядок действий:

  • а) запустить программу на выполнение;
  • б) провести тестирование программы по тестам, описанным в пункте 3.6;
  • в) сравнить реакции программы с ожидаемым результатом;
  • г) сделать выводы по результатам тестирования о работоспособности программы.

3.6 Методика испытаний

Для проверки выполнения функций программы разработаны тестовые примеры.

Тестовый пример 1. Проверка выполнения функции вывода изображения питона.

Для проверки выполнения функции вывода изображения питона необходимо запустить программу на выполнение (рисунок Б.1)

Тестовый пример 2. Проверка выполнения функции передвижения питона.

Для проверки выполнения функции передвижения питона необходимо запустить программу(рисунок Б.1), нажать на кнопку «Старт»(рисунок Б.2)

Тестовый пример 3. Проверка выполнения функции записи в файл количества запусков игры.

Для проверки выполнения функции записи в файл количества запусков игры необходимо запустить программу на выполнение (рисунок Б.1).

Затем написать имя в таблице в колонке «Имя» выбрать в меню «Файл» пункт подменю «Создать файл» (рисунок Б.3).

После этого в файл запишется количество запусков игры.

Тестовый пример 4. Проверка выполнения функции вывода количества запусков игры.

Для проверки выполнения функции вывода количества запусков игры необходимо запустить программ на выполнение (рисунок Б.1).

Затем выбрать в меню «Файл» пункт подменю «Открыть файл»(рисунок Б.4).

После этого в таблицу выводятся имя и количество запусков игры.

Если программа при введении данных тестовых примеров выполняет все свои функции, то можно сделать вывод о том, что она работает верно.

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

4 Описание применения

4.1 Назначение программы

Программа Project1 предназначена для игры «Питон».

4.2 Условия применения

Программа предназначена для работы на персональных компьютерах, имеющих следующие минимальные характеристики: тактовая частота процессора – 2,3 Ггц; оперативная память – 4 Гбайт; на жестком диске при установке используется около 484 Кбайт; объем жестокого диска зависит от размера информационной базы, но должен быть не менее 230 Гбайт. На персональном компьютере должна быть установлена ОС Windows.

4.3 Управление программой

После запуска программы на выполнение на экране появляется форма (рисунок Б.1).

Для передвижения питона необходимо нажать на кнопку «Старт»(рисунок Б.2).

Для записи в файл количества запусков игры необходимо запустить программу на выполнение (рисунок Б.1).

Затем в таблицу в колонке «Имя» нужно ввести имя. Затем выбрать в меню «Файл» пункт подменю «Создать файл» (рисунок Б.3).

После этого в файл запишется количество запусков игры.

Для вывода количества запусков игры необходимо запустить программу на выполнение (рисунок Б.1).

Затем выбрать в меню «Файл» пункт подменю «Открыть файл»(рисунок Б.4).

После этого в таблице выводятся имя и количество запусков игры.

4.4 Входные и выходные данные

Входные данные отсутствуют.

Выходными данными являются:

  • считываемое из файла количество запусков игры;
  • изображение движущегося «питона».

Заключение

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

Список использованных источников

[Электронный ресурс]//URL: https://inzhpro.ru/kursovaya/razrabotka-igryi-na-python/

1. Фаронов В. В. Delphi. Программирование на языке высокого уровня: учебник. — СПб.: Питер, 2012. — 640 с.

2. Ачкасов В. Введение в программирование на Delphi. – Режим доступа: http://www.intuit.ru/studies/courses/1024/246/info

3. Информатика в 2 т. Том 2 : учебник для академического бакалавриата / отв. ред. В. В. Трофимов. — 3-е изд., перераб. и доп. — М. : Издательство Юрайт, 2016. — 406 с. — (Бакалавр. Академический курс).

– Режим доступа:http://www.biblio-online.ru/viewer/9E9C10E9-6796-4E29-B8BD4D73CDC6E291#page/1

Приложение А

Листинг программы

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ImgList, ExtCtrls, StdCtrls, Menus, Grids;

  • type list=record name:string[10];
  • ch:integer;
  • end;
  • spisok=list;
  • fspisok=file of list;
  • TForm1 = class(TForm) Image1: TImage;
  • Button1: TButton;
  • Button2: TButton;
  • Timer1: TTimer;
  • MainMenu1: TMainMenu;
  • N3: TMenuItem;
  • StringGrid1: TStringGrid;
  • N1: TMenuItem;
  • N2: TMenuItem;
  • N4: TMenuItem;
  • procedure FormCreate(Sender: TObject);
  • procedure Button1Click(Sender: TObject);
  • procedure Button2Click(Sender: TObject);
  • procedure Timer1Timer(Sender: TObject);
  • procedure N3Click(Sender: TObject);
  • procedure N4Click(Sender: TObject);
  • procedure N2Click(Sender: TObject);
  • private { Private declarations } public { Public declarations } end;
  • const h=40;
  • var Form1: TForm1;
  • x,y,xn,yn,n,q1,w1,e1,i:integer;
  • way,way2:integer;
  • fcount:fspisok;
  • count:spisok;
  • implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject); begin i:=0; assignfile(fcount,’count.dat’); stringgrid1.Cells[0,0]:=’Èìÿ’; stringgrid1.Cells[1,0]:=’Çàïóñêîâ’; if fileExists(‘count.dat’) then begin reset(fcount); read(fcount,count); closefile(fcount);

  • rewrite(fcount);
  • count.ch:=count.ch+1;
  • write(fcount,count);
  • closefile(fcount);
  • end;
  • x:=380;
  • y:=260;
  • xn:=380;
  • yn:=260;
  • n:=1;
  • Image1.Canvas.Moveto(300,300);
  • Image1.Canvas.LineTo(340,300);
  • Image1.Canvas.LineTo(340,260);
  • Image1.Canvas.LineTo(380,260);
  • end;
  • procedure TForm1.Button1Click(Sender: TObject);
  • begin Timer1.Enabled:=true;
  • end;
  • procedure TForm1.Button2Click(Sender: TObject);
  • begin Timer1.Enabled:=false;
  • end;
  • procedure zakrasform(n1: integer;
  • var Im1: TImage);
  • begin Im1.Canvas.Pen.Color:=ClWhite;
  • //çàêðàøèâàíèå íà÷àëüíîãî ïèòîíà if n1=1 then begin Im1.Canvas.MoveTo(300,300);
  • Im1.Canvas.LineTo(340,300);
  • end;
  • if n1=2 then begin Im1.Canvas.MoveTo(340,300);
  • Im1.Canvas.LineTo(340,260);
  • end;
  • if n1=3 then begin Im1.Canvas.MoveTo(340,260);
  • Im1.Canvas.LineTo(380,260);
  • end;
  • end;
  • procedure zakras(n1,q,w,e:integer;
  • var Im1: TImage);
  • begin Im1.Canvas.Pen.Color:=ClWhite;
  • Im1.Canvas.MoveTo(xn,yn);
  • if (n mod 3)=1 then way2:=q;
  • if (n mod 3)=2 then way2:=w;
  • if (n mod 3)=0 then way2:=e;
  • case way2 of 5: begin Im1.Canvas.LineTo(xn+h,yn);
  • xn:=xn+h;
  • end;
  • 6: begin Im1.Canvas.LineTo(xn,yn+h);
  • yn:=yn+h;
  • end;
  • 7: begin Im1.Canvas.LineTo(xn-h,yn);
  • xn:=xn-h;
  • end;
  • 8: begin Im1.Canvas.LineTo(xn,yn-h);
  • yn:=yn-h;
  • end;
  • end;
  • end;
  • procedure TForm1.Timer1Timer(Sender: TObject);
  • begin image1.Canvas.MoveTo(x,y);
  • Image1.Canvas.Pen.Color:=clBlack;
  • randomize;
  • way:=Random(4)+1;
  • case way of 1: begin Image1.Canvas.LineTo(x+h,y);
  • x:=x+h;
  • end;
  • 2: begin Image1.Canvas.LineTo(x,y+h);
  • y:=y+h;
  • end;
  • 3: begin Image1.Canvas.LineTo(x-h,y);
  • x:=x-h;
  • end;
  • 4: begin Image1.Canvas.LineTo(x,y-h);
  • y:=y-h;
  • end;
  • end;
  • if n<=3 then zakrasform(n,Image1);
  • if n>=4 then zakras(n,q1,w1,e1,Image1);
  • if (n mod 3)=1 then q1:=way+4;
  • if (n mod 3)=2 then w1:=way+4;
  • if (n mod 3)=0 then e1:=way+4;
  • n:=n+1;
  • end;
  • procedure TForm1.N3Click(Sender: TObject);
  • begin close;
  • end;
  • procedure TForm1.N2Click(Sender: TObject);
  • begin rewrite(fcount);
  • count.name:=stringgrid1.Cells[0,1];
  • count.ch:=1;
  • write(fcount,count);
  • closefile(fcount);
  • end;
  • procedure TForm1.N4Click(Sender: TObject);
  • begin reset(fcount);
  • read(fcount,count);
  • closefile(fcount);
  • stringgrid1.cells[0,1]:=count.name;
  • stringgrid1.cells[1,1]:=inttostr(count.ch);
  • end;
  • end.

Приложение Б

Результаты испытаний

Рисунок Б.1 – Вывод начального положения питона

Рисунок Б.2 – Вывод движущегося питона

Рисунок Б.3 – Создание файла

Рисунок Б.4 – Открытие файла количества запусков игры

Приложение В

Текст dfm-файлов