Calendario para Ubuntu 12.04 LTS

Ya se ha hecho público el calendario de lanzamientos de la próxima versión de Ubuntu con soporte extendido (LTS, Long Term Support). Como su número indica (12.04) la versión final de la misma estará disponible en Abril de 2012. A continuación os detallo las fechas de los diferentes lanzamientos:

  • 1 de Diciembre de 2011: Alpha 1
  • 2 de Febrero de 2012: Alpha 2
  • 1 de Marzo de 2012: Beta 1
  • 22 de Marzo de 2012: Beta 2
  • 19 de Abril de 2012: Release Candidate
  • 26 de Abril de 2012: Ubuntu 12.04 versión final

El codename de esta versión de Ubuntu está aun por decidir. Os dejo algunas de las propuestas:

  • Pleasant Pheasant
  • Psychedelic Peacock
  • Pacifist Penguin
  • Perpetual Puma
  • Perceptive Polecat
  • Pragmatic Peafowl
  • Polished Pronghorn
  • Placid Platypus
  • Placid Penguin
  • Placid Python
  • Placid Panda
  • Poetic Panda
  • Passionate Panda
  • Polished Penguin
  • Pretty Pig

Sí, nombre y adjetivo que empiezan por P. Podéis encontrar la lista completa y proponer alguna nueva en el siguiente enlace. Mi preferido es:  Pacifist Penguin, ¿y el tuyo? read more

Leer más » 13 Comentarios

Cloud

Leer más » 6 Comentarios

¿Cómo hacer una llamada que involucre a dos bases de datos?

Cuando trabajamos con una base de datos con SQL (no quiero olvidarme de esas menos conocidas pero no por ello menos útiles NoSQL), es muy frecuente realizar consultas que involucren dos tablas pero no es tan normal, que estas dos tablas estén en bases de datos diferentes.

En el caso particular de MySQL (aunque se realiza de forma similar en otros sistemas gestores de bases de datos) hacemos lo siguiente para realizar una consulta: read more

Leer más » 6 Comentarios

Lo mejor de mi RSS del 1 al 7 de agosto

Leer más » 1 Comentario

¿Cuál es el equivalente de la función NVL de Oracle en MySQL?

Cuando estamos realizando consultas contra una base de datos, en nuestro SELECT es posible que estemos usando campos que puedan ser iguales a NULL y que pueden afear nuestras salidas o directamente, crearnos problemas en nuestros desarrollos (por ejemplo porque tratemos de forma lógica lo mismo la cadena vacía y el NULL). read more

Leer más » 3 Comentarios

Curso programación de videojuegos con SDL – Cargando imágenes con SDL

Ya hemos visto cómo cargar una ventana simple con SDL y ponerle título. No está mal para comenzar, pero estaréis deseando hacer algo más. Lo siguiente que haremos será cargar una imagen en pantalla operación que se repite multitud de veces en cualquier juego a la hora de cargar tanto fondos, como personajes.

Para carga una imagen haremos lo siguiente:

  1. Declaramos un puntero a una variable del tipo SDL_Surface: SDL_Surface *jugador;
  2. Declaramos una variable del tipo SDL_Rect:SDL_Rect posicion;
  3. Cargamos el mapa de bits: jugador=SDL_LoadBMP(“avion.bmp”);
  4. Asignamos la posición, mediante sus coordenadas X e Y:
    posicion.x=320;
    posicion.y=400;
  5. Acoplamos la imágen al “screen”: SDL_BlitSurface(jugador, NULL, screen, &posicion);
  • jugador: superficie (SDL_Surface) que queremos insertar o de orígen.
  • NULL: indica que queremos insertar toda la imagen.
  • screen: superficie dónde se va a insertar.
  • posicion: la posición dónde se colocará.

Ya tenemos la imagen cargada. El problema de cargarla de esta manera es que no tenemos transparencias y tendríamos la imagen nuestra, avión sobre fondo blanco, apareciendo sobre el fondo, azul (imitando al mar), por lo que alrededor del avión quedaría un recuadro blanco que sin duda quedaría muy mal. Para eliminar este fondo blanco y hacer que SDL lo cargue transparente hacemos lo siguiente:

  1. Definimos una máscara con el color RGB del color a hacer transparente. En este caso el blanco, RGB(255,255,255): #define MASK 255, 255, 255
  2. Hacemos transparentes los píxeles blancos: SDL_SetColorKey (jugador, SDL_SRCCOLORKEY, SDL_MapRGB (jugador->format, MASK));
  • jugador: la superficie en la que aplicar el efecto.
  • SDL_SRCCOLORKEY: Indicar hacer transparencia.
  • SDL_MapRGB jugador->format: formato de la imagen
  • SDL_MapRGB MASK: máscara, en realidad son tres parámetros, (r,g,b).

De esta manera conseguimos un resultado así:

Veamos el código al completo:

#include <stdio.h> #include <stdlib.h> #include <SDL.h> #define MASK 255, 255, 255 int main() { SDL_Surface *screen; SDL_Surface *fondo; SDL_Surface *jugador; SDL_Event event; int terminar=0; SDL_Rect posicion; int i, j; if (SDL_Init(SDL_INIT_VIDEO) < 0) { printf("No se pudo inicializar SDL: %s\n", SDL_GetError()); exit(1); } fondo = SDL_LoadBMP("fondo.bmp"); jugador = SDL_LoadBMP("avion.bmp"); SDL_SetColorKey (jugador, SDL_SRCCOLORKEY, SDL_MapRGB (jugador->format, MASK)); screen = SDL_SetVideoMode( 640, 480, 16, SDL_HWSURFACE ); if( screen == NULL ) { printf( "Error al entrar a modo grafico: %s\n", SDL_GetError() ); SDL_Quit(); return -1; } SDL_WM_SetCaption( "Moviendo nuestro avion", " Moviendo nuestro avion" ); for (i=0; i<10; i++) for (j=0; j<10; j++) { posicion.x=64*i; posicion.y=48*j; SDL_BlitSurface(fondo, NULL, screen, &posicion); } posicion.x=320; posicion.y=400; SDL_BlitSurface(jugador, NULL, screen, &posicion); SDL_Flip(screen); while(terminar == 0) { while ( SDL_PollEvent(&event) ) { if ( event.type == SDL_KEYUP ) terminar = 1; } } SDL_Quit(); return 0; } read more

Leer más » 13 Comentarios

Egipto


egipto

Si no tenían youtube algo tendrían que hacer.

Leer más » 3 Comentarios

Lo mejor de mi RSS del 25 al 31 de julio

Leer más » 3 Comentarios

Ubuntu One ofrece 5GB gratis

Desde Ubuntu Freak me entero de que Ubuntu One ofrece ahora en el paquete básico 5GB de forma gratuita, en lugar de los 2GB de los que hasta ahora tenía.

Llevo algún tiempo usándolo y no he tenido ningún problema, salvo al correrlo sobre Windows que no funciona tan fluido como en Ubuntu, pero eso no lo considero un fallo. Sigo usando Dropbox, me parece un buen servicio, funciona muy bien, y sobre mi terminal Android no tengo ningún inconveniente ni limitación usando la versión gratuita. read more

Leer más » 3 Comentarios

30 años de MS-DOS, revívelo con DOSBox

El 27 de julio de 1981 se publicó la primera versión de MS-DOS, el mítico sistema operativo por comandos de Microsoft. Los antecedentes de este sistema operativo era QDOS y 86-DOS desarrollados por Seattle Computer Products (SCP).

Tengo muy buenos recuerdos de este sistema operativo, en mi infancia era un usuario avanzando y sabía muchos de los comandos que tenía el sistema. El saber que ha cumplido su trigésimo aniversario ha hecho sentirme nostálgico. En aquella época Linux se implementaba en las universidades y muchos de nosotros sólo conocíamos este sistema operativo antes de que llegase Windows 3.1 y, más adelante, el famoso Windows 95. Con MS-DOS disfruté de la Edad de Oro del Videojuego Español, así como otros maravillosos juegos como Prince of Persia, Alley Cat, etc. read more

Leer más » 6 Comentarios