Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Краткая характеристика проектируемой системы).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.06.2023

Просмотров: 61

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

float x1,x2,y1,y2;

x1=navigator.car.x;

y1=navigator.car.y;

x2=navigator.car.point[navigator.car.target].get_x();

y2=navigator.car.point[navigator.car.target].get_y();

Edit3->Text=FloatToStrF( pow ( pow(x1-x2,2) + pow(y1-y2,2),0.5) ,ffFixed,4,2);

Edit2->Text=IntToStr(navigator.car.chislo);

Edit4->Text=FloatToStr(x1);

Edit5->Text=FloatToStr(y1);

Edit6->Text=FloatToStr(x2);

Edit7->Text=FloatToStr(y2);

if (navigator.car.move()==0) {

allow_move(0);

Timer1->Enabled=false;

}

if (navigator.car.move()==-1) {

navigator.car.stop();

allow_move(0);

navigator.show();

show_trees();

Timer1->Enabled=false;

ShowMessage("У вас закончилось топливо.Поездка остановлена!!");

}

navigator.show();

show_trees();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::ComboBox1Change(TObject *Sender)

{

if (!strcmp(ComboBox1->Text.c_str(),"A")) navigator.car.target=0;

else if(!strcmp(ComboBox1->Text.c_str(),"B")) navigator.car.target=1;

else if(!strcmp(ComboBox1->Text.c_str(),"C")) navigator.car.target=2;

else if(!strcmp(ComboBox1->Text.c_str(),"D")) navigator.car.target=3;

else if (!strcmp(ComboBox1->Text.c_str(),"E")) navigator.car.target=4;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

navigator.car.fuel=1000;

navigator.show();

show_trees();

}

Приложение В

Unit2.срр

#pragma hdrstop

#include "Unit2.h"

//---------------------------------------------------------------------------

CPoint::CPoint() {

x=y=0;

}

CPoint::CPoint(int x1,int y1) {

x=x1;

y=y1;

}

int CPoint::get_x() {

return x;

}

int CPoint::get_y() {

return y;

}

void CPoint::set(int x1,int y1) {

x=x1;

y=y1;

}

void CPoint::set_x(int x1){

x=x1;

}

void CPoint::set_y(int y1){

y=y1;

}

void CNavigator::operator<<(TImage *im) {

map<<im;

car<<im;

}

void CNavigator::show() {

map.show_map();

car.show();

}

Ccar::Ccar() {

vertical=false;

point = new CPoint[5];

point[0].set(3*10,3*10);

point[1].set(3*(100-10),3*10);

point[2].set(3*10,3*(100-10));

point[3].set(3*(100-10),3*(100-10));

point[4].set(3*50,3*50);

b=false;

x=3*(50-10);

y=3*(100-10);

fuel=250;

target=0;

v=0;

chislo=0;

}

Ccar::~Ccar() {

delete[] point;

}

void Ccar::stop() {

v=0;

b=0;

show();

}

int Ccar::move() {

if (fuel<1) {v=0;return -1;};

/////////

if (x==point[target].get_x())

if (y==point[target].get_y())

{

b=false;

v=0;

chislo=0;

return 0;

}

/////////

if (vertical==false)

/////////////========///////////

if (x<point[target].get_x())

x++;

else if (x>point[target].get_x())

x--;

else if (y>point[target].get_y())

{y--;vertical=true;}

else {vertical=true;y++;}

} else {

if (y>point[target].get_y()) y--;

else if (y<point[target].get_y()) y++;

else if (x<point[target].get_x())

{x++;vertical=false;}

else {x--;vertical=false;}

}

/////////////========///////////

b=true;

fuel--;

v=40+random(10);

chislo=200+random(100);

return 1;

}

void Ccar::show() {

if (!b) Image->Canvas->Brush->Color=clGreen;

else Image->Canvas->Brush->Color=clRed;

Image->Canvas->Ellipse(x-5,y-5,x+5,y+5);

Edit->Text=IntToStr(v);

ProgressBar->Position=fuel;

if (!b) {

Shape->Brush->Color=clLime;

Label->Caption="Машина стоит";