Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая ТП Францев Артем БСТ1801.docx
Скачиваний:
65
Добавлен:
12.03.2022
Размер:
1.98 Mб
Скачать

3.7 Класс MyForm

DrawFisher

Рисунок 20 - Схема алгоритма метода DrawFisher

DrawScreen

Рисунок 21 - Схема алгоритма метода DrawScreen

Graphics

Рисунок 22 - Схема алгоритма метода Graphics

Timer_Tick

Рисунок 23 - Схема алгоритма метода Timer_Tick

OnEventCatchFish

Рисунок 24 - Схема алгоритма метода OnEventCatchFish

btn_mltp_Click

Рисунок 25 - Схема алгоритма метода btn_mltp_Click

OnEventDeleteBoat

Рисунок 26 - Схема алгоритма метода OnEventDeleteBoat

CheckWin

Рисунок 27 - Схема алгоритма метода CheckWin

UpdateFishStr

Рисунок 28 - Схема алгоритма метода UpdateFishStr

UpdateTimeStr

Рисунок 29 - Схема алгоритма метода UpdateTimeStr

btn_exit_Click

Рисунок 30 - Схема алгоритма метода btn_exit_Click

btn_hide_Click

Рисунок 31 - Схема алгоритма метода btn_hide_Click

btn_newFishboat_Click

Рисунок 32 - Схема алгоритма метода btn_newFishboat_Click

SetFishboatButtons

Рисунок 33 - Схема алгоритма метода SetFishboatButtons

btn_delFishboat_Click

Рисунок 34 - Схема алгоритма метода btn_delFishboat_Click

btn_changePtr_ Click Рисунок 35 - Схема алгоритма метода btn_changePtr_Click

Рисунок 36 - Схема алгоритма метода btn_changePtr_Click

btn_changePos_Click

Рисунок 37 - Схема алгоритма метода btn_changePos_Click

TimerTickAction

Рисунок 38 - Схема алгоритма метода TimerTickAction

Рисунок 39 - Схема алгоритма метода TimerTickAction

btn_restart_Click

Рисунок 40 - Схема алгоритма метода btn_restart_Click

btn_SetNotRestartButtons_Click

Рисунок 41 - Схема алгоритма метода btn_SetNotRestartButtons_Click

  1. Текст программы

4.1 Класс Fisher

ref class Fisher

{

public:

delegate void Handler();

delegate void DeleteHandler(Object^ sender);

event Handler^ EventStopWork;

event DeleteHandler^ EventDeleteObject;

Fisher() {};

Fisher(Rain^ rain) {

worktime = 60 * FMAN_WORKHOURS;

state = 4;

lvl = 1;

xPos = 135;

yPos = PIRSE_Y;

fishCount = 0;

catching = 1;

xPosPtr = PTR_XPOS;

EventStopWork += gcnew Fisher::Handler(this, &Fisher::OnWorkStop);

rain->EventRainStart += gcnew Rain::Handler(this, &Fisher::OnWorkStop);

};

~Fisher() {};

void Catch() {

catching = 1;

fishCount += 1;

}

virtual void Move() {

yPosPtr += rand() % 3 - 1;

worktime -= 1;

}

void OnWorkStop() {

EventDeleteObject(this);

}

property int fishCount {

int get() { return _fishCount; }

void set(int value) { _fishCount = value; }

}

property int catching {

int get() {

return _catching;

}

void set(int value) {

_catching = value;

if (_catching) lvl = _lvl;

}

}

property int state {

int get() {

if (_catching) _state++;

if (_state > 4) _catching = 0;

if (!_catching && _state > 1) _state--;

return _state;

}

void set(int value) {

_state = value;

}

}

property int lvl {

int get() { return _lvl; }

void set(int value) {

_lvl = value;

ptrLen = 20 + (_lvl - 1) * 42 + rand() % 84;

yPosPtr = yPos + 15;

}

}

property int ptrLen {

int get() { return _ptrLen; }

void set(int value) {

_ptrLen = value;

}

}

property int xPosPtr {

int get() { return _xPosPtr; }

void set(int value) {

_xPosPtr = value;

}

}

property int yPosPtr {

int get() { return _yPosPtr; }

void set(int value) {

_yPosPtr = value;

if (_yPosPtr > 150) _yPosPtr = 150;

else if (_yPosPtr < 130) _yPosPtr = 130;

}

}

property int xPos {

int get() { return _xPos; }

void set(int value) { _xPos = value; }

}

property int yPos {

int get() { return _yPos; }

void set(int value) { _yPos = value; }

}

property int worktime {

int get() { return _wtime; }

void set(int value) {

_wtime = value;

if (_wtime <= 0) EventStopWork();

}

}

protected:

int _xPos; int _yPos;

int _wtime;

int _state;

int _catching;

int _xPosPtr;

int _yPosPtr;

int _fishCount;

int _ptrLen; int _lvl;

};