//------------------------------------------------------ // void bucleMainTetris(void) // // Descripción: // Juega //------------------------------------------------------ void bucleMainTetris(void){ char tecla; if(estado.primeraPieza == PPIEZA){ melodiasInic(); borraTablero(); if(estado.juegoBloques){ pintaBloques(); evaluarTablero(); } resultadoInic(); nuevaPieza(); nuevaPieza(); estado.primeraPieza = NO_PPIEZA; } tecla = teclado(); //podemos usar una variable de estado para evitar pulsar una tecla if(tecla == CHAR_UNO) { mueveIzquierda(); } if(tecla == CHAR_CUATRO) { caePieza(); } if(tecla == CHAR_SIETE) { mueveDerecha(); } if(tecla == CHAR_A) { rotacion(); } }
//------------------------------------------------------ // void caePieza(void) // // Descripción: // Mueve la pieza una posicion hacia abajo //------------------------------------------------------ void caePieza(void) { estado.recursoLibre = OCUPADO; pActual2pAux(); //Copiamos los parametros de la pieza actual en la auxiliar borraPieza(piezaActual); //Borramos la pieza del tablero piezaAux.posicion[POS_Y]++; //Bajamos una posicion la pieza y comprobamos si es posible if(comprobacionColision(piezaAux) == FALSE) { pAux2pActual(); //Copiamos los parametros actualizados de la pieza auxiliar a la actual pintaTPieza(piezaActual); //Pintamos la pieza en el tablero } else { pintaTPieza(piezaActual); //Pintamos la pieza en el tablero if(piezaActual.posicion[POS_Y]<0){ perdiste(); estado.recursoLibre = LIBRE; return; } evaluarTablero(); nuevaPieza(); } estado.recursoLibre = LIBRE; }
void AdministradorXML::procesarRaiz(const QDomElement &element) { if (_IsRaizAsignalada == true) { //qDebug("Procesando raiz"); QDomNode child = element.firstChild(); if (!child.isNull() && child.toElement().tagName() == "piezas" ) { //qDebug("Procesando nodo piezas"); child = child.firstChild(); int numeroPieza = 0; while (!child.isNull()) { QDomElement piezaTemp = child.toElement(); //qDebug() << "Tag: " << piezaTemp.tagName(); if (piezaTemp.tagName() == "pieza") { //qDebug() << "Pieza: "<< numeroPieza << " procesada"; int erodeNumberOfIterations = (piezaTemp.attribute("erodeNumberOfIterations")).toInt(); int colorDistanceThreshold = (piezaTemp.attribute("colorDistanceThreshold").toInt()); int r = (piezaTemp.attribute("r").toInt()); int g = (piezaTemp.attribute("g").toInt()); int b = (piezaTemp.attribute("b").toInt()); QString funcion = piezaTemp.attribute("funcion"); QString descripcion = piezaTemp.attribute("descripcion"); //qDebug("emitiendo pieza"); emit nuevaPieza(numeroPieza, erodeNumberOfIterations, colorDistanceThreshold, r, g, b, funcion, descripcion); numeroPieza++; } child = child.nextSibling(); } } } }