本文整理汇总了C++中Planet::build方法的典型用法代码示例。如果您正苦于以下问题:C++ Planet::build方法的具体用法?C++ Planet::build怎么用?C++ Planet::build使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Planet
的用法示例。
在下文中一共展示了Planet::build方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//Main function
int main(int argc, char* argv[])
{
/*
-----
// INITIALIZATION
-----
*/
//Seed RNG
srand(time(NULL));
//Initialize all SDL subsystems
if (SDL_Init(SDL_INIT_EVERYTHING) == -1)
{
return 1;
}
//Initialize SDL_TTF
TTF_Init();
TTF_Font * planetFont = TTF_OpenFont("corbel.ttf", 20);
//Set up the screen
SDL_Surface* screen = SDL_SetVideoMode(SCREEN_WIDTH, SCREEN_HEIGHT, 32, SDL_SWSURFACE);
//Make sure screen set up
if (screen == NULL)
{
return false;
}
//Set the window caption
SDL_WM_SetCaption("GAEM", NULL);
//Create an event manager
SDL_Event event;
//Store keystates
Uint8* keystates;
//Set up camera
SDL_Rect camera = {0, 0, SCREEN_WIDTH, SCREEN_HEIGHT};
float camerax = 0;
float cameray = 0;
/*
-----
GAME SETUP
-----
*/
//Set up ship stats
std::vector<ShipStats> shipstats(10);
for (int i = 0; i < 10; i++)
{
shipstats[i].attack = i+1;
shipstats[i].defense = i+1;
shipstats[i].speed = DEFAULT_FLEET_SPEED;
shipstats[i].interceptRange = 200;
shipstats[i].interceptDamage = 0.1;
shipstats[i].interceptCD = 250;
}
//Set up ship type 1: Heavy ship
shipstats[1].attack = 3;
shipstats[1].defense = 2;
shipstats[1].speed = DEFAULT_FLEET_SPEED/2;
//Set up ship type 2: Fiery attack ship
shipstats[2].attack = 2;
shipstats[2].defense = 1;
shipstats[2].speed = DEFAULT_FLEET_SPEED*1.25;
//Set up buildings and building rules
std::list<Building> buildings;
std::vector<std::list<Building*> > buildRules;
buildRules.resize(2);
SDL_Surface* b01 = loadImage("b01.png");
SDL_Surface* bc01 = loadImage("bc01.png");
SDL_Surface* b02 = loadImage("b02.png");
SDL_Surface* bc02 = loadImage("bc02.png");
buildings.push_back(Building(b01, bc01, "build 0 2")); //0
buildings.push_back(Building(b02, bc02, "fire damage 2 1")); //1
buildings.push_back(Building(b01, bc01, "build 1 4")); //2
buildings.push_back(Building(b01, bc01, "build 2 2")); //3
buildings.push_back(Building(b02, bc02, "aura damage 1 total")); //4
//0
std::list<Building>::iterator bi = buildings.begin();
buildRules[0].push_back(&(*bi));
bi->setBuildTime(15000);
bi++;
//1
buildRules[0].push_back(&(*bi));
bi->setBuildTime(10000);
bi->setRange(250);
bi++;
//2
//.........这里部分代码省略.........