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


C++ Wall::SetSize方法代码示例

本文整理汇总了C++中Wall::SetSize方法的典型用法代码示例。如果您正苦于以下问题:C++ Wall::SetSize方法的具体用法?C++ Wall::SetSize怎么用?C++ Wall::SetSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Wall的用法示例。


在下文中一共展示了Wall::SetSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: CreateLevel

void Level::CreateLevel(std::vector<Solid*>& p_walls)
{
	std::vector<std::string> lines;
	std::string line;
	std::ifstream t_level ("../Data/Level.txt");

	if (t_level.is_open())
	{
		while ( getline (t_level,line) )
		{
			lines.push_back(line);
		}
		t_level.close();
	}
	for(int i = 0; i<lines.size(); i++)
	{

		for(int u = 0; u<lines.at(i).size(); u++)
		{
			if(lines.at(i).at(u) == *"W")
			{
				p_walls.push_back(new TWall(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 0));
			}
			if(lines.at(i).at(u) == *"D")
			{
				p_walls.push_back(new TWall(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 1));
			}
			if(lines.at(i).at(u) == *"S")
			{
				p_walls.push_back(new TWall(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 2));
			}
			if(lines.at(i).at(u) == *"A")
			{
				p_walls.push_back(new TWall(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 3));
			}
			if(lines.at(i).at(u) == *"7")
			{
				p_walls.push_back(new WallCorner(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 0));
			}
			if(lines.at(i).at(u) == *"9")
			{
				p_walls.push_back(new WallCorner(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 1));
			}
			if(lines.at(i).at(u) == *"3")
			{
				p_walls.push_back(new WallCorner(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 2));
			}
			if(lines.at(i).at(u) == *"1")
			{
				p_walls.push_back(new WallCorner(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 3));
			}
			if(lines.at(i).at(u) == *"8")
			{
				p_walls.push_back(new WallEdge(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 0));
			}
			if(lines.at(i).at(u) == *"6")
			{
				p_walls.push_back(new WallEdge(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 1));
			}
			if(lines.at(i).at(u) == *"2")
			{
				p_walls.push_back(new WallEdge(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 2));
			}
			if(lines.at(i).at(u) == *"4")
			{
				p_walls.push_back(new WallEdge(sf::Vector2f(32*u, 32*i), sf::Vector2f(32, 32), 3));
			}
			if(lines.at(i).at(u) == *"5")
			{
				if(lines.at(i).at(u-1) != *"5" && lines.at(i-1).at(u) != *"5")
				{
					if(lines.at(i).at(u-1) == *"0" && lines.at(i).at(u+1) == *"0")
					{
						bool temparray[4] = {true, false, true, false};
						Wall* tempwall = new Wall(sf::Vector2f(u*32, i*32), sf::Vector2f(32, 32), temparray);
						int tempmove = 1;
						while(lines.at(i+tempmove).at(u) == *"5")
						{
							tempwall->SetSize(sf::Vector2f(0, 32));
							tempmove++;
						}
						p_walls.push_back(tempwall);
					}
					else if(lines.at(i-1).at(u) == *"0" && lines.at(i+1).at(u) == *"0")
					{
						bool temparray[4] = {false, true, false, true};
						Wall* tempwall = new Wall(sf::Vector2f(u*32, i*32), sf::Vector2f(32, 32), temparray);
						int tempmove = 1;
						while(lines.at(i).at(u+tempmove) == *"5")
						{
							tempwall->SetSize(sf::Vector2f(32, 0));
							tempmove++;
						}
						p_walls.push_back(tempwall);
					}
				}
				else if(lines.at(i).at(u-1) == *"5")
				{

				}
//.........这里部分代码省略.........
开发者ID:Andreeastroem,项目名称:Freeeedom,代码行数:101,代码来源:Level.cpp


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