Разработка программного средства для долговременного хранения и обработки информации

Описание:
Разработка программного средства для долговременного хранения и обработки информации на примере игры «Скачки»
Доступные действия
Введите защитный код для скачивания файла и нажмите "Скачать файл"
Защитный код
Введите защитный код

Нажмите на изображение для генерации защитного кода

Текст:

Министерство образования и науки Российской Федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ОБРАЗОВАНИЯ

«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Аэрокосмический институт

Кафедра управления и информатики в технических системах

КУРСОВОЙ ПРОЕКТ

по дисциплене «Программирование на языке высокого уровня»

Разработка программного средства для долговременного хранения и обработки информации на примере игры «Скачки»

Пояснительная записка

ОГУ 27.03.03.0316.000ПЗ

Руководитель

преподаватель

__________________ В. В. Чекрыгина «___»_____________ 2016 г.

Студент группы 14САУ(ба)САУИТ _______ _________И.О. Фамилия

«___»_____________ 2016 г.

Оренбург 2016


Аннотация

Курсовая работа содержит 18 страницы, в том числе 4 рисунка, 5 источников и листинг программы.

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


Содержание

Введение. 5

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

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

3 Руководство пользователю.. 9

4 Тестирование программы.. 10

Заключение. 11

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

Приложение А.. 13


Введение

В настоящее время среди широкого круга пользователей популярна система объектно-ориентированного программирования Delphi, основу которой составляет язык Оbject Pascal, который изначально был разработан Н. Виртом в начале 60–х годов прошлого века специально как язык обучения программированию. Delphi позволяет быстро создавать приложения различной степени сложности на основе технологии визуального программирования.

Система Delphi воплощает в себе лучшие достижения современной теории программирования. Эта интегрированная среда объединяет в себе множество полезных инструментов и готовых компонентов, из которых собираются пользовательские программы – проекты. Delphi – это визуальная среда разработки программ. Это означает, что внешний вид каждой программы (интерфейс) создаётся простым перемещением компонентов.

Базовым языком программирования служит язык Object Pascal – объектно-ориентированный Паскаль. Принципиальное различие систем программирования Delphi и Turbo Pascal (Turbo – торговая марка разработчика системы фирмы Borland International, Inc.(США)) состоит в использовании экранного режима монитора: Turbo Pascal – ориентирован на текстовый режим системы DOS, а Delphi, как и Windows – на графический. Поэтому одна из последних версий Delphi 7 уже может создавать приложения для новейшей среды .NET. Причём последние версии позволяет программировать и для операционной системы Linux.

Система Delphi реализует технологию объектно-ориентированного виртуального  программирования (ООП). От всех других языков программирования его отличают строгость в определении всех переменных и констант, модульность программирования, широкие возможности в создании собственных структур данных, использование объектно-ориентированного программирования, отсутствие машинно-ориентированных конструкций. Корпорация Borland, которая является родоначальником Delphi, с самого начала сделала ставку на визуальное объектно–ориентированное программирование с предоставлением возможности работы с любыми базами данных. В настоящее время система программирования Delphi ни в чем не уступает по своим возможностям таким языкам программирования, как C++, С#, Visual C++, C–Builder, Visual Basic и др.


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

Была поставлена задача: разработать игру на тему скачек на ипподроме в среде Delphi с организованным тотализатором.

В процессе решения данной задачи получили следующее приложение:

Имеется 5 лошадей, которые должны пробежать по прямой, с организованной анимацией движения, состоящей из 2-хкартинок, так же должен присутствовать тотализатор. Лошади должны выигрывать в разном порядке.

Задача играющего: выиграть как можно больше «денег» на тотализаторе.

Минимальные требования для работы с программой: IBM-совместимый  486dx или выше, 5 мб. свободного пространства на жестком диске, ОС Win9x/Me, Win2000/XP/Vista/Seven.

В программе предусмотрено:

-     возможность при нулевом балансе можно взять долг;

-     лошади движутся с разными скоростями и узнать победителя заранее невозможно.


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

2.1 Структурная схема программы

На рисунке 1 показано, расположение основных элементов программы, так выглядит основное окно программного продукта.

Рисунок 1 – Основное окно программы

2.2 Описание особенностей алгоритма в модулях

Unit1.Данный модуль содержит переменные и методы, с помощью которых осуществляется управление программой.

Глобальные переменные:

A:mass2- массив, содержащий скорости лошадей, заполняющийся в рандомном порядке.

d, s ,j, k, b, w, h1, h2, bn, h3, h4, d1, h5:integer – переменные необходимые для организации тотализатора.

b1, b2:tbitmap – изображения анимации бегущих лошадей.

Методы:

procedure TForm1.FormCreate(Sender: TObject) – очистка edit1,edit2,Memo1, присваивается первоначальная сумма очков, вывод количества очков в Memo1,переменным анимации движения лошадей присваиваются соответствующие значения.

procedure TForm1.Button3Click(Sender: TObject) – принимается размер ставки и лошадь на которую поставил игрок.

procedure TForm1.Button1Click(Sender: TObject) - заполняет массив скоростей произвольными значениями и запускает забег включением Timer1.

procedure TForm1.Timer1Timer(Sender: TObject) – изменяет параметр компонентов bitbtn1-5 .left и после каждого шага меняет параметр Glyph. Действие происходит пока лошади не достигнут финиша. После этого запускается Timer2.

procedure TForm1.Timer2Timer(Sender: TObject) – определяет лошадь-победителя, выводит сообщение, подсчитывает выигрыш/проигрыш. Выводит количество очков в Memo1. Возвращает лошадей на стартовую позицию.

procedure TForm1.Button2Click(Sender: TObject) – принимает из edit1 количество долга и выводит его количество количество очков в Memo1.

procedure TForm1.Button2Click(Sender: TObject) – возвращает весь долг.

2.3 Алгоритм работы программы

Блок-схема работы программы представлена на рисунке 2.

Рисунок 2 – Алгоритм работы программы

3 Руководство пользователю

Для запуска программы необходимо выбрать файл «Project1.exe».

После того, как пользователь откроет данный файл, на экране появится окно программы, как показано на рисунке 3.

Рисунок 3 –Окно начало программы

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

Рисунок 3 –Окно конца забега


4 Тестирование программы

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

Минимальные требования для работы с программой: IBM – совместимый 486dx или выше, 5 мб. свободного пространства на жестком диске, ОС Win9x/Me, Win2000/XP/Vista/7.


Заключение

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

По мнению автора программы, основные задачи проекта выполнены полностью

.

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

1          СТО 02069024. 101 – 2014. Работы студенческие. Общие требования и правила оформления–Введ. 2002–07–01. – Оренбург: отдел качества образования федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Оренбургский государственный университет», 2014. – 86 с.

2          Архангельский А.Я. Программирование в Delphi 6 /А.Я. Архангельский// М.: ЗАО «Издательство БИНОМ», 2002г. – 1200 с.

3          Фаронов В.В. Delphi 6. Учебный курс / В.В. Фараонов// Издательство Молгачев С.В., 2001. – 672с.

4          Колосов С.В. Объектно-ориентированное программирование в среде Delphi / С.В. Колосов// М.: БГУИР, 2001. – 48с.

5          Программирование в среде DELPHI. Лабораторный практикум для студентов всех специальностей/ А.Б. Закалюкин, С.В. Колосов, А.А. Навроцкий, А.К. Синицын, А.И. Шакирин; Под общ. ред. А.К ... – Мн.: БГУИР, 1998. – 94 с.


Приложение А

 (обязательное)

unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls, Buttons, jpeg;

type

  TForm1 = class(TForm)

    Button1: TButton;

    Memo1: TMemo;

    Button3: TButton;

    RadioGroup1: TRadioGroup;

    Edit1: TEdit;

    Label1: TLabel;

    Image2: TImage;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    BitBtn3: TBitBtn;

    BitBtn4: TBitBtn;

    BitBtn5: TBitBtn;

    Timer1: TTimer;

    Timer2: TTimer;

    Button2: TButton;

    Edit2: TEdit;

    Button4: TButton;

    procedure FormCreate(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Timer2Timer(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

  const

  Nmax=5;

  n=5;

  Type

mas2 = array[1..Nmax] of integer;

var

  Form1: TForm1;

 A:mas2;

d,s,j,k,b,w,h1,h2,bn,h3,h4,d1,h5:integer;

b1,b2:tbitmap;

implementation

{$R *.dfm}

   procedure TForm1.FormCreate(Sender: TObject);

begin

b:=5000;

memo1.Clear;

edit1.clear;

edit2.Clear;

Memo1.Lines.Add("Âàø áàíê ñîñòàâëÿåò 5000") ;

b1:=tbitmap.create;

b1.LoadFromFile("D:suirêóðñîâàÿíîâàÿ ïàïêà12345.bmp");

b2:=tbitmap.create;

b2.LoadFromFile("D:suirêóðñîâàÿíîâàÿ ïàïêà54321.bmp");

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

      bn:=b;

s:=StrToint(Edit1.Text);

b:=b-s;

Memo1.Lines.Add("Ñòàêà â ðàçìåðå "+inttostr(s)+" ïðèíÿòà.Ïðè âûéãðûøå âû ïîëó÷èòå "+inttostr(2*s));

h1:=0;

h2:=0;

h3:=0;

h4:=0;

h5:=0;

case radiogroup1.itemindex of

0:h1:=s;

1:h2:=s;

2:h3:=s ;

3:h4:=s;

4:h5:=s;

end;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

var n,j:integer;

begin

while (bitbtn1.Left<400) and (bitbtn2.Left<400) and (bitbtn3.Left<400) and (bitbtn4.Left<400) and (bitbtn5.Left<400) do begin

  bitbtn1.Glyph:=b2;  bitbtn1.Repaint;

   bitbtn2.Glyph:=b2; bitbtn2.Repaint;

    bitbtn3.Glyph:=b2;bitbtn3.Repaint;

     bitbtn4.Glyph:=b2;   bitbtn4.Repaint;

      bitbtn5.Glyph:=b2;    bitbtn5.Repaint;

    sleep(200)   ;

 bitbtn1.Left:=bitbtn1.left+A[1];  bitbtn1.Repaint;

bitbtn2.Left:=bitbtn2.left+A[2];bitbtn2.Repaint;

bitbtn3.Left:=bitbtn3.left+A[3];bitbtn3.Repaint;

bitbtn4.Left:=bitbtn4.left+A[4];bitbtn4.Repaint;

bitbtn5.Left:=bitbtn5.left+A[5];bitbtn5.Repaint;

bitbtn1.Glyph:=b1;   bitbtn1.Repaint;

bitbtn2.Glyph:=b1; bitbtn2.Repaint;

bitbtn3.Glyph:=b1;        bitbtn3.Repaint;

bitbtn4.Glyph:=b1;               bitbtn4.Repaint;

bitbtn5.Glyph:=b1;               bitbtn5.Repaint;

sleep(200);

end;

while (bitbtn1.Left<824) and (bitbtn2.Left<824) and (bitbtn3.Left<824) and (bitbtn4.Left<824) and (bitbtn5.Left<824) do begin

  bitbtn1.Glyph:=b2;  bitbtn1.Repaint;

   bitbtn2.Glyph:=b2; bitbtn2.Repaint;

    bitbtn3.Glyph:=b2;bitbtn3.Repaint;

     bitbtn4.Glyph:=b2;   bitbtn4.Repaint;

      bitbtn5.Glyph:=b2;    bitbtn5.Repaint;

    sleep(200)   ;

 bitbtn1.Left:=bitbtn1.left+A[1];  bitbtn1.Repaint;

bitbtn2.Left:=bitbtn2.left+A[2];bitbtn2.Repaint;

bitbtn3.Left:=bitbtn3.left+A[3];bitbtn3.Repaint;

bitbtn4.Left:=bitbtn4.left+A[4];bitbtn4.Repaint;

bitbtn5.Left:=bitbtn5.left+A[5];bitbtn5.Repaint;

bitbtn1.Glyph:=b1;   bitbtn1.Repaint;

bitbtn2.Glyph:=b1; bitbtn2.Repaint;

bitbtn3.Glyph:=b1;        bitbtn3.Repaint;

bitbtn4.Glyph:=b1;               bitbtn4.Repaint;

bitbtn5.Glyph:=b1;               bitbtn5.Repaint;

sleep(200);

end;

timer2.Enabled:=true;

  timer1.Enabled:=false;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

k:=0;

randomize;

bn:=b;

 for j:=1 to n do A[j]:=random(4)+15 ;

timer1.enabled:=true;

end;

procedure TForm1.Timer2Timer(Sender: TObject);

var l,j,n:integer;

begin

l:=1;

if k

timer1.Enabled:=true;

             if    bitbtn1.Left+5>824 then begin sleep(2000);

b:=b+2*h1;

k:=l;

 timer2.Enabled:=false;

memo1.Lines.add("âûéãðàëà ëîøàäü ¹1") ;

end;

       if    bitbtn2.Left+5>824 then begin sleep(2000);

b:=b+2*h2;

k:=l;

 timer2.Enabled:=false;

memo1.Lines.add("âûéãðàëà ëîøàäü ¹2") ;

end;

           if    bitbtn4.Left+5>824 then begin sleep(500);

b:=b+2*h4;

k:=l;

 timer2.Enabled:=false;

memo1.Lines.add("âûéãðàëà ëîøàäü ¹4") ;

end;

         if    bitbtn5.Left+5>824 then begin sleep(500);

b:=b+2*h5;

k:=l;

 timer2.Enabled:=false;

memo1.Lines.add("âûéãðàëà ëîøàäü ¹5") ;

end;

       if    bitbtn3.Left+5>824 then begin sleep(500);

b:=b+2*h3;

k:=l;

 timer2.Enabled:=false;

memo1.Lines.add("âûéãðàëà ëîøàäü ¹3") ;

end;

 if    bitbtn1.Left+5>824 then  showmessage("Âûéãðàëà ëîøàäü ¹1")       ;

 if    bitbtn2.Left+5>824 then  showmessage("Âûéãðàëà ëîøàäü ¹2")       ;

 if    bitbtn4.Left+5>824 then  showmessage("Âûéãðàëà ëîøàäü ¹4")       ;

 if    bitbtn5.Left+5>824 then  showmessage("Âûéãðàëà ëîøàäü ¹5")       ;

 if    bitbtn3.Left+5>824 then  showmessage("Âûéãðàëà ëîøàäü ¹3")       ;

memo1.Lines.add("Âàø áàíê ñîñòàâëÿåò "+inttostr(b))     ;

        bitbtn1.Left:=86;

        bitbtn2.Left:=86;

        bitbtn3.Left:=86;

        bitbtn4.Left:=86;

        bitbtn5.Left:=86;

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

  d1:=strtoint(edit2.text);

  d:=d+d1;

  b:=b+d1;

  memo1.Lines.add("Âû âçÿëè â äîëã "+inttostr(d1)+".íå çàáóäüòå âåðíóòü äîëã."+"Âàøü áàíê ñîñòàâëÿåò "+inttostr(b))             ;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

b:=b-d;

memo1.Lines.Add("Ïðèÿòíî áûëî èìåòü ñ âàìè äåëî.Âàø áàíê ñîñòàâëÿåò "+inttostr(b))  ;

end;

end.

Информация о файле
Название файла Разработка программного средства для долговременного хранения и обработки информации от пользователя Гость
Дата добавления 10.5.2020, 19:54
Дата обновления 10.5.2020, 19:54
Тип файла Тип файла (zip - application/zip)
Скриншот Не доступно
Статистика
Размер файла 251.83 килобайт (Примерное время скачивания)
Просмотров 413
Скачиваний 99
Оценить файл