Разработка игры "Гонка на время с препятствиями"
Разработка объектно-ориентированной программы на языке С++, которая реализирует инкапсуляцию, наследование и полиморфизм. Выделение компонентов - абстрактных единиц, выполняющих определенный набор действий. Реализация основного алгоритма функционирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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