
<dokan> estoy viendo los «changes» y me doy cuenta de que hay que ser más descriptivos con los nombres de los parches,
además de que no es necesario poner la fecha, ya la recuerda darcs, aunque dependerá de la hora local configurada en el pc y por tanto de si vivimos en España, en Argentina o en Mexico, supongo que esto tampoco debería ser un gran problema
<dokan> por ejemplo, viendo los «changes» debería ser capaz de saber que modificaciones hizo el parche que Alex añadió el domingo día 20/04/08 sobre la versión inicial,
y debería poder ver que traía la versión inicial, etc.
<dokan> un ejemplo, acabo de modificar un archivo, si hubiera puesto patch_dokan_fecha quien quiera saber lo que he hecho debe abrir todo, y si recuerda como estaba antes puede que dé con la modificación, sin embargo, ahora sólo haz «darcs pull» y «darcs changes», y enseguida sabrás qué es lo que he modificado.
<dokan> me parece más apropiada la siguiente nomenclatura:
<dokan> FicheroModificado.cpp descripción corta de la modificación
<dokan> no es necesario hacer constar el autor de la modificación puesto que darcs recuerda el mail de quien aplicó ese parche, a no ser que el parche sea de otra persona...
<dokan> por cierto, estoy teniendo muchisimos problemas con el pc, va y viene como un moribundo a punto de cruzar las puertas del cielo
<dokan> si veis que tardo mucho en volver por aquí no os asusteis, estaré buscando un sustituto, pero hasta que falte definitivamente me resisto a cambiar, soy muy fiel
<dokan> rectifico «El nombre y dirección de email que está en _darcs/prefs/author es la que figurará como autor en nuestros parches, o sea, nuestro nombre y la dirección»
darcs recuerda el mail de quien creó el parche, no de quien lo aplicó

 
 Darcs Get http://linecube.sourceforge.net/LineCube  
  
  
  
  
  
 . Menos mal que estás por aquí de nuevo, nos vas a ser de mucha ayuda. En cuanto estés registrado en SF.net te agrego al proyecto. Tendrás que darme tu nick para que pueda hacerlo. Además, me alegra que hayas solucionado lo de WGet y Curl, no tenía ni idea de que pudiese haber esos problemas, pero si a alguien le pasa ya sabe lo que hacer (¡qué raro que te pasara eso, ¿no?!. Creía haber probado contigo Darcs, pero me parece que no habíamos cogido ningún repo de internet, a lo mejor fue eso). Y a drincast, no creo que tengamos prisa por la página, pero, como ya te dije, estaría encantado de que alguien con algo de idea sobre eso nos ayudase, así que si te quieres dedicar a ello, ¡yo encantado! Por último, a Dokan, me parece que la solución para nuestros problemas de nomencaltura de parches no es simple, pero creo que hemos dado con una buena solución y debemos utilizarla, así que haremos lo que propones. ¡Gracias!
 . Menos mal que estás por aquí de nuevo, nos vas a ser de mucha ayuda. En cuanto estés registrado en SF.net te agrego al proyecto. Tendrás que darme tu nick para que pueda hacerlo. Además, me alegra que hayas solucionado lo de WGet y Curl, no tenía ni idea de que pudiese haber esos problemas, pero si a alguien le pasa ya sabe lo que hacer (¡qué raro que te pasara eso, ¿no?!. Creía haber probado contigo Darcs, pero me parece que no habíamos cogido ningún repo de internet, a lo mejor fue eso). Y a drincast, no creo que tengamos prisa por la página, pero, como ya te dije, estaría encantado de que alguien con algo de idea sobre eso nos ayudase, así que si te quieres dedicar a ello, ¡yo encantado! Por último, a Dokan, me parece que la solución para nuestros problemas de nomencaltura de parches no es simple, pero creo que hemos dado con una buena solución y debemos utilizarla, así que haremos lo que propones. ¡Gracias!
 .
 .
 
 y como es de esperar corro el comando "darcs apply UNPARCHE"
 y como es de esperar corro el comando "darcs apply UNPARCHE"

 
 ) que quiero subir la modificacion a source forge.
 ) que quiero subir la modificacion a source forge.




 y me decido a subirlo, mientras lo subia vi un archivo ACTUALIZANDO.txt, que decia los pasos que habia que hacer para actualizar, a lo que supuse que era solo una guia, pero no era el que creo docan para actualizar ajjaja
 y me decido a subirlo, mientras lo subia vi un archivo ACTUALIZANDO.txt, que decia los pasos que habia que hacer para actualizar, a lo que supuse que era solo una guia, pero no era el que creo docan para actualizar ajjaja
 
 
 
 . Me gusta que nos entreguemos de esta manera, seguro que así nos irá bien. Al grano. Lucas preguntó cómo añadir archivos (aunque ya vi que después lo consiguió) que esttén en directorios. Muy sencillo:
 . Me gusta que nos entreguemos de esta manera, seguro que así nos irá bien. Al grano. Lucas preguntó cómo añadir archivos (aunque ya vi que después lo consiguió) que esttén en directorios. Muy sencillo:
darcs add "Directorio/[Otros_directorios]archivodarcs add recursos/img/img.png
 


 
 
 
 
 . Eso habría que discutirlo, si queremos una bajada continua o "a saltitos". A lo mejor modificando un poco la velocidad de caída de la figura (en vez de 5 píxeles 1) y reduciendo un poco el tiempo de espera (en lugar de 200 ms., algo menos de 100ms.) conseguimos que sea más fluído. No sé, habría que probar. Además, en ésto de la caída tendríamos que añadir todavía una opción más que es la de acelerarla con una tecla. Todavía hay que pensar cómo hacerlo.
 . Eso habría que discutirlo, si queremos una bajada continua o "a saltitos". A lo mejor modificando un poco la velocidad de caída de la figura (en vez de 5 píxeles 1) y reduciendo un poco el tiempo de espera (en lugar de 200 ms., algo menos de 100ms.) conseguimos que sea más fluído. No sé, habría que probar. Además, en ésto de la caída tendríamos que añadir todavía una opción más que es la de acelerarla con una tecla. Todavía hay que pensar cómo hacerlo.
 . No, es broma, si pasa algo, avisad.
 . No, es broma, si pasa algo, avisad.

 . Se nota que se te dan genial, y has solucionado con una facilidad pasmosa lo que yo pretendía hacer en breve, que era controlar el movimiento de la figura con un "Uint8 *keys" y comprobando su estado. Simplemente genial. En cuanto a lo de la bajada de la figura... pues también espectacular. Sé que no era muy complejo, pero de nuevo había que manejar timers y no es mi especialidad (parece que la tuya sí), así que, de nuevo, una pasada. Y creo que no me dejo nada, ¿o sí? ¿Has hecho algún otro cambio que no haya visto? Creo que no, así que paso a contestarte lo de las colisiones. No entiendo a qué te refieres con lo de "ver las colisiones desde el fichero principal.cpp y no desde la clase figuras", pero bueno, trataré de explicarte un poco cómo  va el sistema y luego ya modificarás tú como veas. Partimos de que las figuras no tiene unas dimensiones de 4*4, si no que depende. 4*4 son las dimensiones de su mapa, pero tienen zonas a "0" en las que no tienen cuadros. Por lo tanto, la figura del cuadro tiene unas dimensiones de 2*2, la del palo de 1*4... Esas son sus dimensiones reales, y son las que calculo en el método iniciar de la clase "figures". Pues simplemente, el método Colision comprueba que la coordenada Y de la figura + el alto de esa figura no se salgan de la pantalla. y si se salen, lo avisa. También comprueba que la coordenada Y de la figura + el alto de esa figura no llegue a un punto que sea "1", es decir, que esté ocupado por otra figura. Por ahora sólo hace eso, ya que sólo comprueba las colisiones en vertical y hacia abajo. El problema se me ocurrió hace un rato pensando "¿Y las figuras irregulares?". Es decir, la típica "T", que no tiene el mismo alto en todos los puntos y tampoco el mismo ancho (si la giras). Ahí se nos plantea un problema. Por lo tanto, creo que tengo que reconstruír nuevamente toda la parte de colisiones, por lo que no te preocupes por entender completamente este "viejo" sistema.
 . Se nota que se te dan genial, y has solucionado con una facilidad pasmosa lo que yo pretendía hacer en breve, que era controlar el movimiento de la figura con un "Uint8 *keys" y comprobando su estado. Simplemente genial. En cuanto a lo de la bajada de la figura... pues también espectacular. Sé que no era muy complejo, pero de nuevo había que manejar timers y no es mi especialidad (parece que la tuya sí), así que, de nuevo, una pasada. Y creo que no me dejo nada, ¿o sí? ¿Has hecho algún otro cambio que no haya visto? Creo que no, así que paso a contestarte lo de las colisiones. No entiendo a qué te refieres con lo de "ver las colisiones desde el fichero principal.cpp y no desde la clase figuras", pero bueno, trataré de explicarte un poco cómo  va el sistema y luego ya modificarás tú como veas. Partimos de que las figuras no tiene unas dimensiones de 4*4, si no que depende. 4*4 son las dimensiones de su mapa, pero tienen zonas a "0" en las que no tienen cuadros. Por lo tanto, la figura del cuadro tiene unas dimensiones de 2*2, la del palo de 1*4... Esas son sus dimensiones reales, y son las que calculo en el método iniciar de la clase "figures". Pues simplemente, el método Colision comprueba que la coordenada Y de la figura + el alto de esa figura no se salgan de la pantalla. y si se salen, lo avisa. También comprueba que la coordenada Y de la figura + el alto de esa figura no llegue a un punto que sea "1", es decir, que esté ocupado por otra figura. Por ahora sólo hace eso, ya que sólo comprueba las colisiones en vertical y hacia abajo. El problema se me ocurrió hace un rato pensando "¿Y las figuras irregulares?". Es decir, la típica "T", que no tiene el mismo alto en todos los puntos y tampoco el mismo ancho (si la giras). Ahí se nos plantea un problema. Por lo tanto, creo que tengo que reconstruír nuevamente toda la parte de colisiones, por lo que no te preocupes por entender completamente este "viejo" sistema.
SDL_BlitSurface(sur_bggame, NULL, pantalla, NULL); //Pintamos el backgroundSDL_BlitSurface(sur_bggame, NULL, pantalla, &rectangulo_menu_principal); //Pintamos el background-lSDLmain -lSDL -lSDL_image -lSDL_mixer -lSDL_ttfEn cuanto a un guión de programación... No sé si Lucas tiene algo, pero yo para esto soy poco planificador y voy desarrollando según surja la cosa, siempre con las bases de qué quiero lograr en la cabeza. Más que nada, porque aunque tuviera un guión, me desviaría muchísimo de él. TIenes que ir adaptándote un poco a lo que surja y a las necesidades de ese momento del desarrollo del juego. ¿Necesito un método para comprobar colisiones? Me centro en desarrollarlo. ¿Ahora pensaba implementar la aceleración de la ficha, pero para ello necesito implementar nuevos contadores y no contaba con ellos? Pues pasos a paso, empiezo por los contadores y luego ya se verá si surjen más problemas. No creo que sea capaz nunca de seguir un guión...

 Le he dado un vistazo y le he encontrado un par de errores.
 Le he dado un vistazo y le he encontrado un par de errores.
img=SDL_DisplayFormat(img)
 . Es una pasada, ahí con el logo de "LosersDevelopers" a la derecha y, sobre todo, con el logo del juego en la parte superior. Sinceramente, me encanta. Es muy intuitiva, las descripciones que has puesto son muy buenas... Definitivamente, un trabajo perfecto. Ojalá podamos decir pronto lo mismo de la programación del juego... Simplemente decirte que, si ahora te vas a dedicar más a lo de programación, pues yo encantado de tener a alguien más de ayuda. En cuanto a lo de los links... Pues no, no tengo página personal ni nada, así que creo que con añadir las de SDL, LosersJuegos y alguna cosilla más que se nos ocurra, llegará para empezar. Luego si alguien quiere añadir la suya, perfecto. Tampoco tengo ningún problema con lo del contacto, puedes añadir mi mail sin problemas. Por último, decirte que se me han ocurrido algunas secciones, iguales a éstas, que se podrían añadir en el futuro. Una, claro está, sería una sección de "Descargas", para acceder al código del juego, así como a su versión ejecutable. Y otras podrían ser un FAQ sobre el juego o cualquier cosa que se nos ocurra. Estas serían menos importantes, pero si hacen falta se podrían poner... Bueno, lo principal es acabar la primera versión del juego y permitir que se descarge su ejecutable.
 . Es una pasada, ahí con el logo de "LosersDevelopers" a la derecha y, sobre todo, con el logo del juego en la parte superior. Sinceramente, me encanta. Es muy intuitiva, las descripciones que has puesto son muy buenas... Definitivamente, un trabajo perfecto. Ojalá podamos decir pronto lo mismo de la programación del juego... Simplemente decirte que, si ahora te vas a dedicar más a lo de programación, pues yo encantado de tener a alguien más de ayuda. En cuanto a lo de los links... Pues no, no tengo página personal ni nada, así que creo que con añadir las de SDL, LosersJuegos y alguna cosilla más que se nos ocurra, llegará para empezar. Luego si alguien quiere añadir la suya, perfecto. Tampoco tengo ningún problema con lo del contacto, puedes añadir mi mail sin problemas. Por último, decirte que se me han ocurrido algunas secciones, iguales a éstas, que se podrían añadir en el futuro. Una, claro está, sería una sección de "Descargas", para acceder al código del juego, así como a su versión ejecutable. Y otras podrían ser un FAQ sobre el juego o cualquier cosa que se nos ocurra. Estas serían menos importantes, pero si hacen falta se podrían poner... Bueno, lo principal es acabar la primera versión del juego y permitir que se descarge su ejecutable.

 
   
   antes q nada, perdonen x mi ausencia.. pero es q al parecer tengo problemas con la pagina..
  antes q nada, perdonen x mi ausencia.. pero es q al parecer tengo problemas con la pagina.. 
  
  x alguna extraña razon ya no me envia notificaciones cuando alhuien postea algo nuevo..:S:S asi q esta es la 3ra vez q entro x propia voluntad y me topo con un cerro de nuevos post y se me hace dificil leer tantos de golpe..
  x alguna extraña razon ya no me envia notificaciones cuando alhuien postea algo nuevo..:S:S asi q esta es la 3ra vez q entro x propia voluntad y me topo con un cerro de nuevos post y se me hace dificil leer tantos de golpe.. 
  
   x eso he decidido imprimirlo todo desde la ultima vez q yo he posteado para asi tener a la mano todo lo q se ha dicho desde entonces
  x eso he decidido imprimirlo todo desde la ultima vez q yo he posteado para asi tener a la mano todo lo q se ha dicho desde entonces   
 
 
   espero q no hayan hablado de mas..U.U ni se hayan explayado mucho para decir cosas poco relevantes (u.u como hago yo
 espero q no hayan hablado de mas..U.U ni se hayan explayado mucho para decir cosas poco relevantes (u.u como hago yo  )
) , ahora q hago
, ahora q hago



//Carga la imagen
void Block::Cargar_IMG(const char *path)
{
    SDL_Surface *sur_auxiliar;//Superficie auxiliar para cargar la imagen
    
    sur_auxiliar = IMG_Load(path);//Carga la imagen
    img = SDL_DisplayFormat(sur_auxiliar);//Convierte el formato de la imagen al de pantalla para acelerar el blitting
    SDL_FreeSurface(sur_auxiliar);//Libera la superficie auxilar
}//Carga la imagen
void Block::Cargar_IMG(const char *path)
{
    img = IMG_Load(path);//Carga la imagen
}int Bajar(Cuadricula *mapa_colisiones);//Suma las velocidades a la posiciónint Bajar(Cuadricula mapa_colisiones);//Suma las velocidades a la posición//Mueve la figura en el eje Y hacia ajo continuamente
int Figures::Bajar(Cuadricula *mapa_colisiones)
{
    int **copy_mapa;//Mapa de la cuadrícula
    int posx, posy;//Posiciones de la figura en las dimensiones de la cuadrículaç
    int k, n;//Contadores
    
    if(mapa_colisiones->Colision(x, y, mapa, ABAJO) == COLISION)//Si choca la figura
    {
        dy = 0;//Si choca la figura, la frena
        copy_mapa = mapa_colisiones->GetCuadricula();//Obtiene la dirección de memoria del primer elemento del mapa.
        
        posx = (int)x/LADO_BLOQUE;//Calcula la coordenada x
        posy = (int)y/LADO_BLOQUE;//Calcula la coordenada y
     
        for(k = 0; k < LADO_FIGURA; k++)//Recorre el primer índice del mapa
        {
             for(n = 0; n < LADO_FIGURA; n++)//Recorre el segundo índice
             {
                 if(mapa[k][n] != 0 && posy + k < mapa_colisiones->GetH() 
                    && posx + n < mapa_colisiones->GetW())//Si no se sale de la cuadrícula y es distinta de 0 la celda
                     copy_mapa[posy+k][posx+n] = mapa[k][n];//Copia en la cuadrícula la forma de la figura
             }
        }
        
        return -1;//Devuelve -1 (parado)
    }
    
    y += dy;//Mueve la figura hacia abajo
    
    return 0;//Devuelve 0 por defecto
}//Mueve la figura en el eje Y hacia ajo continuamente
int Figures::Bajar(Cuadricula mapa_colisiones)
{
    int **copy_mapa;//Mapa de la cuadrícula
    int posx, posy;//Posiciones de la figura en las dimensiones de la cuadrículaç
    int k, n;//Contadores
    
    if(mapa_colisiones.Colision(x, y, mapa, ABAJO) == COLISION)//Si choca la figura
    {
        dy = 0;//Si choca la figura, la frena
        copy_mapa = mapa_colisiones.GetCuadricula();//Obtiene la dirección de memoria del primer elemento del mapa.
        
        posx = (int)x/LADO_BLOQUE;//Calcula la coordenada x
        posy = (int)y/LADO_BLOQUE;//Calcula la coordenada y
     
        for(k = 0; k < LADO_FIGURA; k++)//Recorre el primer índice del mapa
        {
             for(n = 0; n < LADO_FIGURA; n++)//Recorre el segundo índice
             {
                 if(mapa[k][n] != 0 && posy + k < mapa_colisiones.GetH() 
                    && posx + n < mapa_colisiones.GetW())//Si no se sale de la cuadrícula y es distinta de 0 la celda
                     copy_mapa[posy+k][posx+n] = mapa[k][n];//Copia en la cuadrícula la forma de la figura
             }
        }
        
        return -1;//Devuelve -1 (parado)
    }
    
    y += dy;//Mueve la figura hacia abajo
    
    return 0;//Devuelve 0 por defecto
}if (figmove_tim.GetCurrentTime() > fig_delay)
                {
                    parada = figura_actual->Bajar(&mapa);//PRUEBA DE MOVIMIENTO
                    figmove_tim.ResetTime();
                }if (figmove_tim.GetCurrentTime() > fig_delay)
                {
                    parada = figura_actual->Bajar(mapa);//PRUEBA DE MOVIMIENTO
                    figmove_tim.ResetTime();
                } 
Volver a Planificación y eventos
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados