本文整理汇总了C++中Zone::get_id方法的典型用法代码示例。如果您正苦于以下问题:C++ Zone::get_id方法的具体用法?C++ Zone::get_id怎么用?C++ Zone::get_id使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zone
的用法示例。
在下文中一共展示了Zone::get_id方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadmap
void loadmap(Zone& area, Map& level, Player& player1, Surface& images)
{
int mapnum, floornum;
bool stairs;
int playx,playy;
//load world and set initial values the first time through
if (player1.get_map() == -1) {
srand(time(NULL));
mapnum = area.get_id();
floornum = 0;
area.init();
level = area.zones[mapnum].floors[floornum];
playx = level.get_begin_x() * TILEW;
playy = level.get_begin_y() * TILEH;
player1.put_stairs(1);
}
//load a new map if the player has changed maps midplay
if (player1.get_map() >= 0) {
mapnum = player1.get_destmap();
floornum = player1.get_destfloor();
if (floornum < 0) {
floornum = 0;
player1.put_stairs(1);
mapnum = area.get_id();
playx = area.zones[player1.get_map()].get_x() * TILEW;
playy = (area.zones[player1.get_map()].get_y() + 1) * TILEH;
}
area.zones[player1.get_map()].floors[player1.get_floor()] = level;
}
level = area.zones[mapnum].floors[floornum];
level.set_rendered(0); //area is not yet rendered for graphics
if (area.zones[mapnum].floors[floornum].get_type() == TOWN){
playx = MAPW / 2 * TILEW;
playy = (MAPH - 2) * TILEH;
}
if (area.zones[mapnum].floors[floornum].get_type() == DUNGEON){
stairs = player1.get_stairs();
if (stairs == 0) {
playx = level.get_end_x() * TILEW;
playy = level.get_end_y() * TILEH;
}
if (stairs == 1) {
playx = level.get_begin_x() * TILEW;
playy = level.get_begin_y() * TILEH;
}
}
player1.put_coor(playx, playy);
player1.put_map(mapnum);
player1.put_floor(floornum);
//load appropriate spritesheet for this kind of level
switch(level.get_type())
{
case DUNGEON:
images.tilesheet = load_bitmaps("data/images/dungeon.jpg");
break;
case TOWN:
images.tilesheet = load_bitmaps("data/images/town.jpg");
break;
case FOREST:
images.tilesheet = load_bitmaps("data/images/forest.jpg");
break;
}
};