Archivo

Archive for the ‘C/C++’ Category

Libros y Papers sobre C++

¿Querés aprender C/C++? Ahora no vas a tener excusa.

Les traigo una post del foro elhacker.net donde se encuentran, para descarga directa, una gran cantidad de libros y papers sobre programación en C y C++, tanto en plataformas Windows como Linux. Hay gran variedad de temas sobre programación en C/C++, como programación de videojuegos, de sockets, o de interfaces Qt4.

El link para ingresar al post: [Libros/Papers] Programación en C/C++.

Shove It! Mi juego ya está terminado

Después de una ausencia de unos días en el blog he vuelto. Y traigo conmigo mi nuevo juego. Está en face BETA, ya que aún me falta crear un editor de mapas y nuevos mapas. Pero el proyecto en sí ya está listo.

Ya he terminado de programar el juego, sólo me quedan aspectos exteriores.

Para los que lo quieran probar, la web del proyecto es: sourceforge.net/projects/shoveit.

Desde allí lo pueden descargar para probarlo. Ojo! Recién cuenta con un mapa que es de prueba, no tiene ninguna dificultad en su resolución, pero es para probar el sistema de colisiones y otros movimientos. La versión 0.2 implementará un editor de mapas y mapas para resolver.

En breve terminaré las modificaciones para subir la versión 0.2. Además compilaré una versión para Windows.

Para compilarlo necesitan poseer las bibliotecas SDL. Para instalarlas en una distribución basada en Debian (como Ubuntu) sólo debes ejecutar, como root, el siguiente comando:

apt-get install libsdl1.2-dev

El juego cuenta con una serie de clases programadas por mí para facilitar la programación del juego bastantes interesantes. Si tengo tiempo las voy a compilar como librerías para programar junto con SDL.

Un screenshot del juego:

El juego consiste en acomodar todas las cajas dentro de los casilleros marcados en el mapa. Como en el caso del screenshot, con la + tengo que empujar la caja hasta acomodarla en el cuadrado que tiene contorno blanco y el centro negro. Se gana una vez que todas las caja estén acomodadas en estos cuadrados.

Obviamente esto no tiene nada de dificultad porque es solo un mapa de pruebas. En la versión 0.2, como ya dije, habrán mapas para ya poder jugar y pensar :).

Categorías:C/C++, Programación

Artículo sobre programación de un "Bong" con SDL

Navegando por la web encontré un artículo bastante interesante que explica cómo programar un “bong” con SDL, implementando un sistema de colisiones.

Enlace: http://acuv.webs.upv.es/index.php?option=com_content&view=article&id=199:tutorial-sdl-hagamos-un-qbongq&catid=8:general&Itemid=12

Primer juego SDL con sistema de colisiones

Amigos, luego de haberme terminado de leer 2 libros sobre programación con SDL 🙂 he creado una especie de librerías que facilitan mucho el trabajo a la hora de programar videojuegos, que nos ayudan a inciar el sistema gráfico más rápido ,y lo mejor es que incorpora un sistema de detección de colisiones que me tomó bastante trabajo hacerlo porque tuve que aplicar geometría a full.

Además, desarrollé un pequeño ejemplo llamado “game” donde muestra cómo una X colisiona contra una pared de ladrillos. Más adelante explicaré el sistema de colisiones.

Acá dejo los fuentes, donde viene el source del juego:

game_collision.tar

csprite.cpp/csprite.h y csurface.cpp/csurface.h y config.h conforman la librería en sí, o sea, son clases sencillas que me permiten simplificar el trabajo.

Antes que nada, para desarrollar un videojuego como este o compilar este mismo necesitas las librerías SDL(Simple DirectMedia Layer) que nos permiten el manejo del video, del audio, del joystick, eventos, étc. Para las distribuciones basadas en Debian puedes instalarlas con un simple “apt-get install libsdl1.2-dev”. La página oficial de estas librerías es www.libsdl.org.

Una vez que descomprimas el archivo y entres a la carpeta tendrás que compilar los sources así:

g++ -o game game.cpp csprite.cpp csurface.cpp `sdl-config --cflags --libs`

El ejemplo que diseñé consta de una X que se puede mover a nuestro antojo a través de la pantalla, de una caja de madera que sólo se puede mover cuando es empujada por la X, y de una pared de ladrillos que está fija, y X no puede traspasarla, ya que topa contra esta.

Si quieres utilizar las “librerías” y necesitas más info, comunicate conmigo a mi mail.

En el próximo artículo explicaré todo lo relacionado con las colisiones de objetos 2D.

 

Categorías:C/C++, Programación

Manual sobre SDL en castellano

Tanto tiempo. Aquí les traigo un manual sobre SDL (Simple DirectMedia Layer), la librería por excelencia para trabajar con multimedia e imágenes, que nos facilitará el trabajo de la programación de videojugos 2D con imágenes.

Este libro enseña los conceptos de una forma “muuy” clara y concisa y además nos enseña cómo programar un simple juego.

Enlace: http://www.scribd.com/doc/8689046/eBookProgramacion-de-Videojuegos-Con-SDL.

Se encuentra alojado en Scribd.com. Este “gran tutorial” nos dará la base suficiente para comenzar a programar nuestr juego desde 0. Yo ahora estoy terminando el mío, en breve lo subiré :).

Introducción a shellcodes en Linux

Aquí les traigo un videotutorial muy interesante sobre programación de shellcodes sobre Linux. Da una introducción muy buena para explicar los conceptos que abrcan este campo.

Dev-C++: IDE y compilador de C/C++ para Windows

Bloodshed Dev-C++ es un entorno de desarrollo integrado (IDE por sus siglas en inglés) para programar en lenguaje C/C++. Usa MinGW que es una versión de GCC (GNU Compiler Collection) como su compilador. Dev-C++ puede además ser usado en combinación con Cygwin y cualquier compilador basado en GCC.

El Entorno está desarrollado en el lenguaje Delphi de Borland. Tiene una página de paquetes opcionales para instalar, con diferentes bibliotecas de código abierto.

Instalación

1. Descargar la versión Dev-C++ 5 Beta 9 (versión 4.9.9.2) (8,89 MB).

2. Ejecutar el archivo devcpp-4.9.9.2_setup.exe y seguir las instrucciones en pantalla.

3. Tras la instalación Dev-C++ se ejecuta automáticamente para configurarlo.

4. Elegir Idioma (Español (Castellano)) y tema (New Look + Xp Theme) y aceptar.

5. Decirle que quereis crear la cache de ficheros de cabecera (se lleva un ratete).

6. Al fin arrancará Dev-C++. Ahora hay que tocar las opciones de configuración:

  1. Herramientas -> Opciones del compilador -> Configuración -> Linker -> Generar información de debug -> YES
  2. Herramientas -> Opciones del entorno -> Principal: Activar Crear archivo de respaldo
  3. Herramientas -> Opciones del editor -> Principal: Activar Resaltar llaves y parentesis concordantes.
  4. Herramientas -> Opciones del editor -> Visualización: Activar Número de línea.
  5. Herramientas -> Opciones del editor -> Sintaxis: Seleccionar en Pre-configuracicones: Classic

7. Descargar el manual de la biblioteca estándar de C para Dev-C++ 5 (1,29 MB).

8. Abrir el Manejador de Paquetes de Dev-C++ (Herramientas -> Package Manager).

9. Pulsar Install y seleccionar GlibcHelp.DevPak

10. Seleccionar Ayuda -> Configurar el Menú de ayuda

  1. Pulsar Añadir y seleccionar Libc.hlp (posiblemente en Cev-CppHelp).
  2. Editar el texto del menú para que ponga “Manual de Ayuda de la biblioteca estándar de C”
  3. Activar Busca en el archivo…

11. Descargar el manual de la biblioteca estándar de C++ (2,78 MB).

12. Copiarlo en Cev-CppHelp (o el directorio correspondiente)

13. Seleccionar Ayuda -> Configurar el Menú de ayuda

  1. Pulsar Añadir y seleccionar libstdc++-3.3.2.chm (posiblemente en Cev-CppHelp).
  2. Editar el texto del menú para que ponga “Manual de Ayuda de la biblioteca estándar de C++”
  3. Activar Busca en el archivo…

14. Ya está, ¡a trabajar!

Videotutorial para aprender a programar en Dev-C++

Aquí les dejo el primer tutorial de una colección que enseña cómo dar los primeros pasos para programar con Dev-C++:

Aprender a programar con Dev-C++