Posible nueva funcion de manejo de memoria dinamica

Started by kim-elet-o, October 16, 2008, 11:18:55 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

kim-elet-o

#15
No te enfades Danielo515, como no sabiamos que nivel tenias, hemos optado por empezar por la base, ya que respondemos a mucha gente novata por estos lares, bueno en un matamarciano es util tener listas enlazadas con regiones de memoria dinamica incrustadas en los elementos de la lista, bueno en mi caso tengo un motor de pseudocodigo para que los enemigos hagan cosas (disparar, moverse, detectar la nave, comunicarse con otros enemigos, comportarse como amigos, comportarse como otros objectos, ect, ect, ect), el programa utiliza una lista enlazada por que de antemano no sabe la cantidad de enemigos va a tener que cargar, con lo cual va leyendo un directorio y va cargando en memoria los enemigos creando una lista enlazada, cada elemento de la lista contiene  las caracteristicas del enemigo y su correspondiente programa en pseudocodigo, pero claro no ocupa lo mismo el pseudocodigo de un enemigo que baja por la pantalla en linea recta, que el pseudocodigo del boss final de la 10ª fase, que te lanza 100 disparos a la vez, analiza tus movimientos, esquiva tus disparos y va sacando diferentes armas segun la ocasion, el primero con 6 bytes de pseucodigo basta, pero para el boss quizas el programa en pseucodigo supere el kbyte, si tengo que crear un array estatico de 2kbytes para preveer programas largos desperdicio memoria, si cargo 200 enemigos de una tacada, desperdicio mucha memoria usando arrays estaticos (y no te digo si ademas no uso listas enlazadas), pero usando un array dinamico con 50kbytes tendre suficiente para contener 200 enemigos, y eso es solo el principio por que tengo mas ideas para usar memoria dinamica que poco a poco ire empleando, jejejejeje, entiendes por que no te he explicado mi ejemplo antes, uuuuffff menuda parrafada he generado, y solo te he explicado el 33% del uso de memoria dinamica en mi machacamarcianos.

|/
|\im-elet-o el yayo programador.

TYCO

Bueno un ejemplo rapido para arrays dinamicos... lo mismo que dije antes pero en juegos... imagina que estas haciendo un juego de estrategia por ejemplo, con vista isometrica (estilo age of empires, etc) y que va de guerras/batallas de mounstruos contra caperucitas rojas.

Quieres que tu juego pueda guardar "repeticiones" para enseñarselas a la gente, porque... la batalla ha sido espectacular (por motivos que no serian relevantes ahora mismo), entonces no sabes cuantos mounstruos y caperucitas habra en pantalla, ni cuantos vehiculos adicionales, ni otros seres u objetos aparecen durante la batalla a grabar.

Entonces segun la batalla esta en curso, en arrays dinamicos vas guardando coordenadas(x,y) de cada mounstruo, caperucita, vehiculos, pajaros que pasan volando, objetos fijos/movibles. aparte de las coordenadas tambien grabaras sus graphs, angles, vida de cada uno, armas de tienen en ese momento (podrian ir cogiendolas del suelo y tener mas y mas armas), y un largo etcetera que se nos podrian ocurrir (o que ahora mismo yo no deduzco).
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)

Danielo515

No me enfado para nada Kim, más tonto sería yo si por explicarme las cosas encima me cabreo, solo que quería dejar claro lo que preguntaba, porque a veces siento que no me expreso,y en el fondo eso es lo único que me cabrea. Además, de muchas de las explicaciones simples es de donde he aprendido, y así no solo yo aprenderé al leerlas, así que no te preocupes por eso.
Ahora veo todo mucho más claro, muchas gracias por las explicaciones.

Un saludo.

kim-elet-o

De nada hombre, encantado de ayudarte y serte util.
|/
|\im-elet-o el yayo programador.