#include "jardin.h" using namespace std; bool cargarJardin(tJardin& jardin, ifstream& archivo) { bool carga = false; int F, C; //ifstream archivo; //archivo.open(jardin); //if (!archivo.is_open()) { // cout << "No se ha podido cargar el jardin." << endl; //} //else { archivo >> jardin.numF; archivo >> jardin.numC; for (int i = 0; i < jardin.numF; i++){ for (int j = 0; j < jardin.numC; j++){ archivo >> jardin.parcela[i][j].aguaNecesaria; jardin.parcela[i][j].aguaRegada = 0; } } carga = true; //} //archivo.close(); return carga; } void mostrarJardin(tJardin& jardin) { for (int i = 0; i < jardin.numF; i++){ for (int j = 0; j < jardin.numC; j++){ cout << jardin.parcela[i][j].aguaNecesaria << " "; } cout << endl; } } void regar(tJardin& jardin, tCoordenada& coordenada) { tCoordenada nc; for (int i = 0; i < 8; i++){ calcularCoordenada(coordenada, i, nc); jardin.parcela[nc._fila][nc._columna].aguaRegada++; } } int calcularPuntuacion(tJardin& jardin) { int puntos = 0; for (int i = 0; i < jardin.numF; i++){ for (int j = 0; j < jardin.numC; j++){ if (jardin.parcela[i][j].aguaRegada > jardin.parcela[i][j].aguaNecesaria) { puntos += (jardin.parcela[i][j].aguaRegada - jardin.parcela[i][j].aguaNecesaria); } else if (jardin.parcela[i][j].aguaRegada == jardin.parcela[i][j].aguaNecesaria) { puntos += jardin.parcela[i][j].aguaNecesaria; } } } return puntos; } bool plantaCondenada(tJardin& jardin, tCoordenada& coordenada) { bool encontrada = false; int i = -1, j = 0; while (!encontrada && i < jardin.numF) { i++; while (!encontrada && j < jardin.numC) { if (jardin.parcela[i][j].aguaNecesaria < jardin.parcela[i][j].aguaRegada) { encontrada = true; } else { j++; } } } coordenada = crearCoordenada(i, j); return encontrada; } bool esLibre(const tJardin& jardin, tCoordenada coordenada) { bool libre = false; if (coordenada._fila < jardin.numF && coordenada._columna < jardin.numC && jardin.parcela[coordenada._fila][coordenada._columna].aguaNecesaria == 0) { libre = true; } return libre; }