Vectores Dinámicos en Java

Estructura de Datos : Vectores

Los vectores son estructuras de datos similares a los arreglos, pero más desarrollados, ya que entre otras cosas, crecen y decrecen dinámicamente, según se necesite. En algunos lenguajes, el tamaño de un arreglo queda fijo en tiempo de compilación. En otros lenguajes, la dimensión del arreglo, queda fijada en tiempo de ejecución. No obstante, una vez fijada, no puede alterarse. La real necesidad es que la estructura de datos pueda ajustar su capacidad dinámicamente durante todo el tiempo de ejecución. En ingles esta estructura de datos es vectors.



La estructura de datos que puede crecer y decrecer dinámicamente, en todo momento, según las exigencias de ejecución se llama vector. La estructura de datos vector representa un conjunto de objetos. El conjunto de objetos es de tamaño variable. Se incorporan objetos hasta colmar la capacidad total del vector. Cuando se requiera incorporar un nuevo objeto en un vector lleno, el vector se expande automáticamente, según la capacidad incremental definida. La capacidad inicial, por default, es 10. La capacidad incremental, por default, es el doble de la existente en el momento de la expansión. Si no se desea este crecimiento exponencial, se puede especificar la capacidad incremental, y en esa capacidad crecerá el vector cada vez que se expanda. Cuando la capacidad del vector está agotada, el vector se redimensiona y se reubica automáticamente. La redimensión del vector acontece como se mencionó más arriba, según se haya explicitado o nó una capacidad incremental. En el momento de la redimensión se crea un nuevo vector. A continuación se reubican todos los elementos del vector viejo, copiandolos en el nuevo, para finalmente ubicar el nuevo elemento que provocó la expansión, en el vector nuevo.


Reparar que la estructura de datos vector es absolutamente general al almacenar objetos. En comparación, los arreglos son estructuras de datos de un solo tipo, por ejemplo un arreglo de enteros. Los vectores, al ser conjuntos de objetos pueden contener objetos de los más diversos tipos. Así podemos definir a un vector como el almacenamiento de una secuencia de objetos.


Tutoriales para programar juegos en PYGAME



Pygame es un conjunto de módulos multimedia para Python, especialmente diseñada para la programación de juegos utilizando la biblioteca SDL No es un IDE para Python, ni una herramienta de desarrollo de juegos (como podría ser RPG Maker o Game Maker).. Pygame permite desarrollar rápidamente juegos y software multimedia capaces de funcionar en prácticamente cualquier plataforma, gracias a la portabilidad de Python.

Las SDL (Simple DirectMedia Layer) son un conjunto de bibliotecas que proporcionan funciones básicas para realizar operaciones de dibujado 2D, gestión de efectos de sonido, música, carga y gestión de imágenes (y son importantes ya que pygame trabaja sobre ellas). Básicamente es una librería similar a OpenGL o DirectX (solo en la parte 2D), diseñada para ser más fácil de usar que estas otras (además OpenGL solo se encarga de la parte gráfica, en cambio SDL incluye otras cosas como son los sonidos). Son utilizadas en numerosos lenguajes, como C, C++, Perl, Ada, Python, etc.

Pygame se encarga de gestionar:
  • Imágenes en formato PNG, BMP, PCX, TGA ...
  • Sistemas de sonido, formatos MOD, OGG, MP3...
  • Operaciones relacionadas con el gestor de ventana.
  • Eventos de aplicación y dispositivos de entrada como mouse, teclado y joystick.
  • Temporizadores.
  • Colisiones, sistema de Sprites (objetos de un juego).
Requesitos previos
  1. Conocimientos de Python. Se da por hecho que se manejan con soltura la creación de clases, funciones y demás.
  2. Algo de matemáticas y física básica. Para empezar con conceptos básicos de lo que es un punto matemática y algunas formulas básicas de física tenemos de sobra.
Qué necesitamos
  1. Tener Python y Pygame instalados.
  2. Un IDE o editor de texto a elección.
  3. Un directorio base donde trabajar.
En esta página se pueden encontrar todas las versiones de Pygame desarrollada cada sistema operativo, http://www.pygame.org/download.shtml.


TUTORIALES

Fuente: Razón Artificial - Autor: adrigm 

Tutorial básico de Netbeans 6.0 con Java

Otro manual muy básico de Netbeans 6.0.



Espero que os sirva.

Descargar Manual.

Saludos.

Tutorial Java en Netbeans 6.0

Os adjunto también un pequeño tutorial para usar JAVA desde Netbeans, así como unos ejemplos y resumen de su sintaxis.



Manual Java en Netbeans 6.0

Saludos!!!

Guía rápida de JAVA y Manual básico sobre la librería gráfica Swing

Os dejo un par de enlaces en los cuales os podéis descargar PDFs con una guía rápida de JAVA para los que ya sepan C++ y una introducción a las programación visual con JAVA.



JAVA Guía Rápida en PDF
JAVA Swing en PDF

Saludos!!!!

Vuelve el mono TOKI!!

Esperar que termine toda la publicdad.



Esperar que termine toda la publicdad.
Controles: X,C y para mover Las flechas de dirección.

Pantalla completa: Juega en pantalla completa 

Crytek considera ofrecer gratuitamente el CryEngine

Se trataría de un kit de desarrollo similar al UDK de Epic Games.

El motor gráfico que mueve las dos aventuras de acción en primera persona de la saga Crysis, el CryEngine, podría ofrecerse a pequeñas desarrolladoras y modders de forma gratuita en los próximos meses, según dio a conocer Cevat Yerli, cofundador de Crytek. La desarrolladora tiene planes de futuro para potenciar la producción de contenidos por usuarios y desarrolladores que comienzan.

“Tenemos un modelo de negocio para esto, pero ahora mismo no puedo entrar en detalles. Estará muy enfocado al usuario”, declaró Yerli en la revista Develop. “Las barreras de entrada [al uso del kit de desarrollo] serán muy bajas. Incluso podría ser gratuito”, añadió. Crytke seguiría así los pasos de Epic Games con su kit de desarrollo UDK que está disponible bajo cláusulas asequibles para pequeños desarrolladores.

Crytek quiere potenciar el uso de su motor gráfico

Metal Slug en Flash!!!



Controles: A,W,S,D para mover y J,K,L para disparar, saltar y lanzar granadas.

Pantalla completa: Juega en pantalla completa 

Programar juegos 2d para andorid

He encontrado el siguiente tutorial que explica muy detalladamente cómo crear juegos para Android. El tutorial aún no está terminado del todo, existen secciones todavía a desarrollar, por eso insto a que visitéis la web del autor, que lo irá completando, mientras tanto, dejo aquí lo que lleva de tutorial para ir comenzando a estudiarlo.


Enlazar el proyecto con la librería

AndEngine está generado para funcionar con la versión de Android 1.6 y posteriores. A la hora de crear un proyecto, selecciona un API Level mayor o igual a 4. Recuerda que cuanto más bajo sea ese valor, más versiones de Android podrán ejecutar tu juego.

Bájate la librería de AndEngine desde este enlace:

Una vez creado un proyecto en blanco de Android:

  1. Desde Eclipse, crear un directorio llamado "lib" dentro del proyecto y poner ahí el archivo "andengine.jar" descargado.
  2. Haz clic con el botón derecho del ratón sobre el archivo "andengine.jar" del proyecto y selecciona "Build Path" → "Add to Build Path". Nos aparecerá este archivo también dentro de "Referenced Libraries".
Si tienes alguna duda, en el siguiente vídeo puedes ver cómo se crea un proyecto desde cero:

¡Ya estamos preparados para empezar a programar videojuegos!


La estructura básica de un juego

Para empezar a programar un videojuego necesitas definir una clase que herede de BaseGameActivity.BaseGameActivity es el corazón del juego. Contiene un Engine y se encarga de crear el SurfaceView en el que el contenido del Engine será dibujado. Hay exáctamente un Engine para un BaseGameActivity. Podrás saltar de un BaseGameActivity a otro utilizando los mecanismos de control de Android: Intents.

Veamos un código completamente funcional simplificado al máximo. (Lo único que hace es mostrar la pantalla en color negro)

Desarrollo con C/C++ en Eclipse

Eclipse es uno de los IDEs más populares y utilizados en el mundo Java. Esto unido a la posibilidad de extender su funcionalidad por medio de plugins ha hecho que exista la posibilidad de poder programar en multitud de lenguajes usando esta herramienta.
El plugin necesario para desarrollar en C/C++ con Eclipse se llama CDT (C/C++ Development Tooling). Veamos como instalarlo.

Instalar el JDK de java.


INSTALAR ECLIPSE
El primer paso, evidentemente, es instalar Eclipse. Eclipse viene en forma de un archivo zip/tar.gz que podemos descargar desde la sección correspondiente de su web pulsando sobre Eclipse SDK 3.2.1 y eligiendo el mirror más cercano al lugar donde nos encontramos.
Una vez descargado basta con descomprimir en el directorio de nuestra elección.


INSTALAR CDT
Descargamos la última versión para nuestro sistema operativo, la 3.1.1 a la hora de escribir estas líneas, desde la página de descargas del proyecto. El plugin no es más que un archivo zip/tar.gz que deberemos descomprimir en la carpeta de Eclipse, añadiendo así los archivos correspondientes a las carpetas features y plugins.
Si ejecutamos Eclipse ahora entre las perspectivas que podemos seleccionar (Window -> Open Perspective -> Other) tendremos una dedicada a C/C++. Para crear un nuevo proyecto seleccionaremos File -> New -> Managed Make C Project o Managed Make C++ Project dependiendo del lenguaje a utilizar. En los proyectos “managed” (gestionados), a diferencia de los standards, Eclipse se ocupa de generar un makefile por nosotros.
Lo único que nos falta es, claro está, un compilador con el que generar los binarios. En Linux normalmente suelen estar instalados gcc y g++. En Windows necesitaremos instalarlos, bien usando MinGW o usando Cygwin.


INSTALAR CYGWIN
Descargamos el instalador desde la web de Cygwin. Al ejecutarlo nos preguntará si queremos instalar desde internet, descargando los archivos necesarios desde la web (Install from Internet); descargar los archivos pero no instalarlos (Download Without Installing) o instalar usando paquetes previamente descargados que tenemos en una cierta carpeta (Install from Local Directory). Si es la primera vez que instalamos Cygwin, seleccionaremos Install from the Internet.
Se nos preguntará también dónde instalarlo (C:\Cygwin está bien, no queremos rutas que contengan espacios), el directorio donde descargar los paquetes y el mirror desde el que deseamos descargarlos. Por último no tendremos más que seleccionar los paquetes a descargar y pulsar siguiente para que comience la descarga e instalación, debes seleccionar los siguientes paquetes de la sección DEVEL:

1. gcc g++
2. gdb
3. make.
Una vez instalado, añadiremos el directorio bin de la distribución al path, de forma que se pueda llamar a los binarios desde cualquier carpeta de Windows: botón derecho sobre Mi Pc -> Propiedades, Opciones Avanzadas -> Variables de Entorno, en Variables del sistema hacemos doble clic sobre Path y añadimos al final de Valor de variable ;c:\cygwin\bin (el ; es para separar distintas entradas). Podemos comprobar que lo hemos hecho correctamente abriendo una ventana de línea de comandos (Inicio -> Ejecutar, escribimos cmd) y escribiendo gcc -v.

PROGRAMANDO CON C/C++ EN ECLIPSE
Como ya dijimos, para crear un nuevo proyecto en C/C++ en Eclipse seleccionamos File -> New -> Managed Make C Project o Managed Make C++ Project. Solo tenemos que escribir un nombre para el proyecto y podemos pulsar sobre Finish, porque normalmente no necesitaremos tocar ninguna de las otras opciones.
Para añadir un nuevo archivo al proyecto pulsamos con el botón derecho sobre el proyecto y seleccionamos New -> Source File o Header File.
La compilación la realiza Eclipse automaticamente, creando un archivo ejecutable en la carpeta Release o Debug, aunque tendremos que indicarle al linker dónde se encuentran las librerías que va a necesitar haciendo clic con el botón derecho sobre el proyecto, Properties -> C/C++ Build -> Tool Settings -> GCC C Linker -> Libraries y añadiendo el directorio “C:\cygwin\lib\gcc-lib\i686-pc-mingw32\3.3.3″ en Library search path (seleccionamos Debug en Configuration y volvemos a hacer lo mismo).

Unity3d - Gran IDE para desarrollar juegos. Tanto para web como para Android

Existe una gran aplicación para desarrollar juegos en 2D o 3D.

Su nombre es Unity3D. Podéis encontrarlo en su web: http://unity3d.com/

Podéis ver una muestra de o que es capaz de hacer: