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


C++ Lista::ObtenerComienzoLista方法代码示例

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


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

示例1: AsignarAccionesDefault

void AsignarAccionesDefault(Lista<TipoLista> & lstAliados,Lista<TipoLista> & lstEnemigos, int TurnoActual, int MaximoTurno, int EnergiaInicial)	
{				
		int SumaEnergiaAliados=SumaEnergia(lstAliados);
		int SumaEnergiaEnemigos=SumaEnergia(lstEnemigos);
				
		double FactorEnergia=(double)SumaEnergiaAliados/SumaEnergiaEnemigos;
				
		Nodo<TipoLista> *NodoAux=lstAliados.ObtenerComienzoLista();
							
		while(NodoAux)
		{
			int Energia=(NodoAux->ObtenerDato()).ObtenerEnergia();
			if(Energia>FACTOR_VIDA_MAX*(EnergiaInicial))
				(NodoAux->ObtenerDato()).AsignarAccion(DEFENSA);
			else if(Energia<FACTOR_VIDA_MIN*(EnergiaInicial))
				(NodoAux->ObtenerDato()).AsignarAccion(ATAQUE);
			else
			{
				double FactorTurno=(double)(TurnoActual)/MaximoTurno;
						
				if((FactorTurno>=FACTOR_TURNO_DEFECTO)&&(FactorEnergia<1))
					(NodoAux->ObtenerDato()).AsignarAccion(ATAQUE);
				else if((FactorTurno>=FACTOR_TURNO_DEFECTO)&&(FactorEnergia>1))
					(NodoAux->ObtenerDato()).AsignarAccion(DEFENSA);
				else
				{
					if(FactorEnergia>FACTOR_ENERGIA_DEFECTO)
						(NodoAux->ObtenerDato()).AsignarAccion(DEFENSA);
					else if(FactorEnergia<(double)1/FACTOR_ENERGIA_DEFECTO)
						(NodoAux->ObtenerDato()).AsignarAccion(ATAQUE);
					else
					{
						srand(time(NULL));
						int AuxRandom=rand()%LIMITE_RANDOM;
							
						if(!AuxRandom)
							(NodoAux->ObtenerDato()).AsignarAccion(DEFENSA);
						else
							(NodoAux->ObtenerDato()).AsignarAccion(ATAQUE);
					}
				}	
			}
			NodoAux=NodoAux->ObtenerSiguiente();			
		}
		NodoAux=lstAliados.ObtenerComienzoLista();
				
}
开发者ID:msanmartinacosta,项目名称:7504_war,代码行数:47,代码来源:estrategia_base.hpp

示例2: SumaEnergia

int SumaEnergia(Lista<TipoLista> lst)
{
	int Suma=0;
	Nodo<TipoLista> *aux=lst.ObtenerComienzoLista();
			
	while(aux)
	{
		Suma+=(aux->ObtenerDato()).ObtenerEnergia();
		aux=aux->ObtenerSiguiente();
	}
			
	return Suma;
}	
开发者ID:msanmartinacosta,项目名称:7504_war,代码行数:13,代码来源:estrategia_base.hpp

示例3: while

void Estrategia<TipoLista>::BuscarCercanos(int InfGranadaX, int InfGranadaY, int PosX, int PosY, int InfX, int InfY, 	
						Lista<TipoLista> lst, Lista<TipoLista> & lstCercanos, 
						int Precision,bool Aliado)	
						
						/*BuscarCercanos(InfGranadaX,InfGranadaY,PosX,PosY,InfX,InfY,
								lstEnemigos,lstEnemigosCercanos,PRECISION_DEFENSA,false);	*/	
{
		/*[PosX,PosY] es la posicion de nuestro soldado, y se recibe la lista de soldados 
		  enemigos para devolver una lista donde quedan seleccionados nada mas los soldados
		  enemigos que pueden afectar a este soldado. */
		 
		 Nodo<TipoLista> *aux=lst.ObtenerComienzoLista();
		 	 
		 while(aux)
		 {
		 	TipoLista Dato= aux->ObtenerDato();
		 	if(EstaCerca(InfGranadaX,InfGranadaY,PosX,PosY,InfX,InfY,Dato,Aliado,Precision))
		 		lstCercanos.Insertar(Dato);
		 	
		 	aux=aux->ObtenerSiguiente();
		 }
}
开发者ID:msanmartinacosta,项目名称:7504_war,代码行数:22,代码来源:estrategia_base.hpp


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