Exemple #1
0
static Cod_Error inicializarNuevo(Info * laInfo)
{
	int i, j;
	unsigned short int dificultad = dameDificultad(laInfo->tamanio);

	laInfo->puntaje = 0;
	switch(dificultad)
	{
		case DIF_FACIL:
			laInfo->undos = UNDOS_FACIL;
			break;
		case DIF_MEDIO:
			laInfo->undos = UNDOS_MEDIO;
			break;
		case DIF_DIFICIL:
			laInfo->undos = UNDOS_DIFICIL;
			break;
	}

	laInfo->tablero = crearTablero(laInfo->tamanio);
	if (laInfo->tablero == NULL)
		return ERROR_MEMORIA;
	
	for (i = 0; i < laInfo->tamanio; i++)
		for (j = 0; j < laInfo->tamanio; j++)
			laInfo->tablero[i][j] = 0;

	laInfo->undoPosible = FALSE;
	laInfo->nombreArchivo = NULL;
	laInfo->ganaste = FALSE;

	return OK;
}
void Tablero::cargarTablero()
{
	Archivos archivo;
	string texto=archivo.LeerArchivo("tablero.txt");
        string bufferi="",bufferj="";
        int k=0;
        bufferi=texto.substr(k,texto.find("\n")-k);
        texto=texto.substr(texto.find("\n")+1);
        bufferj=texto.substr(k,texto.find("\n")-k);
        texto=texto.substr(texto.find("\n")+1);
        stringstream ss(bufferi);
        ss>>tami;
        stringstream ss1(bufferj);
        ss1>>tamj;
        
        crearTablero(tami,tamj);
        
	for(int i=0;i<tami;i++)
        {
            string linea=texto.substr(0,texto.find("\n")+1);
            cout<<"En Linea "<<i<<" "<<linea<<endl;
            for(int j=0;j<tamj;j++)
            {
                agregarElemento(linea.substr(0,linea.find("#")),i,j);
                linea=linea.substr(linea.find("#")+1);
            }
            
            texto=texto.substr(texto.find("\n")+1);
        }
}
Exemple #3
0
int
juegoNuevo(tJuego * juego)
{
	tPunto nPunto;
	
	juego->tablero = crearTablero(juego, 1);
	
	imprimirTablero(juego);
	
	while (1) // TODO: Reemplazar 1 por checkearTablero()
	{
		verificarJugada(juego);
		reacomodarTablero(juego);
		imprimirTablero(juego);
	}
	
	return 0;
}
VentanaPrincipal::VentanaPrincipal()
{
    crearControl();

    cargarImagenes();
    crearMenu();
    crearPanelTitulo();
    crearTablero();
    crearPanelPie();

    QVBoxLayout *mainLayout = new QVBoxLayout;
    mainLayout->setMenuBar(menuBar);
    mainLayout->addWidget(horizontalGroupBox);
    mainLayout->addWidget(gridGroupBox);
    mainLayout->addWidget(horizontalGroupBox2);
    setLayout(mainLayout);

    setWindowTitle(tr("Parejas"));
}
Exemple #5
0
Cod_Error cargarJuego(Info * laInfoActual, Info * laInfoRespaldo)
{
	FILE * archivoCarga;
	unsigned short int dif;
	int i,j;
	int auxVictoria;
	randomizeSeed();
	
	laInfoActual->undoPosible = FALSE;

	if( (archivoCarga = fopen(laInfoActual->nombreArchivo, "rb")) == NULL )
	{
		return ERROR_ARCHIVO;
	}

	fread(&dif, sizeof(dif), 1, archivoCarga);
	
	if(dif < 0 || dif > 3)
	{
		fclose(archivoCarga);
		return ERROR_ARCHIVO;
	}

	laInfoActual->tamanio = dameTamanio(dif);
	laInfoRespaldo->tamanio = laInfoActual->tamanio;
	laInfoActual->undoPosible = FALSE;
	laInfoActual->undoPosible = FALSE;

	laInfoActual->tablero = crearTablero(laInfoActual->tamanio);
	if(laInfoActual->tablero == NULL)
		return ERROR_MEMORIA;
	
	laInfoRespaldo->tablero = crearTablero(laInfoRespaldo->tamanio);
	if(laInfoRespaldo->tablero == NULL)
	{
		liberarTablero(laInfoActual);
		return ERROR_MEMORIA;
	}
	
	fread(&(laInfoActual->puntaje), sizeof(Puntaje), 1, archivoCarga);
	fread(&(laInfoActual->undos), sizeof(unsigned short int), 1, archivoCarga);
	if(laInfoActual->undos > dameUndos(dif))
	{
		fclose(archivoCarga);
		return ERROR_ARCHIVO;
	}

	auxVictoria = dameVictoria(dif);

	for(i = 0; i < laInfoActual->tamanio; i++)
	{
		fread(laInfoActual->tablero[i], sizeof(Ficha), laInfoActual->tamanio, archivoCarga);
		for(j = 0; j < laInfoActual->tamanio; j++)
			if(laInfoActual->tablero[i][j] > auxVictoria)
				return ERROR_ARCHIVO;
	}

	if(fgetc(archivoCarga) != EOF) 
		return ERROR_ARCHIVO;

	fclose(archivoCarga);
	return OK;
}
Tablero::Tablero(int i, int j)
{
	crearTablero( i,  j);
}