当前位置: 首页>>代码示例>>C++>>正文


C++ MapList::at方法代码示例

本文整理汇总了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);
			}
		}
开发者ID:rodrigogolive,项目名称:KWarBots,代码行数:55,代码来源:battlearea.cpp


注:本文中的MapList::at方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。