Punteros – Crea tu propio videojuego #10
Espero que no halláis tenido ningún problema programando la calculadora haciendo uso de funciones creadas por vosotros mismos. Si no es así, mandadme un correo con el programa que os da problemas, intentaré ayudaros.
Capítulo 10: punteros
Si os ha costado lo que hemos hecho hasta ahora, preparaos porque viene lo peor, los punteros. Son una herramienta muy, muy potente, que nos permitirá hacer muchísimas cosas, cobrarán mucha importancia en el desarrollo de juegos y de cualquier otra aplicación. Un puntero nos permite acceder a una dirección de memoria (RAM) de nuestro ordenador, esto los hace herramientas potentes pero peligrosas, ya que si tocamos donde no debemos o cometemos errores programando podemos bloquear el sistema.
Este tema lo trataremos en las próximas entregas ya que se hace muy largo y pesado, así que tened paciencia, leed esta guía varias veces y practicad mucho.
- Los datos y los programas se almacenan en memoria principal
Distingamos entre memoria secundaria y principal. La secundaria es nuestro disco duro, pen drive etc y la primaria es nuestra memoria RAM. Todos los programas en ejecución junto con sus instrucciones y variables se almacenan en la memoria principal. Ésta está formada por bloques cuyo tamaño se llama longitud de palabra.
Cuando declaramos una variable lo que hace el ordenador es reservarle un sitio (el tamaño depende del tipo de variable) para almacenarla. Los bloques de memoria están numerados con una dirección. Como tu y yo tenemos una dirección donde vivimos, los bloques de memorias igual, son como casas, tienen una dirección. Si el cartero busca una casa y no tiene dirección pues no la encuentra, igual pasa con las variables, se guardan en un bloque de memoria numerado. Cada vez que se ejecute el programa se le asignará un lugar distinto a cada variable ya que de la gestión de memoria se encarga el Sistema Operativo, no nosotros ni nuestro programa.
Podemos saber en qué direcciones guarda nuestro ordenador las variables, para ello usaremos el operador &. Veamos un ejemplo, en la realidad no lo hacemos así (no hemos tocado los punteros aún), pero esto os dará una idea sobre las direcciones de memoria y las variables:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
a = 10;
printf( “Dirección de a = %p, valor de a = %i\n”, &a, a );
a = 2;
printf( “Dirección de a = %p, valor de a = %i\n”, &a, a );
system(“pause”);
return 0;
}
Para mostrar la dirección de una variable usamos %p, ésta se mostrará en hexadecimal. No hay que confundir la dirección de a con el valor de a, este programita nos lo aclara. Podemos cambiar el valor de a, pero la dirección no cambia.
Hasta aquí la explicación previa antes de meternos con punteros. Sería bueno que probaráis a cambiar cosas de este programa y a repasar esta introducción ya que los conceptos deben quedar CLARÍSIMOS. De aquí hasta que terminemos punteros avanzaremos poco a poco ya que son difíciles de comprender y su aprendizaje requiere la realización de muchos ejercicios. Lo siento chicos, pero si queréis programar videojuegos hay que pasar por esto.
Anímo que ya estamos más cerca. Ir a todas las guías de Programación.













16 comentario/s
Autor: David Saltares el 17/10/2008








hola…
les ueria preguntar
que tengo que hacer para poder crear un juego de video… pero uno ya real..
gracias espero su respuesta..
mi correo es daniel-donald@hotmail.com
tenes que seguir el curso flaco..
david podrias dejar tu correo asi te mando el programa..? de funciones no me quedo para nada claro y salio todo mal ^^
Para programar videojuegos hay que seguir el curso completo.
Leo: david.saltares@gmail.com Lo he publicado ya varias veces.
Saludos.
ok mas tarde lo mando, disculpa por no fijarme en las otras publicaciones.. muchas gracias
En el programa, cuando agrego otra variable(b) y lo coloco en el mismo printf que la primera variable(a) pero despues de esta, me da una direccion que cambia en cada printf, y si pongo la “a” despues de la “b” cambia la direccion de la a. ¿Esto deberia suceder?
TerryArchi: Teóricamente no debería de suceder. Habrá algún problema o sera cosa del SO. De todos modos la intención de este número era ver que las variables se guardan en direcciones de memoria, simplemente eso ya que es un concepto MUY importante.
Saludos.
xD..!!! ayudenme a creae un juego porfis los dejo mi msn Aaa-rOne@hotmail.com por fis o diganme los pasos por mensaje a mi msn porfis px
necesito que alguien me enseñe alguna pajina para descargar juegos reales ke no sean antiguos para pc y donde descargar juegos estilo gta
necesito alguien que me enseñe alguna pajina para descargar juegos reales para pc y juegos estilo gta aky dejo mi msn dejadme un mensaje con la pajina gracias
la_vida_se_consume@hotmail.com
Hola me gustaría saber donde están las otras partes de la creación del videojuego. Muchas Gracias. se.uan@hot..
Dale en la portada a ver todos lo artículos de opinión, deberías ver los anteriores, dentro de ellos hay linkks a los números primeros.
Ya los encontré, Muchas Gracias
grasias por el dato me sirvio de mucho
como hago oara crear un juego en una web o en mi pc algo asi vieron mi mail es juli-m8@hotmail.com