Archive for octubre 2013

rock Spock paper lizard scissors en phyton básico

En una ocasión os mencioné coursera, y coursera consigue que haga este código muy básico de python. ¿Conocéis el juego de The Big Bang Theory? Os dejo un video muy ilustrativo:

Etiquetas: , , , , , , ,
Deja un comentario

Código Joysticks con SDL

Os traigo dos ejemplos de código con joysticks. ¡Me lo he pasado como un niño pequeño!


El primer código simplemente lista los joystick conectados y algunos detalles, mientras que el segundo mueve un personaje (imagen) por la pantalla. Es una chorrada, ¡pero cómo me lo he pasado! Diez minutos moviendo el joystick como un imbécil viendo cómo se movía el personaje al mismo tiempo.

Etiquetas: , ,
Deja un comentario

Desarrollo de videojuegos en SDL VII - Joystick

Joystick
SDL le dedica un subsistema sólo para ello, pero no es le más completo debido a que hay muchos y no siguen un estándar.


Gestión mediante eventos
Los ejes de movimiento del joystick producen el evento de tipo SDL_JoyAxisEvent:
typedef struct{
Uint8 type; // al mover el eje produce SDL_JOYAXISMOTION
Uint8 which; //que joystick
Uint8 axis; //que eje
Sint16 value; //valor del movimiento
} SDL_JoyAxisEvent;

Etiquetas: , ,
Deja un comentario

Desarrollo de videojuegos en SDL VI - Ratón

Llegados hasta aquí, me gustaría recordar que nada de esto es mi autoría y viene del Tutorial de libSDL para la programación de videojuegos. Tampoco está escrito a modo de divulgación, sino a modo de constancia de lo aprendido en mi viaje y, por tanto, hasta para mi opinión, es un poco desastre las entradas escritas hasta ahora.


Ratón
Tiene dos tipos de eventos
De movimiento: contiene la posición del puntero, posición relativa respecto al anterior movimiento y si hay botón pulsado y cuál.
De pulsación: muy similar al de teclado.

Etiquetas: , , ,
Deja un comentario

Día 82

Hoy ya he podido organizar mejor mi tiempo y vengo con bastantes cosas que había hecho en días anteriores y no había escrito. Y todavía me quedan varias cosas por escribir, que dejaré para el próximo día.


Hoy ha sido un buen día, no lo he dedicado mucho a recorrer mi camino, pero si ha sido aprovechado para otras cosas de las que os hablaré en otra entrada.

Pero de lo que sí hablaré, es que del tutorial que llevo tanto tiempo con él y que es prácticamente todo lo que escribo aquí, he llegado a la parte de los eventos con los joystick, y casualidad de la vida, mi compañero de piso tiene un joystick que tomé prestado para probar.

Etiquetas:
Deja un comentario

Sinergia sin control

Amenizando un poco mi vida, leo cómics, tanto en papel como en web, y uno de los que suelo leer es Sinergia sin control, con el que suelo identificarme (y como yo, seguro muchos informáticos) y otras en las que no me identifico pero seguro no tardará en tocarme...

Eso si, humor a raudales!! Aquí una prueba que no es de las más divertidas ni de las mejores que tiene, pero que me parece buenísima.

Etiquetas: , ,
Deja un comentario

Códigos SDL - eventos básicos teclado y ratón

Unos pocos códigos para estudiar y ver su funcionamiento, copiados basados en el tutorial con el que llevamos estos días.


En este caso son eventos de teclado y ratón. Incluyendo un cambio de cursor del ratón, el cual salió muy raro y no sé si es que está mal el código que había en el tutorial o mi ordenador lo ve raro.

Etiquetas: , , , ,
Deja un comentario

Desarrollo de videojuegos en SDL V

Y nos vamos a los eventos en SDL, de Tutorial de libSDL para la programación de videojuegos.


La estructura principal es
typedef union{
Uint8 type;
SDL_ActiveEvent active; //tipo de evento
SDL_KeyboardEvent key;
SDL_MouseMotionEvent motion;
SDL_MouseButtonEvent button;
SDL_JoyAxisEvent jaxis;
SDL_JoyBallEvent jball;
SDL_JoyHatEvent jhat;
SDL_JoyButtonEvent jbutton;
SDL_ResizeEvent resize;
SDL_QuitEvent quit;
SDL_UserEvent user;
SDL_SysWMEvent syswm;
} SDL_Event;

Etiquetas: , , ,
Deja un comentario

Día 81

Ya paso de decir nada sobre mi voluntad, lo que tardo en escribir, que si haré esto, lo otro... Tan solo seguiré. Y seguir, aquí sigo, tratando de repartir mi tiempo entre todo y he avanzado bastante. Hay cosas nuevas, cosas excitantes, buenos avances (dentro de lo que cabe).


Y el hecho de dejar para el final escribir las entradas, lo fastidia todo. Llego tan cansado del viaje que no soy capaz de plasmar aquí lo realmente sucedido en el día e incluso he dejado cosas para publicar mañana. Ya sé que es lo siguiente a cambiar.

Etiquetas:
Deja un comentario

Código practica - bitmaps con SDL

Dos códigos, dos simples mains, uno cargo una imagen bmp en pantalla y el otro más de lo mismo, base para todo videojuego que pueda hacer y que se honre con tal nombre. Hasta ahora no tengo nada que lleve ese nombre.
Peeero, estos códigos son imprescindibles para mi camino a recorrer. ^^


Lo único a tener en cuenta en el código es la ruta hacia la imagen que se muestra, que debe ser si o si bmp. (Según la definición del método, tampoco he probado).

Etiquetas: , , , , ,
Deja un comentario

Desarrollo de videojuegos en SDL IV

Continuamos con el pdf Tutorial de libSDL para la programación de videojuegos y sacándole mucho jugo, ¡cada vez más animado para hacer un juego! ¿Es posible que al terminar el pdf tenga ya uno?


Mapas de bits
Con SDL_Rect definimos el tamaño del cuadrado a copiar y la posición

Cargamos una imagen con el siguiente método, el cual devuelve NULL ante problemas.
SDL_Surface *SDL_LoadBMP(const char *file);

Etiquetas: ,
Deja un comentario

Día 67

Querido diario:
Cómo se nota la diferencia cuando tienes vacaciones y puedes viajar a gusto, a tener que ocuparte también de otras cosas y más cuando te metes todavía más carga de trabajo.


Pero voy animado, no estoy realmente ocupando todo mi tiempo y tengo todavía un par de días para mejorar mi gestión del tiempo y ver como continuar mi viaje sin problemas.

Etiquetas:
Deja un comentario

Simples gráficos en SDL ampliado

Tras corregir el código de la entrada anterior, he añadido una clase triángulo y modificado el de la recta para permitir rectas oblicuas. El main ahora saca cualquier figura al azar.


Etiquetas: , ,
Deja un comentario

Día 65

Tiempo, tiempo, tiempo. Ese recurso que tanto dicen que malgastamos y que después lamentaremos.


Yo desde luego, aunque no es la mejor vida que escogería, estoy contento con mi vida y no lo cambiaría, y por ende, no pienso que esté perdiendo el tiempo. Pero si administrándolo un poco mal...

Etiquetas:
Deja un comentario

Simples gráficos en SDL

Código!!


Para el que haya echado un vistazo al pdf que sigo, notará que he hecho un copy-paste impresionante, y para colmo de males, no funciona CORREGIDO. Tengo que revisar mejor el código, pero algo hace que se cuelgue y tenga que cerrar por las malas la terminal.

Etiquetas: , ,
Deja un comentario

Día 63

Nadie se convierte en maestro de la nada. Todos los grandes maestros han sido alguna vez alumnos. Y desde luego yo no soy una excepción.


Dejando de lado si llegaré a maestro o no, soy ahora mismo un alumno, y sabiendo de lo inútil que soy siendo autodidacta, me he apuntado a unos cursillos de Coursera. Hay cosillas interesantes, y aunque no sean cosas sobre mi camino, creo que me ayudarán y mantendrán vivo el esfuerzo y constancia en el estudio.

Etiquetas:
Deja un comentario

Oculus Rift

Quiero compatir con vosotros un dispositivo que me parece muy bueno y que ya lleva un tiempo (poco) en el mercado, pero todavía a modo de desarrollo, no de comercialización para el gamer.


Ese dispositivo, es el Oculus Rift. Unas gafas que te sumergen en el juego de una forma bastante realista. La verdad es que he visto vídeos ¡y me quedo con muchas ganas de probarlo y que lo comercialicen con juegos!

Etiquetas: , ,
Deja un comentario

Desarrollo de videojuegos en SDL III

Y seguimos con el tutorial de SDL de Antonio García Alba, las partes I y II por si os lo habéis saltado.


Manejo overlay
Crea un overlay. En caso de error devuelve NULL.
SDL_Overlay *SDL_CreateYUVOverlay(int width, int height, Uint32 format, SDL_Surface *display);


Libera el overlay
void SDL_FreeYUVOverlay(SDL_Overlay *overlay);


Antes de acceder a los datos del pixel, hay que bloquear y después desbloquear.
int SDL_LockYUVOverlay(SDL_Overlay *overlay); //cero si correcto, -1 al contrario void SDL_UnlockYUVOverlay(SDL_Overlay *overlay);

Etiquetas: ,
Deja un comentario

Día 62

Un día más con la intención de recorrer camino. ¿Os acordáis de mis queridos compañeros de viaje? Deimos y Lyria.

Deimos había caído bajo una tormenta, teniendo que ingresarlo, y tras largo tiempo y muchas peleas con los responsables, he conseguido su medicina y ahora ya está de nuevo en pie. Pero todavía le queda rehabilitación... Creo que en un par de días estará de nuevo en marcha.


En cuanto a Lyria, cayó un par de semanas después. Y aunque ahí estaba, no terminaba de recuperarse. Hace poco que por fin ya la tenía de nuevo entre mis brazos como antaño.

Etiquetas:
Deja un comentario

Desarrollo de videojuegos en SDL II

Continuando la entrada anterior sobre el tutorial de Antonio García Alba


Inicialización de librerías adicionales
  • SDL_image
  • #include &ltSDL/SDL_image.h&gt

    compilar con -lSDL_image

Etiquetas: ,
Deja un comentario

Desarrollo de videojuegos en SDL I

Otro de los pdf que encontré y hasta ahora el que mejor pinta tiene para ayudarme a arrancar con algún jueguecito y estrenar mi portfolio.


Se titula Tutorial de libSDL para la programación de videojuegos y empieza con mucha teoría sobre SDL acompañado de bastante código de ejemplo para ir practicando. Algo ya había puesto en esta entrada, pero volveré a postearlo para dejar una serie de entradas juntas sobre dicho tutorial.

Etiquetas: ,
Deja un comentario

Día 61

Sin palabras... Algo más de un mes parado.

Vale, si, tengo "excusas", motivos que me han metido en esa situación. Pero no puedo evitar agachar la cabeza ante un conteo de días en los que debería tener algún resultado, contando con el mantener el blog, y, en lugar de eso, sin resultados y un parón de un mes.

Etiquetas:
Deja un comentario