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

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

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

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

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

- 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::CRoad(WORD xx,WORD yy,WORD widthInGridX,WORD heightInGridY,

WORD lenghtInGridY,CCar* car): x(xx),y(yy),

width(widthInGridX), height(heightInGridY),lenght(lenghtInGridY),

carOnRoad(car), passed(0)

{

srand( (unsigned)time( NULL ) );

(*carOnRoad).move(x + 5*GRIDX,y+22*GRIDY,0);

for (int i=0;i<MAX_ROAD_OBJECTS;i++)

objs[i] = NULL;

for( i=1;i<height-2;i++) // i?ie?o?eaaai aiec

listDown();

// enoiay ec aeeiu o?annu ii?aaaeyai iaeneiaeuii aiionoeiia

// a?aiy aa i?ioi?aaiey

WORD sec = lenght*2;

WORD min = 0;

WORD hour = 0;

if ((sec / 60) > 0)

{

min = min + (sec / 60) ;

sec = sec % 60;

}

if ((min / 60) >= 1)

{

min = min % 60;

hour = min / 60;

}

maxRaceTime.set(hour, min, sec, 0);

}

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

- Eeann CRoad. Iaoia removeOldObjs

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

- iauaeou ec ianneaa objs[]

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

void CRoad::removeOldObjs()

{

for (int i=0;i<MAX_ROAD_OBJECTS; i++)

{

if ( (objs[i] != NULL) && ( (*objs[i]).getY() > (y+height*GRIDY) ) )

{

delete(objs[i]);

objs[i] = NULL;

}

}

}

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

- 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 CRoad::generateNewObjs()

{

int i,j,p;

/*?annoaaeyai ia iaii o?anoea o?annu iaycaoaeuiua yeaiaiou

ai?i?iie ?aciaoee */

i = findFirstNil(); //euai ia?aue naiaiaiue ye-o a ianneaa ai?-uo eauaeoia

if (i != -1) //anee iaoee, oi

//nicaaai iauaeo - ai?i?iay ?aciaoea(oei: ?acaaeeoaeuiay iieina)}

objs[i] = new CMarking(x + GRIDX*(width/2),y,0);

i = findFirstNil();

if (i != -1)

//nicaaai iauaeo - ai?i?iay ?aciaoea(oei: eaaue ioaieiee)

objs[i] = new CMarking(x,y,1);

i = findFirstNil();

if (i != -1)

//nicaaai iauaeo - ai?i?iay ?aciaoea(oei: i?aaue ioaieiee)}

objs[i]= new CMarking(x+GRIDX*(width-1),y,2);

if (passed +height-1 == lenght) //anee aeecei oeieo, oi ...

{

//?annoaaeyai ciaee oeieoiie i?yiie

for( j=1;j<=(width-2); j++)

{

i = findFirstNil();

if (i != -1)

objs[i] = new CMarking(x+j*GRIDX,y,5);

}

}

//srand( (unsigned)time( NULL ) );//eieoeaeece?oai aaia?aoi? neo?aeiuo ?enae

//oeee ii yeaiaioai iiaie aeaeiie no?iee ai?i?iuo iauaeoia

for ( j=1; j<= (width-2);j++) //io eaaiai ioaiieea ai i?aaiai

{

//euai ia?aue ionoie yeaiaio a ianneaa ai?i?iuo iauaeoia}

i = findFirstNil();

if (i != -1)

{

/*n ?aaiie aa?iyoiinou? ii?aaaeyai ?aio(i?aiyonae? eee eaieno?a)

aaaei oain iiyaeony a naiaiaiie y?aeea ai?iae */

p = rand();

if (p%2 == 0) //aaai oain i?aiyonoae?

{

p = rand();

if (p%3 == 0)

objs[i] = new CBar(x+j*GRIDX,y);

}

else //aaai oain oiieeaiie eaieno?a

{

p = rand();

if ( p%15 == 0)

objs[i] = new CFuelBar(x+j*GRIDX,y,MAX_FUEL_LEV);

}

} //if not(i=-1)

} //for ..

}

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

- Eeann CRoad Iaoia findFirstNil

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

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

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

int CRoad::findFirstNil()

{

int i = 0;

//iiea ia iaoee ionoie ye-o e ia auoee ca i?aaaeu ianneaa}

while ( i < MAX_ROAD_OBJECTS)

{

if (objs[i] == NULL)

return i; //iaoee ionoie yeaiaio

else

i++;

}

return -1; //eia?a, aica?auaai -1

}

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

- Eeann CRoad. Iaoia showRoad

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

- ai?i?iuie iauaeoaie

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

void CRoad::showRoad(CDC* pDC)

{

// ?enoai ai?i?iia iieioii

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

HBRUSH brush = CreateSolidBrush(RGB(128,128,128));

FillRect(*pDC,&rect,brush);

DeleteObject(brush);

//?enoai iauaeou, i?enoonoao?uea ia ai?iaa

for (int i=0; i< MAX_ROAD_OBJECTS; i++)

{

if (objs[i] != NULL)

{

//i?iaa?yai, ia iaaoaee ee nae?an ia yoio iauaeo iaoeia?

(*objs[i]).checkForCarCollision(carOnRoad);

//ioia?a?aai iauaeo

(*objs[i]).show(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 CRoad::listDown()

{

passed++; //oaaee?eaaai i?ieaaiio? aenoaioe?

//ia?aiauaai ana ai?i?iua iauaeou aiec ii ye?aio}

for (int i=0; i < MAX_ROAD_OBJECTS; i++)

if (objs[i] != NULL)

(*objs[i]).move(0,+GRIDY,1);

generateNewObjs(); //aaia?e?oai iiaua aeaeiua iauaeou

removeOldObjs(); //oaaeyai noa?ua iaaeaeiua iauaeou

}

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

- 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

- h,m,s,ms - niioaaonoaaiii ?anu,ieioou.naeoiau,ieeeenaeoiau

- iieuciaaoaey a ea?a

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

// int isRaceTimeElapsed(WORD h,WORD m,WORD s,WORD ms);

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

- Eeann CRoad. Iaoia getMaxRaceTimeStr

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

- o?annu a no?ieiaii oi?iaoa

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

// function getMaxRaceTimeStr: string;

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

- Eeann CRoad.

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

- i?e ?ecie iauaeoa

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

CRoad::~CRoad()

{

for( int i=0;i<MAX_ROAD_OBJECTS;i++)

{

if (objs[i] != NULL)

{

delete(objs[i]);

}

}

}

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

*

* Oaee: user.h

* Iienaiea:

* iiaoeu niaa??eo iienaiea eeannia CUser e CMyTime

*

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

#ifndef _USER_H_

#define _USER_H_

#include "roadobj.h"

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

* Eeann - A?aiy

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

class CMyTime

{

public:

WORD msec; //ieeeenaeoiau

WORD sec; //naeoiau

WORD mins; //ieioou

WORD hour; //?anu

// no?iee aey o?aiaiey no?ie-cia?aiee a?aiaie

char* hstr;

char* mstr;

char* sstr;

char* msstr;

public:

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

- Eeann CMyTime.

- eiino?oeoi?, aey onoaiiaee cia?aiee anao iieae iauaeoa

- nhour - iiaia cia?aiea iiey "?anu"

- nmin - iiaia cia?aiea iiey "ieioou"

- nsec - iiaia cia?aiea iiey "naeoiau"

- nmsec - iiaia cia?aiea iiey "ieeeenaeoiau"

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

CMyTime(WORD nhour = 0,WORD nmin = 0,WORD nsec = 0,

WORD nmsec = 0):hour(nhour), mins(nmin),sec(nsec), msec(nmsec)

{

hstr=(char*)malloc(3);

mstr=(char*)malloc(3);

sstr=(char*)malloc(3);

msstr=(char*)malloc(4);

}

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

- Eeann CMyTime.

- Eiie?o?uee eiino?oeoi?. Ii iaiaoiaei, o.e a eeanna anou

- heap-iiey e iauaeo aoaao ia?aaaaaouny ii cia?aie?

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

CMyTime(CMyTime& oldObj);

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

- Eeann CMyTime. Iaoia set

- ooieoey onoaiiaee cia?aiee anao iieae iauaeoa

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

void set(WORD nhour = 0,WORD nmin = 0,WORD nsec = 0,

WORD nmsec = 0)

{

msec = nmsec; sec = nsec; mins = nmin; hour = nhour;

}

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

- Eeann CMyTime. Iia?aoi? =+

- Eie?aiaioe?oao cia?aiea a?aiaie ia cia?aiea i?aaiai iia?aiaa

- (o eacuaaaony a ieeeenaeoiaao)

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

CMyTime& operator+=(WORD millisecs);

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

- Eeann CMyTime. Iia?aoi? -

- Aica?auaao ?acieoo ia?ao a?aiaiaie a ieeeenaeoiaao

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

long int operator-(CMyTime& rightTime);

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

- Eeann CMyTime. Iaoia getTime

- i?ioaao?a iieo?aiey cia?aiey a?aiaie

- rhour,rmin,rsec,rmsec - aica?auaaiua cia?aiey a?aiaie

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

void getTime(WORD* rhour, WORD* rmin, WORD* rsec, WORD* rmsec);

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

- Eeann CMyTime. Iaoia getTimeStr

- ooieoey, aica?auaao cia?aiea a?aiaie a no?ieiai oi?iaoa

- h:m:s:ms

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

CString getTimeStr();

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

- Eeann CMyTime.

- aano?oeoi?, auiieiyao iia?aoee ii inai?i?aaie? iaiyoe,

- auaaeaiiie a i?ioanna ?ecie iauaeoa

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

~CMyTime();

};

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

* Eeann - Iieuciaaoaeu

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

class CUser

{

private:

CString name; //eiy iieuciaaoaey

CMyTime timeInGame;//a?aiy iieuciaaoaey a ea?a

PCCar car; //aiii?iay iaoeia iieuciaaoaey

public:

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

- Eeann CUser

- eiino?oeoi?, eieoeaeece?oao iiey iauaeoa

- uname - ia?aiao? i?enaaeaaaiue iie? name

- carNum - oei aua?aiiie iieuciaaoaeai iaoeiu

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

CUser(CString uname = "Aac eiaie",int carNum = 0);

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

- Eeann CUser. Iaoia getName

- ooieoey, aica?auaao n?ieo-eiy iieuciaaoaey

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

CString getName() { return name; }

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

- Eeann CUser. Iaoia getUserCar

- ooieoey, aica?auaao oeacaoaeu ia iauaeo -iaoeio

- iieuciaaoaey

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

PCCar getUserCar(){return car;}

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

- Eeann CUser. Iaoia onSysTick

- ooieoey, iienuaaao ia?aiae?aneea aaenoaey, niaa?oaaiua

- iauaeoii Iieuciaaoaeu (eae ieieioi - eie?aiaioe?iaaiea

- cia?aiey a?aiaie? i?iaaaaiiiai a aiiea)

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

void onSysTick(WORD tickPeriod){

timeInGame+=tickPeriod;

}

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

- Eeann TUser. Iaoia getTimeInGame

- ooieoey, aica?auaao cia?aiea a?aiaie a no?ieiai oi?iaoa

- h:m:s:ms

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

CMyTime getTimeInGame(){ return timeInGame; }

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

- Eeann TUser. Iaoia getTimeStr

- ooieoey, aica?auaao cia?aiea a?aiaie a no?ieiai oi?iaoa

- h:m:s:ms

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

CString getTimeStr() {return timeInGame.getTimeStr();}

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

- Eeann CUser.

- aano?oeoi?, auiieiyao iia?aoee ii inai?i?aaie? iaiyoe,

- auaaeaiiie a i?ioanna ?ecie iauaeoa

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

~CUser();

};

typedef CUser* PCUser;

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

*

* Oaee: user.cpp

* Iienaiea:

* iiaoeu niaa??eo ?aaeecaoe? eeannia CUser e CMyTime

*

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

#include "stdafx.h"

#include <stdlib.h>

#include "user.h"

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

//**************** CMyTime implementation ******************//

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

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

- Eeann CMyTime.

- Eiie?o?uee eiino?oeoi?. Ii iaiaoiaei, o.e a eeanna anou

- heap-iiey e iauaeo aoaao ia?aaaaaouny ii cia?aie?

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

CMyTime::CMyTime(CMyTime& oldObj)

{

// eiieo?iaaiea iauiuo iieae

hour = oldObj.hour; mins = oldObj.mins;

sec = oldObj.sec;msec = oldObj.msec;

// auaaeaiea iaiyoe iia no?iee e eo eiie?iaaiea ec noa?iai

hstr=(char*)malloc(3);

strcpy(hstr,oldObj.hstr);

mstr=(char*)malloc(3);

strcpy(mstr,oldObj.mstr);

sstr=(char*)malloc(3);

strcpy(sstr,oldObj.sstr);

msstr=(char*)malloc(4);

strcpy(msstr,oldObj.msstr);

}

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

- Eeann CMyTime. Iia?aoi? =+

- Eie?aiaioe?oao cia?aiea a?aiaie ia cia?aiea i?aaiai iia?aiaa

- (o eacuaaaony a ieeeenaeoiaao)

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

CMyTime& CMyTime::operator+=(WORD millisecs)

{

msec+=millisecs;

if ( (msec / 1000) > 0 )

{

sec ++;

msec %= 1000;

}

if ( (sec / 60) > 0 )

{

mins ++ ;

sec %= 60;

}

if ( (mins / 60) == 1 )

{

mins /= 60;

hour++;

}

return *this;

}

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

- Eeann CMyTime. Iia?aoi? -

- Aica?auaao ?acieoo ia?ao a?aiaiaie a ieeeenaeoiaao

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

long int CMyTime::operator-(CMyTime& rightTime)

{

long int delayBetween;;

delayBetween =(hour - rightTime.hour)*3600000 +

(mins - rightTime.mins)*60000 +

(sec - rightTime.sec)*1000 +

(msec - rightTime.msec);

return delayBetween;

}

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

- Eeann CMyTime. Iaoia getTime

- i?ioaao?a iieo?aiey cia?aiey a?aiaie

- rhour,rmin,rsec,rmsec - aica?auaaiua cia?aiey a?aiaie

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

void CMyTime::getTime(WORD* rhour, WORD* rmin, WORD* rsec, WORD* rmsec)

{

*rhour = hour;

*rmin = mins;

*rsec = sec;

*rmsec = msec;

}

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

- Eeann CMyTime. Iaoia getTimeStr

- ooieoey, aica?auaao cia?aiea a?aiaie a no?ieiai oi?iaoa

- h:m:s:ms

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

CString CMyTime::getTimeStr()

{

_ultoa(hour,hstr,10);

_ultoa(mins,mstr,10);

_ultoa(sec,sstr,10);

_ultoa(msec,msstr,10);

CString s1,s2,s3 ,resstr;

s1 = hstr;

s1 += ':';

s2 = s1 + mstr;

s2 +=':';

s3 = s2 + sstr;

s3 +=':';

resstr =s3+ msstr;

return resstr;

}

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

- Eeann CMyTime.

- aano?oeoi?, auiieiyao iia?aoee ii inai?i?aaie? iaiyoe,

- auaaeaiiie a i?ioanna ?ecie iauaeoa

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

CMyTime::~CMyTime()

{

free(hstr);

free(mstr);

free(sstr);

free(msstr);

}

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

//******************* CUser implementation *********************//

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

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

- Eeann CUser

- eiino?oeoi?, eieoeaeece?oao iiey iauaeoa

- uname - ia?aiao? i?enaaeaaaiue iie? name

- carNum - oei aua?aiiie iieuciaaoaeai iaoeiu

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

CUser::CUser(CString uname,int carNum)

{

name = uname;

switch (carNum)

{

case 0:

car = new CCar (0,0,(MAX_SPEED) , (MAX_FUEL_LEV) *0.5, MAX_DAMAGE_LEVEL,0);

break;

case 1:

car = new CCar (0,0,(MAX_SPEED)* 0.8,(MAX_FUEL_LEV)* 0.7,MAX_DAMAGE_LEVEL,1);

break;

default:

car = new CCar(0,0,(MAX_SPEED) * 0.6,(MAX_FUEL_LEV), MAX_DAMAGE_LEVEL,2);

break;

}

}

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

- Eeann CUser.

- aano?oeoi?, auiieiyao iia?aoee ii inai?i?aaie? iaiyoe,

- auaaeaiiie a i?ioanna ?ecie iauaeoa

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

CUser::~CUser()

{

delete car;

}

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

*

* Oaee: race.h

* Iienaiea:

* niaa??eo iienaiea eeanna CRace

*

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

#ifndef _RACE_H_

#define _RACE_H_

#include "roadobj.h"

#include "road.h"

#include "user.h"

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

* Eeann - Oi?aaey?uee iauaeao (aiiea)

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

class CRace

{

private:

PCUser player; //oeacaoaeu ia iauaeo-oaeouee ea?ie

PCRoad road; //oeacaoaeu ia iauaeo - aiii?iay o?anna

//oeaae ninoiyiey ea?iaiai i?ioanna

bool started; // aiiea noa?oiaaea

bool finished; //aiiea caeii?aia

bool canceled; //aiiea ioiaiaia

bool paused; //aiiea i?einoaiiaeaia

bool timeElapsed;/*aiiea caeii?aia ii i?e?eia enoa?aiey

ioaaaaiiiai a?aiaie */

bool carBroken; /*aiiea caeii?aia ii i?e?eia iieiiee iaoeiu */

bool carEmpty;/*aiiea caeii?aia ii i?e?eia ionoonoaey o iaoeiu oiieeaa */

int currentTick; /*ia?aiaiiay aey iian?aoa iiia?a oaeouaai

niauoey oaeia?a*/

public:

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

- Eeann CRace. def eiino?oeoi?

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

CRace(): player(NULL), road(NULL), started(false) ,finished(false),canceled(false),

paused(false),timeElapsed(false), carBroken(false),

carEmpty(false),currentTick(false) {};

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

- Eeann CRace. Iaoia registerPlayer

- ooieoey ?aaeno?aoee ea?iea a ea?a

- plr - oeacaoaeu ia iauaeo-?aaeno?e?oiue ea?ie

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

void registerPlayer(PCUser plr);

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

- Eeann CRace. Iaoia onSysTick

- ooieoey,iienuaaao ?aaeoe? ea?u ia enoa?aiea ii?aaaeiiiai

- i?iia?ooea a?aiaie. Auiieiyao ia?aiae?aneea aaenoaey ea?iaiai

- i?ioanna (iai?eia?: ia?aiauaiea ai?i?iuo iauaeoia)

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

void onSysTick();

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

- Eeann CRace. Iaoia onKeyDown

- ooieoey,iienuaaao ?aaeoe? ea?u ia ia?aoey ii?aaaeaiiuo

- eeaaeo ia eeaaeaoo?a

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

void onKeyDown(UINT keyCode);

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

- Eeann CRace. Iaoia showElements

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

void showElements(CDC* pDC);

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

- Eeann CRace. Iaoia start

- ooieoey,caioneaao ea?iaie i?ioann

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

void start() {started = true; }

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

- Eeann CRace. Iaoia isStarted

- ooieoey, aica?auaao true, anee ea?iaie i?ioann caiouai

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

bool isStarted() {return started; }

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

- Eeann CRace. Iaoia isFinished

- ooieoey, aica?auaao true, anee ea?iaie oaa?ii caaa?oai ii

- i?e?eia oeieoe?iaaiey iaoeiu ea?iea

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

bool isFinished() {return finished; }

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

- Eeann CRace. Iaoia isPaused

- ooieoey, aica?auaao true, anee ea?iaie i?ioann i?einoaiiaeai

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

bool isPaused() {return paused; }

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

- Eeann CRace. Iaoia isCanceled

- ooieoey, aica?auaao true, anee ea?iaie i?ioann caaa?oai ii

- ?aeaie? iieuciaaoaey

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

bool isCanceled() {return canceled; }

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

- Eeann CRace. Iaoia isTimeElapsed

- ooieoey, aica?auaao true, anee ea?iaie i?ioann caaa?oai ii

- i?e?eia enoa?aiey iaen. aiionoeiiai a?aiaie aiiee

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

bool isTimeElapsed() {return timeElapsed; }

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

- Eeann CRace. Iaoia isCarBroken

- ooieoey, aica?auaao true, anee ea?iaie i?ioann caaa?oai ii

- i?e?eia iieiiee iaoeiu

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

bool isCarBroken() {return carBroken; }

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

- Eeann CRace. Iaoia isNarEmpty

- ooieoey, aica?auaao true, anee ea?iaie i?ioann caaa?oai ii

- i?e?eia ionoonoaey o aiii?iie iaoeui oiieeaa

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

bool isCarEmpty() {return carEmpty; }

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

- Eeann CRace. Iaoia getMaxRaceTimeStr

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

- o?annu a no?ieiaii oi?iaoa

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

CString getMaxRaceTimeStr() { return road->getMaxRaceTimeStr(); }

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

- Eeann CRace. Iaoia printResults

- ooieoey, auaiaeo ia ye?ai ?acoeuoaou ea?u

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

// void printResults();

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

- Eeann CRace.

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

- i?e ?ecie iauaeoa

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

~CRace();

};

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

*

* Oaee: race.cpp

* Iienaiea:

* niaa??eo eiieaiaioaoe? iaoiaia eeanna CRace

*

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

#include "stdafx.h"

#include "race.h"

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

- Eeann CRace. Iaoia registerPlayer

- ooieoey ?aaeno?aoee ea?iea a ea?a

- plr - oeacaoaeu ia iauaeo-?aaeno?e?oiue ea?ie

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

void CRace::registerPlayer(PCUser plr)

{

player = plr;

//nicaaai iauaeo-aiii?io? o?anno

road = new CRoad(50,0,11,24,200,player->getUserCar());

}

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

- Eeann CRace. Iaoia onSysTick

- ooieoey,iienuaaao ?aaeoe? ea?u ia enoa?aiea ii?aaaeiiiai

- i?iia?ooea a?aiaie. Auiieiyao ia?aiae?aneea aaenoaey ea?iaiai

- i?ioanna (iai?eia?: ia?a?eniaea,ia?aiauaiea ai?i?iuo

- iauaeoia e o.a.)

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

void CRace::onSysTick()

{

//anee iaoeia ia inoaiiaeaia

if ( (player->getUserCar())->getSpeed() != 0)

{

/*au?eneyai nei?inou i?aiauaiey ai?i?iuo iauaeoia

ia ano?a?o iaoeia a caaeneiinoe io nei?inoe naiie iaoeiu*/


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

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

    курсовая работа [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-файлы представлены только в архивах.
Рекомендуем скачать работу.