本文整理汇总了C++中Environment::See_Casilla方法的典型用法代码示例。如果您正苦于以下问题:C++ Environment::See_Casilla方法的具体用法?C++ Environment::See_Casilla怎么用?C++ Environment::See_Casilla使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Environment
的用法示例。
在下文中一共展示了Environment::See_Casilla方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
double alineacion3(int jugador, const Environment &estado){
double contador=0;
for (int filas=0; filas<7; filas++){
for (int columnas=0; columnas<7; columnas++){
if(columnas<4){
if(estado.See_Casilla(filas,columnas)%3==estado.See_Casilla(filas,columnas+1)%3 && estado.See_Casilla(filas,columnas+1)%3==estado.See_Casilla(filas,columnas+2)%3 && estado.See_Casilla(filas,columnas+2)%3==jugador && estado.See_Casilla(filas,columnas+3)%3==0){
contador++;
}
}
if(columnas>=4){
if(estado.See_Casilla(filas,columnas)%3==estado.See_Casilla(filas,columnas-1)%3 && estado.See_Casilla(filas,columnas-1)%3==estado.See_Casilla(filas,columnas-2)%3 && estado.See_Casilla(filas,columnas-2)%3==jugador && estado.See_Casilla(filas,columnas-3)%3==0)
contador++;
}
if(filas<4){
if(estado.See_Casilla(filas,columnas)%3==estado.See_Casilla(filas+1,columnas)%3 && estado.See_Casilla(filas+1,columnas)%3==estado.See_Casilla(filas+2,columnas)%3 && estado.See_Casilla(filas+2,columnas)%3==jugador && estado.See_Casilla(filas+3,columnas)%3==0){
contador++;
}
}
if (filas<4 and columnas<4){
if (estado.See_Casilla(filas,columnas)%3==estado.See_Casilla(filas+1,columnas+1)%3 && estado.See_Casilla(filas+1,columnas+1)%3== estado.See_Casilla(filas+2,columnas+2)%3 && estado.See_Casilla(filas+2,columnas+2)%3==jugador && estado.See_Casilla(filas+3,columnas+3)%3==0)
contador++;
}
if (filas>2 and columnas<4){
if(estado.See_Casilla(filas,columnas)%3==estado.See_Casilla(filas-1,columnas+1)%3 && estado.See_Casilla(filas-1,columnas+1)%3==estado.See_Casilla(filas-2,columnas+2)%3 && estado.See_Casilla(filas-2,columnas+2)%3==jugador && estado.See_Casilla(filas-3,columnas+3)%3==0)
contador++;
}
}
}
return contador;
}
示例2: puntuacion_
double puntuacion_(int jugador, const Environment &estado){
double suma=0;
for (int i=0; i<7; i++)
for (int j=0; j<7; j++){
if (estado.See_Casilla(i,j)==jugador || esMiBomba(estado.See_Casilla(i,j), jugador)){
if (j<3)
suma += j;
else
suma += (6-j);
}
}
return suma;
}
示例3: checkDiagonal
/*
Comprueba si existe una secuencia de tamaño secuencia_meta en la diagonal ascendente y
descendente de la ficha en la posicion (fila,columna) del tablero
*/
int checkDiagonal(const Environment &estado, int fila, int columna, int jugador, int secuencia_meta) {
int total_secuencias=0;
// Comprobamos los diagonales ascendentes
double secuencia_actual = 0;
int col=columna;
// Comprobamos las diagonales ascendentes en primer lugar
for(int i=fila; i<7; ++i){
if(col>6)
break;
else if (estado.See_Casilla(i,col)==jugador)
secuencia_actual++;
else
break;
col++;
}
// Si se ha dado una secuencia mayor o igual que secuencia_meta aumentamos el numero total de secuencias
if(secuencia_actual >= secuencia_meta)
total_secuencias++;
// Reestablecemos el valor de las variables para poder contar de nuevo la secuencia_actual
secuencia_actual=0;
col=columna;
// Comprobamos los diagonales descendentes en segundo lugar
for(int i=fila; i>=0; i--) {
if(col>6)
break;
else if (estado.See_Casilla(i,col) == jugador)
secuencia_actual++;
else
break;
col++;
}
// Si se ha dado una secuencia mayor o igual que secuencia_meta aumentamos el numero total de secuencias
if (secuencia_actual >= secuencia_meta)
total_secuencias++;
return total_secuencias;
}
示例4: posicion
/*
Comprueba si existe una secuencia de tamaño secuencia_meta en la vertical descendente de la ficha
en la posicion (fila,columna) del tablero
*/
int checkVerticalInferior(const Environment &estado, int fila, int columna, int jugador, int secuencia_meta) {
int secuencia_actual=0;
for(int i=fila; i>=0; i--) {
if(estado.See_Casilla(i,columna) == jugador)
secuencia_actual++;
else
break;
}
int ret = (secuencia_actual >= secuencia_meta) ? 1 : 0;
return ret;
}
示例5: getMatrixMov
vector<vector<char> > getMatrixMov(const Environment &tablero){
vector<vector<char> > matrix;
matrix.resize(total);
matrix[0].resize(total);
matrix[1].resize(total);
matrix[2].resize(total);
matrix[3].resize(total);
matrix[4].resize(total);
matrix[5].resize(total);
matrix[6].resize(total);
for(int i = 0; i < total; i++)
for(int j = 0; j < total; j++)
matrix[i][j] = tablero.See_Casilla(i,j);
return matrix;
}
示例6: checkAll
int checkAll(const Environment &estado, int jugador, int longitud_secuencia) {
/*
Para todo el tablero:
Comprobamos que la casilla sea de nuestro jugador y en caso de serla buscamos las secuencias
verticales, horizontales y diagonales de longitud longitud_secuencia.
*/
int secuencias = 0;
for (int i=0; i<7;i++) {
for (int j=0; j<7;j++) {
if (estado.See_Casilla(i,j) == jugador) {
secuencias += checkVerticalSuperior(estado, i, j, jugador, longitud_secuencia);
secuencias += checkVerticalInferior(estado, i, j, jugador, longitud_secuencia);
secuencias += checkHorizontalDerecha(estado, i, j, jugador, longitud_secuencia);
secuencias += checkHorizontalIzquierda(estado, i, j, jugador, longitud_secuencia);
secuencias += checkDiagonal(estado, i, j, jugador, longitud_secuencia);
}
}
}
return secuencias;
}