本文整理汇总了C++中Environment::RevisarTablero方法的典型用法代码示例。如果您正苦于以下问题:C++ Environment::RevisarTablero方法的具体用法?C++ Environment::RevisarTablero怎么用?C++ Environment::RevisarTablero使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Environment
的用法示例。
在下文中一共展示了Environment::RevisarTablero方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Valoracion
// Funcion heuristica (ESTA ES LA QUE TENEIS QUE MODIFICAR)
double Valoracion(const Environment &estado, int jugador){
int ganador = estado.RevisarTablero();
int enemigo = enemigoDe(ganador);
int valoracion = 0;
if (ganador==jugador)
return ganar; // Gana el jugador que pide la valoracion
else if (ganador!=0)
return perder; // Pierde el jugador que pide la valoracion
else if (estado.Get_Casillas_Libres()==0)
return 0; // Hay un empate global y se ha rellenado completamente el tablero
else{
valoracion = evaluame(jugador,estado) - evalua_enemigo(enemigo,estado);
if (fichasDe(estado,jugador) > (fichasDe(estado,enemigo)+1))
valoracion *= escala;
else
valoracion -= escala * 2;
return valoracion;
}
}
示例2: ValoracionTest
// Funcion de valoracion para testear Poda Alfabeta
double ValoracionTest(const Environment &estado, int jugador){
int ganador = estado.RevisarTablero();
if (ganador==jugador)
return 99999999.0; // Gana el jugador que pide la valoracion
else if (ganador!=0)
return -99999999.0; // Pierde el jugador que pide la valoracion
else if (estado.Get_Casillas_Libres()==0)
return 0; // Hay un empate global y se ha rellenado completamente el tablero
else
return Puntuacion(jugador,estado);
}
示例3: Valoracion
// Funcion heuristica (ESTA ES LA QUE TENEIS QUE MODIFICAR)
double Valoracion(const Environment &estado, int jugador){
double valor;
int ganador = estado.RevisarTablero();
int contricante;
int bomba;
int bomba_contricante;
double bomb_contricante=0;
Environment estado_bom;
int ocu_columnas;
double bomb_jugador=0;
int jug=jugador;
if(jugador==1){
contricante=2;
bomba=4;
bomba_contricante=5;
}
else{
contricante=1;
bomba=5;
bomba_contricante=4;
}
/*
if(estado.Have_BOOM(jugador)==true){
estado_bom=estado;
for(int i=0;i<7;i++){
for(int j=0;j<7;j++){
if((int)estado.See_Casilla(i,j)==bomba){
estado_bom.AplicarExplosion(i,j);
bomb_jugador=Bombas(jugador,contricante,estado_bom);
}
}
}
}
if(estado.Have_BOOM(contricante)==true){
estado_bom=estado;
for(int i=0;i<7;i++){
for(int j=0;j<7;j++){
if((int)estado.See_Casilla(i,j)==bomba_contricante){
estado_bom.AplicarExplosion(i,j);
bomb_contricante=Bombas(contricante,jugador,estado_bom);
}
}
}
}*/
double contador_3alineacion_jugador=alineacion3(jugador,estado);
double contador_3alineacion_contricante=alineacion3(contricante,estado);
double contador_2lineas_jugador=alineacion2(jugador,estado);
double contador_2lineas_contricante=alineacion2(contricante,estado);
double contador_hueco_jugador=FaltaUnHueco(jugador,estado);
double contador_hueco_contricante=FaltaUnHueco(contricante,estado);
if(ganador==jugador)
return 9999999999999999999999999999999999999999999999.0;
else if(ganador!=0)
return -999999999999999999999999999999999999999999999.0;
else if(estado.Get_Casillas_Libres()==0)
return 0;
else if(jugador==1 ||jugador==2){
valor=(((contador_3alineacion_jugador*6)+(contador_hueco_jugador*4)+(contador_2lineas_jugador)+bomb_jugador*8)-((contador_3alineacion_contricante*6)+(contador_hueco_contricante*4)+(contador_2lineas_contricante*2)+bomba_contricante*8));
return valor;
}
else{
return Puntuacion(jugador,estado);
}
}