本文整理汇总了C++中MapList::at方法的典型用法代码示例。如果您正苦于以下问题:C++ MapList::at方法的具体用法?C++ MapList::at怎么用?C++ MapList::at使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MapList
的用法示例。
在下文中一共展示了MapList::at方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QTimer
BattleArea::BattleArea(Map *map){
setItemIndexMethod(QGraphicsScene::NoIndex);
///
QTimer *timer = new QTimer();
timer->setInterval(1000);
m_width = m_height = map->size() * SIZE;
setSceneRect(0, 0, m_width, m_height);
BotPack *bpack = new BotPack("data/robots/botpacks/tank-0.bpack"); // must be dynamic, too (maybe by reference)
MapList *mapList = map->mapList();
int mapSize = map->size();
int i, j;
int listpos = 0;
// the TileObject used as BattleArea "background"
TileObject *tile = new TileObject("data/textures/" + map->pathTexture() + ".svgz", map->pathColor(), map->pathAltColor());
setBackgroundBrush(tile->pixmap());
// must add on KWB::Map a method to load the map
for (i = 0; i < mapSize; i++){
for (j = 0; j < mapSize; j++){
listpos = (j * mapSize) + i;
// iteratte trough the map list (objects and items)
if (mapList->at(listpos) == Ammo){
AmmoItem *ammo = new AmmoItem("data/items/" + map->ammoTexture() + ".svgz", QPoint(i, j), map->ammoValue());
addItem(ammo);
} else if (mapList->at(listpos) == Block){
BlockObject *block = new BlockObject("data/textures/" + map->blockTexture() + ".svgz", QPoint(i, j), map->blockColor());
addItem(block);
} else if (mapList->at(listpos) == Enemy){
// TODO
} else if (mapList->at(listpos) == Energy){
EnergyItem *energy = new EnergyItem("data/items/" + map->energyTexture() + ".svgz", QPoint(i, j), map->energyValue());
addItem(energy);
} else if (mapList->at(listpos) == StartPoint){
// the user programmed Robot
m_robot = new Robot(bpack, this, QPoint(i, j));
addItem(m_robot->robotObject());
} else if (mapList->at(listpos) == Wall){
WallObject *wall = new WallObject("data/textures/" + map->wallTexture() + ".svgz", QPoint(i, j), map->wallColor());
addItem(wall);
connect(wall, SIGNAL(deleteMe(QGraphicsItem*)), this, SLOT(deleteItem(QGraphicsItem*)));
} else if (mapList->at(listpos) == Water){
WaterObject *water = new WaterObject("data/textures/" + map->waterTexture() + ".svgz", QPoint(i, j), timer);
addItem(water);
} else if (mapList->at(listpos) == Weapon){
WeaponItem *weapon = new WeaponItem("data/items/" + map->weaponTexture() + ".svgz", QPoint(i, j), map->weaponValue());
addItem(weapon);
}
}