Разработка игры "Гонка на время с препятствиями"

Разработка объектно-ориентированной программы на языке С++, которая реализирует инкапсуляцию, наследование и полиморфизм. Выделение компонентов - абстрактных единиц, выполняющих определенный набор действий. Реализация основного алгоритма функционирования.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 24.11.2010
Размер файла 273,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

WORD getX() {return x;}

/*-------------------------------------------------------------

- Eeann CRoadObject. Iaoia getY

- ooieoey, aica?auaao oaeouo? eii?aeiaoo Y

-------------------------------------------------------------*/

WORD getY() {return y;}

/*------------------------------------------------------------

- Eeann CRoadObject. Iia?aoi? n?aaiaiey ==

-------------------------------------------------------------*/

bool operator==(CRoadObject& a)

{

if ( (x == a.getX()) && (y == a.getY()) )

return 1;

else

return 0;

}

/*------------------------------------------------------------

- Eeann CRoadObject. Ae?ooaeuiue aano?oeoi?

-------------------------------------------------------------*/

virtual ~CRoadObject() {}

};

typedef CRoadObject* PCRoadObject; //oei- oeacaoaeu ia iauaeo eeanna CRoadObect

/************************************************************

* Eeann - aiii?iay iaoeia (oianeaaiaai io CRoadObject)

***********************************************************/

classCCar: public CRoadObject

{

private:

WORD speed; //oaeouay nei?inou

WORD fuelLevel; //oaeouee o?iaaiu oiieeaa

WORD damageLevel; //oaeouee o?iaaiu iia?a?aaiey

WORD maxSpeed; // iaeneiaeuii aicii?iay nei?inou

WORD maxFuelLev;// nmaxSpeed

WORD maxDamageLev; // iaeneiaeuii aicii?iue o?iaaiu iia?a?aaiey

WORD color; //oaao iaoeiu

// no?iee aey o?aiaiey cia?aiee iieae iauaeoa, auaiaeiuo ia ye?ai, a no?ieiaii aeaa

char* speedStr;

char* fuelLevelStr;

char* damageLevelStr;

/*-------------------------------------------------------------

- Eeann CCar. Ae?ooaeuiue iaoia draw

- ooieoey, io?eniauaa?uay iauaeo ia ye?aia

-pDC - oeacaoaeu ia eiioaeno ono?ienoaa, ia eoi?ii aoaao

-i?ienoiaeou ioia?a?aiea

---------------------------------------------------------------*/

virtual void draw(CDC* pDC);

public:

/*-------------------------------------------------------------

- Eeann CCar.

- eiino?oeoi?, i?ioaao?a eieoeaeecaoee iieae iauaeoa

- xx,yy - ia?aeuiua eii?aeiaou iaoeiu

- nmaxSpeed - iaeneiaeuiay neie?inou

- maxFuelLev - iaeneiaeuiue o?iaaiu oiieeaa

- nmaxDamageLev - iaeneiaeuiue o?iaaiu iia?a?aaiey

-------------------------------------------------------------*/

CCar(WORD xx=0, WORD yy=0, WORD nmaxSpeed=0, WORD nmaxFuelLev=0,

WORD nmaxDamageLev=0, WORD ccolor=0): CRoadObject(xx,yy),

maxFuelLev(nmaxFuelLev), maxSpeed(nmaxSpeed),

maxDamageLev(nmaxDamageLev), color(ccolor),

speed(0), fuelLevel(nmaxFuelLev), damageLevel(0)

{

// auaaeaiea iaiyoe iia iiey

speedStr= (char*)malloc(3);

fuelLevelStr= (char*)malloc(4);

damageLevelStr= (char*)malloc(3);

};

/*-------------------------------------------------------------

- Eeann CCar. Iaoia getSpeed

- ooieoey, aica?auaao oaeouo? nei?inou iaoeiu

-------------------------------------------------------------*/

WORD getSpeed() { return speed; }

/*-------------------------------------------------------------

- Eeann CCar. Iaoia getDamage

- ooieoey, aica?auaao oaeouee o?iaaiu iia?a?aaiey iaoeiu

-------------------------------------------------------------*/

WORD getDamage() { return damageLevel; }

/*-------------------------------------------------------------

- Eeann CCar. Iaoia getFuel

- ooieoey, aica?auaao oaeouee o?iaaiu oiieeaa

-------------------------------------------------------------*/

WORD getFuel() { return fuelLevel; }

/*-------------------------------------------------------------

- Eeann CCar. Iaoia changeSpeed

- ooieoey, eciaiyao oaeouo? nei?inou

- speedChange - aaee?eia eciaiaiey nei?inoe

-------------------------------------------------------------*/

void changeSpeed(int speedChange);

/*-------------------------------------------------------------

- Eeann CCar. Iaoia changeFuelLev

- ooieoey, eciaiyao oaeouee o?iaaiu oiieeaa

- fuelChange - aaee?eia eciaiaiey o?iaiy oiieeaa

-------------------------------------------------------------*/

void changeFuelLev(int fuelChange);

/*-------------------------------------------------------------

- Eeann CCar. Iaoia nhangeDamageLev

- ooieoey, eciaiyao oaeouee o?iaaiu iia?a?aaiey

- damageChange - aaee?eia eciaiaiey o?iaiy iia?a?aaiey

-------------------------------------------------------------*/

void changeDamageLev(int damgeChange);

/*-------------------------------------------------------------

- Eeann CCar. Iaoia isDestroyed

- ooieoey, aica?auaao true a neo?aa, anee iaoeia ?ac?ooaia

-------------------------------------------------------------*/

bool isDestroyed() {

return( damageLevel >= maxDamageLev ? 1 : 0); }

/*-------------------------------------------------------------

- Eeann CCar. Iaoia isEmpty

- ooieoey, aica?auaao true a neo?aa,anee o iaoeiu iao oiieeaa

-------------------------------------------------------------*/

bool isEmpty() {

return( fuelLevel == 0 ? 1 : 0); }

/*-------------------------------------------------------------

- Eeann CCar. Iaoia getSpeedStr

- ooieoey, aica?auaao oaeouo? nei?inou iaoeiu

-------------------------------------------------------------*/

CString getSpeedStr() {

CString s1;

_ultoa(speed,speedStr,10);

return (s1 = speedStr );

}

/*-------------------------------------------------------------

- Eeann CCar. Iaoia getDamageStr

- ooieoey, aica?auaao oaeouee o?iaaiu iia?a?aaiey iaoeiu

-------------------------------------------------------------*/

CString getDamageStr() {

CString s1;

_ultoa(damageLevel,damageLevelStr,10);

return (s1 = damageLevelStr );

}

/*-------------------------------------------------------------

- Eeann CCar. Iaoia getFuelStr

- ooieoey, aica?auaao oaeouee o?iaaiu oiieeaa

-------------------------------------------------------------*/

CString getFuelStr() {

CString s1;

_ultoa(fuelLevel,fuelLevelStr,10);

return (s1 = fuelLevelStr );

}

/*------------------------------------------------------------

- Eeann CCar. Ae?ooaeuiue aano?oeoi?

-------------------------------------------------------------*/

virtual ~CCar() {

free(speedStr);

free(fuelLevelStr);

free(damageLevelStr);

}

};

typedef CCar* PCCar;//oei- oeacaoaeu ia iauaeo eeanna CCar}

/***********************************************************

* Eeann - ai?i?iia i?aiyonoaea (oianeaaiaai io CRoadObject )

***********************************************************/

class CBar :public CRoadObject

{

protected:

bool damagedByCar; //i?eciae iia?a?aaiey iaaoaaoae iaoeiie}

/*-------------------------------------------------------------

- Eeann CBar. Ae?ooaeuiue iaoia draw

- ooieoey, io?eniauaa?uay iauaeo ia ye?aia

-pDC - oeacaoaeu ia eiioaeno ono?ienoaa, ia eoi?ii aoaao

-i?ienoiaeou ioia?a?aiea

---------------------------------------------------------------*/

virtual void draw(CDC* pDC);

/*-------------------------------------------------------------

- Eeann CBar. Ae?ooaeuiue iaoia onCarCollision

- ooieoey, aucuaaaony i?e "noieeiiaaiee" iaoeiu e iauaeoa e

- auiieiyao niioaaonao?uea aaenoaey iaa naiei iauaeoii e iaoeiie

---------------------------------------------------------------*/

virtual void onCarCollision(PCCar car);;

public:

/*-------------------------------------------------------------

- Eeann CBar.

- eiino?oeoi?, i?ioaao?a eieoeaeecaoee iieae iauaeoa

- xx,yy - ia?aeuiua eii?aeiaou ei?iaaie oi?ee iauaeoa

-------------------------------------------------------------*/

CBar(WORD xx=0 , WORD yy =0): CRoadObject(xx, yy), damagedByCar(false) {}

/*-------------------------------------------------------------

- Eeann CBar. Iaoia checkForCarCollision

- ooieoey, n?aaieaaao eii?aeiaou iauaeoa e iaoeiu e i?e eo

- niaiaaaiee aucuaaao ae?ooaeuiue iaoia onCarCollision

- car - oeacaaoeu ia iauaeo-aiii?io? iaoeio

-------------------------------------------------------------*/

void checkForCarCollision( PCCar car) {

//n?aaieaaai eii?aeiaou iauaeoa e iaoeiu

if ((*car) == (*this ))

onCarCollision( car ); // aucuaaai ae?o. iaoia

}

/*------------------------------------------------------------

- Eeann CBar. Ae?ooaeuiue aano?oeoi?

-------------------------------------------------------------*/

virtual ~CBar() { }

};

//typedef CBar* PCBar; //oei- oeacaoaeu ia iauaeo eeanna CBar

/************************************************************

* Eeann - oiieeaiay eaieno?a (oianeaaiaai io NBar)

***********************************************************/

class CFuelBar : public CBar

{

private:

WORD capacity;//aieinou eaieno?u n oiieeaii

/*-------------------------------------------------------------

- Eeann CFuelBar. Ae?ooaeuiue iaoia draw

- ooieoey, io?eniauaa?uay iauaeo ia ye?aia

-pDC - oeacaoaeu ia eiioaeno ono?ienoaa, ia eoi?ii aoaao

-i?ienoiaeou ioia?a?aiea

---------------------------------------------------------------*/

virtual void draw(CDC* pDC);

/*-------------------------------------------------------------

- Eeann CFuelBar. Ae?ooaeuiue iaoia onCarCollision

- ooieoey, aucuaaaony i?e "noieeiiaaiee" iaoeiu e iauaeoa e

- auiieiyao niioaaonao?uea aaenoaey iaa naiei iauaeoii e iaoeiie

---------------------------------------------------------------*/

virtual void onCarCollision( PCCar car );

public:

/*-------------------------------------------------------------

- Eeann CFuelBar.

- ooieoey, i?ioaao?a eieoeaeecaoee iieae iauaeoa

- xx,yy - ia?aeuiua eii?aeiaou ei?iaaie oi?ee iauaeoa

- cap - aieinou oiieeaiie eaieno?u

-------------------------------------------------------------*/

CFuelBar(WORD xx=0, WORD yy=0,WORD cap=50): CBar(xx,yy),

capacity(cap) {}

/*-------------------------------------------------------------

- Eeann CFuelBar. Iaoia getCap

- ooieoey, aica?auaao aieinou eaieno?u

-------------------------------------------------------------*/

WORD getCap();

/*------------------------------------------------------------

- Eeann CFuelBar. Ae?ooaeuiue aano?oeoi?

-------------------------------------------------------------*/

virtual ~CFuelBar() { }

};

typedef CFuelBar* PCFuelBar;

/************************************************************

* Eeann - ai?i?iay ?aciaoea (oianeaaiaai io CBar)

***********************************************************/

class CMarking: public CBar

{

private:

int markingType; //oei ?aciaoee

/*-------------------------------------------------------------

- Eeann CMarking. Ae?ooaeuiue iaoia draw

- ooieoey, io?eniauaa?uay iauaeo ia ye?aia

--------------------------------------------------------------*/

virtual void draw(CDC* pDC);

/*-------------------------------------------------------------

- Eeann CMarking. Ae?ooaeuiue iaoia onCarCollision

- ooieoey, aucuaaaony i?e "noieeiiaaiee" iaoeiu e iauaeoa e

- auiieiyao niioaaonao?uea aaenoaey iaa naiei iauaeoii e iaoeiie

---------------------------------------------------------------*/

virtual void onCarCollision(PCCar car );;

public:

/*-------------------------------------------------------------

- Eeann CMarking.

- eiino?oeoi?, i?ioaao?a eieoeaeecaoee iieae iauaeoa

- xx,yy - ia?aeuiua eii?aeiaou ei?iaaie oi?ee iauaeoa

- markType - oei ai?i?iie ?aciaoee(aicii?iua cia?aiey:

- 0- ?acaaeeoaeuiay,1-eaaue ioaieiee,2-i?aaue

ioaieiee, 3- oeieoiay ?a?oa)

-------------------------------------------------------------*/

CMarking(WORD xx = 0,WORD yy = 0,WORD markType = 0):

CBar(xx, yy), markingType(markType) {}

/*------------------------------------------------------------

- Eeann CMarking. Ae?ooaeuiue aano?oeoi?

-------------------------------------------------------------*/

virtual ~CMarking() { }

};

typedef CMarking* PCMarking;

/*********************************************************

*

* Oaee: roadobj.cpp

* Iienaiea:

* oaee niaa??eo eiieaiaioaoe? iaoiaia eeanna NRoadObject

*e anao aai ianeaaieeia

*

**********************************************************/

#include "stdafx.h"

#include "RoadObj.h"

//**********************************************************//

//******************* CCar implementation *********************//

//**********************************************************//

/*-------------------------------------------------------------

- Eeann CCar. Ae?ooaeuiue iaoia draw

- ooieoey, io?eniauaa?uay iauaeo ia ye?aia

-pDC - oeacaoaeu ia eiioaeno ono?ienoaa, ia eoi?ii aoaao

-i?ienoiaeou ioia?a?aiea

---------------------------------------------------------------*/

void CCar::draw(CDC* pDC)

{

HPEN pen = CreatePen(PS_SOLID, 1, RGB(255,255,0));

HBRUSH brush;

switch(color)

{

case 0:

brush = CreateSolidBrush(RGB(15,172,240));

break;

case 1:

brush = CreateSolidBrush(RGB(171,251,4));

break;

default:

brush = CreateSolidBrush(RGB(255,10,10));

break;

}

/*HPEN oldPen = */SelectObject(*pDC,pen);

/*HBRUSH oldBrush = */SelectObject(*pDC, brush);

//?enoai eieieo

Rectangle(*pDC,x+3*GRIDX/8,y,x+5*GRIDY/8,y+GRIDY);

//?enoai eieana

HPEN penWheel = CreatePen(PS_SOLID, 5, RGB(0,0,0));

HBRUSH brushWheel = CreateSolidBrush(RGB(15,172,240));

SelectObject(*pDC,penWheel);

SelectObject(*pDC,brushWheel);

Rectangle(*pDC,x+2,y+2,x+4,y+4);

Rectangle(*pDC,x+GRIDX-2,y+2,x+GRIDX-4,y+4);

Rectangle(*pDC,x+2,y+GRIDY-2,x+4,y+GRIDY-4);

Rectangle(*pDC,x+GRIDX-2,y+GRIDY-2,x+GRIDX-4,y+GRIDY-4);

//DeleteObject(SelectObject(*pDC,oldPen));

//DeleteObject(SelectObject(*pDC,oldBrush));

}

/*-------------------------------------------------------------

- Eeann CCar. Iaoia changeSpeed

- ooieoey, eciaiyao oaeouo? nei?inou

- speedChange - aaee?eia eciaiaiey nei?inoe

-------------------------------------------------------------*/

void CCar::changeSpeed(int speedChange)

{

//i?iaa?yai, ia auoiaeo ee iiaia cia?aiea nei?inoe ca i?aaaeu

if (speed + speedChange > maxSpeed)

speed = maxSpeed;

else if (speed + speedChange < 0)

speed = 0;

else

speed = speed + speedChange;

}

/*-------------------------------------------------------------

- Eeann CCar. Iaoia changeFuelLev

- ooieoey, eciaiyao oaeouee o?iaaiu oiieeaa

- fuelChange - aaee?eia eciaiaiey o?iaiy oiieeaa

-------------------------------------------------------------*/

void CCar::changeFuelLev(int fuelChange)

{

/*i?iaa?yai, ia auoiaeo ee iiaia cia?aiea o?iaiy oiieeaa

ca aiionoeiua i?aaaeu*/

if (fuelLevel + fuelChange > maxFuelLev) fuelLevel = maxFuelLev;

else if (fuelLevel + fuelChange < 0)

fuelLevel = 0;

else

fuelLevel = fuelLevel + fuelChange;

}

/*-------------------------------------------------------------

- Eeann CCar. Iaoia nhangeDamageLev

- ooieoey, eciaiyao oaeouee o?iaaiu iia?a?aaiey

- damageChange - aaee?eia eciaiaiey o?iaiy iia?a?aaiey

-------------------------------------------------------------*/

void CCar::changeDamageLev(int damgeChange)

{

/*i?iaa?yai, ia auoiaeo ee iiaia cia?aiea o?iaiy iia?a?aaiey

ca aiionoeiua i?aaaeu*/

if (damageLevel + damgeChange > maxDamageLev)

damageLevel = maxDamageLev;

else if (damageLevel + damgeChange < 0)

damageLevel = 0;

else

damageLevel = damageLevel + damgeChange;

}

//*********************************************************//

//****************** CBar implementation **********************//

//**********************************************************//

/*-------------------------------------------------------------

- Eeann CBar. Ae?ooaeuiue iaoia draw

- ooieoey, io?eniauaa?uay iauaeo ia ye?aia

-pDC - oeacaoaeu ia eiioaeno ono?ienoaa, ia eoi?ii aoaao

-i?ienoiaeou ioia?a?aiea

---------------------------------------------------------------*/

void CBar::draw(CDC* pDC)

{

COLORREF oldCol;

RECT rect = {x,y,x+GRIDX,y+GRIDY};

HPEN pen = CreatePen(PS_SOLID, 5, RGB(60,153,60));

SelectObject(*pDC,pen);

HBRUSH brush = CreateHatchBrush (HS_BDIAGONAL,RGB(200,100,10));

oldCol=SetBkColor(*pDC,RGB(30,30,30));

FillRect(*pDC,&rect,brush);

SetBkColor(*pDC,oldCol);

DeleteObject(pen);

DeleteObject(brush);

}

/*-------------------------------------------------------------

- Eeann CBar. Ae?ooaeuiue iaoia onCarCollision

- ooieoey, aucuaaaony i?e "noieeiiaaiee" iaoeiu e iauaeoa e

- auiieiyao niioaaonao?uea aaenoaey iaa naiei iauaeoii e iaoeiie

---------------------------------------------------------------*/

void CBar::onCarCollision(PCCar car)

{

(*car).changeDamageLev(+1);

}

//*********************************************************//

//****************** CFuelBar implementation ******************//

//*********************************************************//

/*-------------------------------------------------------------

- Eeann CFuelBar. Ae?ooaeuiue iaoia draw

- ooieoey, io?eniauaa?uay iauaeo ia ye?aia

-pDC - oeacaoaeu ia eiioaeno ono?ienoaa, ia eoi?ii aoaao

-i?ienoiaeou ioia?a?aiea

---------------------------------------------------------------*/

void CFuelBar::draw(CDC* pDC)

{

HBRUSH brush = CreateHatchBrush (HS_BDIAGONAL,RGB(20,150,120));

SelectObject(*pDC,brush);

Ellipse(*pDC,x,y,x+GRIDX,y+GRIDY);

TextOut(*pDC,x+2,y+2,"F",1);

DeleteObject(brush);

}

/*-------------------------------------------------------------

- Eeann CFuelBar. Ae?ooaeuiue iaoia onCarCollision

- ooieoey, aucuaaaony i?e "noieeiiaaiee" iaoeiu e iauaeoa e

- auiieiyao niioaaonao?uea aaenoaey iaa naiei iauaeoii e iaoeiie

---------------------------------------------------------------*/

void CFuelBar::onCarCollision( PCCar car )

{

(*car).changeFuelLev(+capacity);

}

/*-------------------------------------------------------------

- Eeann CFuelBar. Iaoia getCap

- ooieoey, aica?auaao aieinou eaieno?u

-------------------------------------------------------------*/

WORD CFuelBar::getCap() { return capacity;}

//*********************************************************//

//**************** CMarking implementation ********************//

//*********************************************************//

/*-------------------------------------------------------------

- Eeann CMarking. Ae?ooaeuiue iaoia draw

- ooieoey, io?eniauaa?uay iauaeo ia ye?aia

--------------------------------------------------------------*/

void CMarking::draw(CDC* pDC)

{

HBRUSH brush;

RECT rect1 = { x+(GRIDX/2)-3,y,x+(GRIDX/2)+3,y+(GRIDX/2) };

RECT rect2 = { x,y,x+GRIDX,y+(GRIDY/2) };

RECT rect3 = {x,y+(GRIDY/2)+1,x+GRIDX,y+GRIDY};

RECT rect4 = {x,y,x+(GRIDX/2),y+(GRIDX/2)};

RECT rect5 = {x+(GRIDX/2)+1,y+(GRIDX/2),x+GRIDX,y+GRIDY};

//io?eniauaaai ?aciaoeo a caaeneiinoe io aa oeia

switch(markingType)

{

case 0:

brush = CreateSolidBrush(RGB(255,255,255));

SelectObject(*pDC,brush);

FillRect(*pDC,&rect1,brush);

DeleteObject(brush);

break;

case 1:

brush = CreateSolidBrush(RGB(255,0,0));

SelectObject(*pDC,brush);

FillRect(*pDC,&rect2,brush);

DeleteObject(brush);

brush = CreateSolidBrush(RGB(255,255,255));

SelectObject(*pDC,brush);

FillRect(*pDC,&rect3,brush);

DeleteObject(brush);

break;

case 2:

brush = CreateSolidBrush(RGB(255,0,0));

SelectObject(*pDC,brush);

FillRect(*pDC,&rect2,brush);

DeleteObject(brush);

brush = CreateSolidBrush(RGB(255,255,255));

SelectObject(*pDC,brush);

FillRect(*pDC,&rect3,brush);

DeleteObject(brush);

break;

case 5:

brush = CreateSolidBrush(RGB(255,255,255));

SelectObject(*pDC,brush);

FillRect(*pDC,&rect4,brush);

FillRect(*pDC,&rect5,brush);

DeleteObject(brush);

break;

default :

break;

}

}

/*-------------------------------------------------------------

- Eeann CMarking. Ae?ooaeuiue iaoia onCarCollision

- ooieoey, aucuaaaony i?e "noieeiiaaiee" iaoeiu e iauaeoa e

- auiieiyao niioaaonao?uea aaenoaey iaa naiei iauaeoii e iaoeiie

---------------------------------------------------------------*/

void CMarking::onCarCollision(PCCar car )

{

switch(markingType)

{

case 1: // anee iaoeia iaaoaea ia eaaue ioaieiee

car->move(+GRIDX,0,true); // ioa?anuaaai aa ai?aai

car->changeSpeed(-2); // nie?aai aa neie?inou

break;

case 2: // anee iaoeia iaaoaea ia i?aaue ioaieiee

car->move(-GRIDX,0,true);// ioa?anuaaai aa aeaai

car->changeSpeed(-2);// nie?aai aa neie?inou

break;

}

}

/***********************************************************

*

* Oaee: road.h

* Iienaiea:

* niaa??eo iienaiea iaoiaia eeanna CRoad

*

***********************************************************/

#ifndef _ROAD_H_

#define _ROAD_H_

#include "frace_defs.h"

#include "roadobj.h"

#include "user.h"

/************************************************************

* Eeann - ai?iaa

************************************************************/

class CRoad

{

private:

WORD x,y; //eii?aeiaou eaaiai aa?oiaai oaea ia ye?aia

CBar* objs[ MAX_ROAD_OBJECTS ]; // iannea ai?i?iuo iauaeoia

CCar* carOnRoad ; // oeacaoaeu ia iauaeo-aiii?io? iaoeio ia ai?iaa

WORD width,height; // oe?eia e aunioa ia ye?aia (a aaeieoao naoee)

WORD lenght; //aeeia o?annu

WORD passed; // aeeia i?ieaaiiie ?anoe o?annu (a aaeieoao naoee)

CMyTime maxRaceTime;

/*-------------------------------------------------------------

- Eeann CRoad. Iaoia removeOldObjs

- i?ioaao?a, oaaeyao iaaeaeiua aieuoa (i?ieaaiiua) ai?i?iua

- iauaeou ec ianneaa objs[]

-------------------------------------------------------------*/

void removeOldObjs();

/*-------------------------------------------------------------

- Eeann CRoad. Iaoia generateNewObjs

- i?ioaao?a , nicaaao e neo?aeiui ia?acii ?aniieaaaao ai?i?iua

- iauaeou ia iiaii aeaeiii o?anoea o?annu

-------------------------------------------------------------*/

void generateNewObjs();

/*-------------------------------------------------------------

- Eeann CRoad Iaoia findFirstNil

- ooieoey, aic?auaao eiaaen ia?aiai naiaiaiiai yeaiaioa a

- ianneaa objs[]; a neo?aa ionoonoaey naiaiaiuo ye-ia: -1

-------------------------------------------------------------*/

int findFirstNil();

public:

/*-------------------------------------------------------------

- Eeann CRoad.

- eiino?oeoi?, i?ioaao?a eieoeaeecaoee iieae iauaeoa

- xx,yy - eii?aeiaou eaaiai aa?oiaai oaea ia ye?aia

- widthInGridX - oe?eia a aaeieoao naoee (GRIDX)

- heightInGridY- aunioa a aaeieoao naoee (GRIDY)

- lenghtInGridY- aeeia o?annu

- car - oeacaoaeu ia iauaeu-aiii?io? iaoeio ia o?anna

-------------------------------------------------------------*/

CRoad(WORD xx=0,WORD yy=0,WORD widthInGridX=10,WORD heightInGridY=20,

WORD lenghtInGridY=100,CCar* car=NULL);

/*-------------------------------------------------------------

- Eeann CRoad. Iaoia showRoad

- i?ioaao?a, ioia?a?aao ai?i?iia iieioii aianoa ni anaie

- ai?i?iuie iauaeoaie

-------------------------------------------------------------*/

void showRoad(CDC* pDC);

/*-------------------------------------------------------------

- Eeann CRoad. Iaoia listDown

- i?ioaao?a, eieoe?oao aae?aiea iaoeiu ii o?anna (i?ienoiaeo

- ia?aiauaiea anao ai?i?iuo iauaeoia aiec ii ye?aio, oaaeaiea

- auoaaoeo ec iiey aeaeiinoe iauaeoia e aaia?aoey iiauo )

-------------------------------------------------------------*/

void listDown();

/*-------------------------------------------------------------

- Eeann CRoad. Iaoia isFinished

- Ooieoey,aica?auaao true,anee o?anna i?ieaaia aiii?iie iaoeiie

- (o.a anee iaoeia oeieoe?iaaea)

-------------------------------------------------------------*/

bool isFinished() { return ((passed==lenght) ? true : false); }

/*-------------------------------------------------------------

- Eeann CRoad. Iaoia isRaceTimeElapsed

- Ooieoey,aica?auaao true,anee a?aiy iieuciaaoaey a ea?a

- i?aauneei iaeneiaeuii aiionoeiia a?aiy i?ioi?aaiey aaiiie o?annu

-userTime - iauaeo-a?aiy iieuciaaoaey a ea?a

-------------------------------------------------------------*/

bool isRaceTimeElapsed(CMyTime userTime)

{

if ( (maxRaceTime - userTime) < 100 ) return true;

else return false;

}

/*-------------------------------------------------------------

- Eeann CRoad. Iaoia getMaxRaceTimeStr

- Ooieoey,aica?auaao iaeneiaeuii aicii?iia a?aiy i?ioi?aaiey

- o?annu a no?ieiaii oi?iaoa

-------------------------------------------------------------*/

CString getMaxRaceTimeStr() { return maxRaceTime.getTimeStr(); }

/*-------------------------------------------------------------

- Eeann CRoad.

- aano?oeoi?, inaiai?aaao iaiyou, auaaeaiio? aeiaie?anee

- i?e ?ecie iauaeoa

-------------------------------------------------------------*/

~CRoad();

};

typedef CRoad* PCRoad; //oei-oeacaoaeu ia iauaeo eeanna CRoad

/***********************************************************

*

* Oaee: road.cpp

* Iienaiea:

* niaa??eo eiieaiaioaoe? iaoiaia eeanna CRoad

*

***********************************************************/

#include "stdafx.h"

#include "road.h"

#include "time.h"

#include "stdlib.h"

/*-------------------------------------------------------------

- Eeann CRoad.


Подобные документы

  • Введение в объектно-ориентированное программирование. Постановка задачи. Описание алгоритма решения в псевдокоде (команды в виде текста на русском языке). Исходный текст программы на С. Тестирование программы. Модификация программы. Полиморфизм.

    курсовая работа [294,0 K], добавлен 08.09.2008

  • Разработка объектно-ориентированной модели информационной подсистемы учета студентов университета во время экзаменационной сессии с помощью программы Rational Rose 2000, с использованием языка UML. Порядок генерации программного кода на языке С++.

    курсовая работа [689,9 K], добавлен 21.06.2011

  • Разработка программы логической игры в "крестики-нолики" пять в ряд на поле размера 15х15 клеток с применением графики на языке Pascal с использованием объектно-ориентированного программирования. Структура алгоритма программы и описание ее работы.

    курсовая работа [821,5 K], добавлен 13.02.2012

  • Разработка объектно-ориентированной модели животного, которая объясняется построением модели игры Terrarium. Модель построена на базе концепций объектно-ориентированного программирования. Разработка компонента, моделирующего поведение животного.

    курсовая работа [23,2 K], добавлен 30.11.2008

  • Разработка и реализация компьютерной игры "Змейка" с помощью языка программирования Pascal и модуля CRT. Составление общего алгоритма программы, выделение ее функциональных частей. Разработка тестовых примеров. Использование типизированных файлов.

    курсовая работа [2,1 M], добавлен 23.02.2011

  • Что такое класс в объектно-ориентированном программировании. Какую структуру имеет модуль в С++. Какими средствами осуществляется консольный ввод данных в языке Си, С++. Инкапсуляция, полиморфизм, наследование. Использование библиотеки "".

    контрольная работа [1,9 M], добавлен 13.11.2016

  • Разработка объектно-ориентированной подсистемы складского учета для фирмы "КавказЮгАвто". Краткая характеристика предметной области. Построение диаграмм размещения, прецедентов, последовательности, компонентов и классов. Генерация программного кода C++.

    курсовая работа [6,6 M], добавлен 26.06.2011

  • Принципы и алгоритмы обработки прерываний. Набор действий по реализации этапов обработки прерываний микропроцессора. Разработка структуры и алгоритма резидентной программы. Реализация программы на языке Ассемблер, методы её отладки и тестирования.

    курсовая работа [348,7 K], добавлен 22.12.2014

  • Изучение принципов объектно-ориентированного программирования. Понятие класса в Delphi, в основе которых лежат три фундаментальные принципы - инкапсуляция, наследование и полиморфизм. Разработка классов транспортных средств и структур классов (кошки).

    курсовая работа [29,7 K], добавлен 29.10.2011

  • Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Класс программы, инструкция по использованию программы.

    курсовая работа [1,0 M], добавлен 26.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.