|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Amilius
Páginas: 1 ... 23 24 [25] 26 27
601
« en: Domingo 30 de Mayo de 2004, 22:59 »
Adjunto un archivo con la biblioteca de funciones que programe para turbo pascal 7 (puede que funcionen en otras versiones): qgII.pas, un ejemplo: fracto.pas, otra para raton con algunos cursores extra definidos: raton.pas y un crt sin bug de división entre 0: "crtZ", con el código fuente en .pas y ASM. Puede que algunas de las funciones puedan ser realmente útiles como unas para pedir datos del usuario en modo gráfico, con edición, inserción en varios tipos de letra, las funciones para modos SVGA y cambio de paleta rápido. Si no tienen winrar: http://www.rarsoft.com/download.htm
602
« en: Domingo 30 de Mayo de 2004, 22:41 »
Bueno este es uno de mis código antiguos para turbo pascal 7. Si quieren tocar cualquiera de las 84 notas de un piano ojo va de [0..83]: Nota: para afinar, cambien el 64 a un valor mayor o menor, como vean conveniente. Lo de 2 elevado a nota/12 es cuestión de fijarse en las matemáticas simples de la música. son 12 tonos : 7notas + 5semitonos. FUNCTION ELEVAR(BASE,EXPONENTE:REAL):REAL;{cambiar a double o single o el flotante que convenga} BEGIN ELEVAR:=EXP(LN(BASE)*EXPONENTE) END; PROCEDURE MUSICA(nota:byte); {OJO que no tiene delay ni nosound} BEGIN IF nota<84 THEN SOUND(ROUND(ELEVAR(2,nota/12)*64{Afinar})) END;
603
« en: Domingo 30 de Mayo de 2004, 22:31 »
Tengo una liscencia academica que yo compre , pero es puro disfraz... Shhh ... hay espías del imperio por todos lados....
604
« en: Domingo 30 de Mayo de 2004, 22:27 »
De hecho en todos los lenguajes que conozco se trabaja con radianes por que no necesitan "unidad". Un ángulo en radianes es un número y nada más.
605
« en: Domingo 30 de Mayo de 2004, 22:09 »
hmmm.. El problema es que necesitas por lo menos un tutorial inicial de graficación usando pascal. (De todas formas adjunto un ejemplo "fracto.pas") Bueno,dte todos modos adjunto un archivo "crtZ.tpu", para usarlo en lugar del "crt.tpu" que produce el error división entre cero en máquinas más rápidas que una pentium clásica.
Solución al bug del crt.tpu, unit crt o unidad crt:
El problema es que para calcular el tiempo exacto para la función delay realiza un cómputo del número de ciclos que tendrá que esperar, pero en máquinas rápidas el número de ciclos es tan elevado que sale de los modestos límites de un entero de 2 bytes. Lo solucioné tomando el cod. fuente en ASM y reprogramando la función que calcula el tiempo de retardo con una precisión que ronda las milésimas de segundo con ayuda de una función del bios. Supongo que no venía programado de esta forma por razones de compatibilidad con 286 antiguas, ya que el código funcionará con cualquier máquina 386 para arriba e incluso con cierto tipo de 286 que ya tenía esa función.
Con el crt modificado "crtZ" puedes usar el gotoxy para colocar un caracter en cualquier parte de la pantalla.
La otra opción es usar las librerías gráficas, incluyo una unidad con muchas funciones bastante útiles y algunas son para graficos.
606
« en: Jueves 27 de Mayo de 2004, 05:00 »
gracias me funciono disculpen si pregunto cosas tan si n chiste pero soy nueva programando en delphy No te preocupes, pero tal vez colocando de título "importación de archivos" se podría ampliar el tema y abarcar también la importación de tipos de archivo estándar en general.
607
« en: Martes 25 de Mayo de 2004, 17:30 »
Amilius, cuando dices Funcional, ¿te refieres a Estructurada, o a al paradigma funcional, en el que no pueden haber variables a parte del paso de parámetros, no se declaran tipos y no hay bucles, resolviendo todo por recursividad (basado en el lambda-calculus)?
Un saludo.
Ruben3d Definitivamente donde dice "funcional" debería decir "sólo con funciones", sin usar POO.
608
« en: Martes 25 de Mayo de 2004, 17:10 »
Maneje turbo Pascal hace como año y medio, y lo que pides, requerie de mucho trabajo, si piensas hacer algo asi, te recomiendo 2 opciones, VisualBasic (Facil de aprender) y C++ (Poderoso y respetable), aunque si escojes C++ y no estas familiarizado con el, te va a dar dolores de cabeza el entorno grafico (mejor usa Dev C++) y sobre Visual, bueno hay montones de paginas de codigos de ejemplos
Espero que esto te sirva de algo El punto es que turbo Pascal v.? es un COMPILADOR antiguo a 16 bits. De todas formas lo recomendable sería Delphi v3 adelante (si sabes pascal no tendrás problemas con delphi), no es interpretado como VBasic y tienes todas las ventajas de los compiladores visuales de C++: POO e interfaz gráfica orienta a objetos, además de componentes listos para arrastrar y soltar. En delphi podrás usar los tipos de datos base de C, incluso su forma de realizar comentarios, podrás usar varias formas de llamadas a funciones y procedimientos de forma optimizada (mediante registros) y otras formas compatibles con C. Object Pascal, el lenguaje que utiliza el compilador delphi, refuerza la idea de orden y tipos fuertes. En C los tipos son débiles, lo que si bien permite escribir menos resulta en código difícil de comprender si no está generosamente comentado. En Objetc Pascal tendrás que indicar claramente cuando usarás un entero como puntero o viceversa, cuando usarás un char como byte y viceversa, etc. El código generado será el mismo para ambos lenguajes con la diferencia que en Object Pascal es obligatorio incluir en el programa ese tipo de información, no para generar código, sino para hacer más legible el programa.
609
« en: Martes 25 de Mayo de 2004, 16:44 »
Alguien me confirma el fallo del Insight? No existe fallo de ningún tipo. Es mejor que te acostumbres a usar matrices cuya primera fila/columna es 0. En pascal tienes la comodidad de comenzar tus vectores y matrices de valores distintos de 0, pero siempre ten en mente que internamente, por sobradas razones (ya te darás cuenta), siempre comenzarán de 0 al igual que en C. Por eso es que nunca tendrás problemas de índices fuera de rango ya que al hacer referencia en pascal a la posición [3,3] de una matriz cuya primera fila y columna son [1,1], en realidad el código máquina generado hace referencia a la posición [2,2] en una matriz cuya primera fila y columna son [0,0] A medida que eleves tu nivel de programación te irás dando cuenta de las ventajas que tienes al comenzar de 0. El 0 es el primero. Como sabemos la idea de comenzar por 1 es culpa de la herencia romana que eran ignorantes de la existencia del 0 y tenían el más ridículo de los sistemas de numeración que no sirve ni para sumar menos para multiplicar.
610
« en: Martes 25 de Mayo de 2004, 00:04 »
Yo hice un algoritmo de compresión mediante prefijos: La idea es recodificar cada byte en un prefijo único que puede tener n bits. Los bytes más frecuentes tendrán prefijos más cortos y los menos frecuentes prefijos más largos. No es necesario que cada nueva codificación tenga tamaño fijo por que son prefijos únicos y no existe ambiguedad al leerlos.
Al grano:
- Tienes que crear un funcion que almacene en un bloque de memoria n bits de por ejemplo un entero de 32bits, suponiendo que nunca tendrás un código de más de 32 bits. (más adelante lo detallo)
El problema es que sólo lo podrás leer secuencialmente, lo que no es problema para un algoritmo de compresión. Si necesitaras acceder en todo momento a cualquiera de los valores codificados y además necesitas saber la longitud en bits de cada código no te queda mejor remedio que desperdiciar bits y además agregar un byte extra para indicar el tamaño en bits del código: un arreglo de int para el codigo (si no pasará de 32 bits) y otro de char para el tamaño.
Para almacenar códigos de n bits que sean prefijos únicos como usualmente ocurre en ese tipo de compresión (no sirve si es necesario saber la longitud de cada código de n bits): ==============================================0
Tienes que tener buffers de todo tamaño, en general:
1er buffer: un entero de 32 bits. (Registros) 2do buffer: un pedazo de memoria de digamos 64kb o lo que necesites o veas conveniente, si al final guardarás los datos en disco 64Kb no estarán nada mal (RAM) 3er buffer: si es necesario guardar en disco, un archivo abierto listo para guardar información. (DISCO)
La idea es esta:
- Coges el número entero y sabes cuantos bits tienes que extraer y almacenarlos en el buffer. - Ves si en tu buffer de 32 bits existe espacio suficiente, si existe lo agregas usando desplazadores << >> para posicionar los bits en el lugar adecuado y los colocas con el operador de bits "or" |. - Si no existe espacio suficiente tienes que partir en dos el código, guardar el pedazo que entra en el buffer y luego guardar el pequeño buffer de 32 bits en el buffer mayor, luego limpias el buffer de 32 bits y colocas el resto del código que faltaba colocar en buffer.
Lo mismo para los otros buffers:
Cuando se llene el buffer de 64 kb (ejemplo), guardarlo en disco y limpiar el buffer de 64Kb, luego agregar al buffer limpio lo que faltó guardar al momento que el buffer se llenó.
611
« en: Lunes 24 de Mayo de 2004, 19:30 »
Depende del nivel:
Cuanto más complejo y abstracto es mucho mejor usar POO, pero las "herramientas" base las programo sólo con funciones sin usar POO. De hecho a una persona que apenas está comenzando con POO y está acostumbrada a usar P.estructurada, la POO le parece poco práctica hasta que alcanza a comprender realmente como utilizar la POO para reducir trabajo, incrementar potencia y claridad al código. La programación "orientada a eventos" casi siempre sólo se refiere a la interfaz de usuario, mientras que el grueso de la programación es OO.
Tampoco busco un estilo de programación "puro" ya sea OO o funcional, uno sabe que ventajas y desventajas tendrá a corto y largo plazo. Un ejemplo es el manejo de cadenas, en Delphi esa parte no está programada OO. A ese nivel es más práctico y eficiente utilizar simples funciones, pero un "TStrings" es cosa distinta y resulta más cómodo que esté programado OO.
612
« en: Domingo 23 de Mayo de 2004, 15:33 »
¿...existe un interés por obtener un ejemplo real, práctico y aplicado de estas fases en el desarrollo de un videojuego...? Sin duda que será de interés para todo el que quiera programar un videojuego. No hay mejor forma de ver los posibles problemas y soluciones que se se puedan encontrar en el proceso de desarrollo del juego. Pero es mejor, si luego de terminar de desarrollar el juego, se hace un "ajuste" de los diagramas para que concuerden mejor con el resultado final en caso que hubieran sido necesarios dichos cambios. En ese caso no sólo serían los planos del proyecto de construcción, sino los planos reales.
613
« en: Sábado 22 de Mayo de 2004, 19:36 »
Si algo se es que la documentación de respaldo necesaria para el desarrollo de cualquier tipo de software se incrementa proporcionalmente al número de personas involucradas en el desarrollo del proyecto. Si sólo participa una persona, tiene las ideas claras y el desarrollo completo del software no tomará más de 6 meses bastará con un código moderadamente comentado y algunos diagramas "en borrador", no extrañarás tener en papel el diseño y el análisis. Si participa más de una persona ya hay que pensar que tiene que existir sincronización, ambos tienen que entender el trabajo que realiza el otro. Y lo mejor es tener todo el análisis y diseño en digital e impreso, junto con código generosamente comentado para no perder tiempo. Nunca sobrarán las aclaraciones en ningún tipo de diagrama o código. Debido al anterior punto, no puedes acelerar el proceso del desarrollo de un sistema simplemente incrementando el número de personas involucradas, por que también es necesario incrementar el nivel de documentación. Llega un punto en el que incrementar el personal dedicado al desarrollo del proyecto más alla de un cierto límite no hace más que estorbar el proceso por los elevados niveles de comunicación y documentación necesarios. Otro punto muy importante es que es muy difícil realizar un buen diseño en papel si antes no se ha participado activamente en la realización de un proyecto similar. "El papel aguanta todo", pero puede ser que al final "no compile" el diseño. Una vez que ya has metido la pata sabes cuales son los caminos que NO debes tomar para ese tipo de proyecto. La verdad es que sólo cuando estás en plena programación te das cuenta si tu análisis y diseño son una belleza (te ahorran trabajo/dinero) o fueron una total pérdida de tiempo que te está haciendo perder más tiempo/dinero. ¿Se puede elaborar una brillante estrategia si no se conoce el campo de batalla, los guerreros y las armas?
614
« en: Martes 18 de Mayo de 2004, 00:15 »
la cosa es que recien empiezo con el tema de las listas enlazadas y se me pidio que calculara por ejemplo el termino nro 10.000 de serie de fibonacci y no tengo ni idea de como hacerlo, si alguien puede darme un indicio, desde ya gracias!!! Es posible, no lo dudo, que tu catedrático sea tan... que no encontró otra forma de aplicar listas enlazadas (Que forma de complicar las cosas!!). Lo cual sería terriblemente lamentable. Si es el caso corresponde consultar directamente con google: listas enlazadas con o sin punteros es de lo más común que puedas encontrar, pero demasiado extenso para explicar en este foro a menos que sea un problema puntual. Fibo Simple con recursividad: f(1)=1 f(2)=1 ... f(n)=f(n-2)+f(n-1) ¿Que hay de complejo en esto? Si quieres optimizarlo creas una tabla con los primeros fibo y listo, cuando los necesites los lees de disco directamente a RAM y luego a utilizarlos tantas veces como quieras!!.
615
« en: Martes 18 de Mayo de 2004, 00:02 »
Juas... Que vagales...
616
« en: Sábado 8 de Mayo de 2004, 02:08 »
Bueno, queria saber si esto es legal
Supongamos que un amigo me pasa el 3ds Max Pirata y hago los modelos del juego ahi. Y luego me pasa el Photoshop y hago las texturas , osea en conclusion para acabar rapido, si utilizo puros programas pirateados para hacer mi juego y luego lo quiero vender a una compañia
¿Es ilegal vender el juego sin comprar las licencias del programa?
No se si me explique bien, pero es una duda, espero sus respuestas Hmmm... sólo es legal si lo hace micro$oft o una compañía con suficientes abogados como para demostrar que es totalmente legal y demandar así a la compañía que se le ocurrío demantar a micro$oft. Pero si trabajas a contrato para micro$oft, la compañia se queda con el producto y lo puede distribuir a quien se le de la gana y tu vas para prisión si cualquier parte del producto (hayas o no intervenido en su realización) fue hecho con un producto pirata, lo mismo ocurre si te atreves a demandar a una compañía que pirateó tu código fuente: tu vas para prisión y la compañia se queda con los derechos de autor. RESUMEN: NI SE TE OCURRA crear algún programa de ningún tipo que vaya a competir con algún tipo de producto de alguna multinacional, es ILEGAL y te aseguro que serás perseguido con TODO el rigor de la ley. Como todos sabemos la LEY protege a los grandes empresarios y asegura que no vayan a ser molestados por contaminar el medio ambiente, causar daños a los recien nacidos y/o esclavizarte hasta que termines muriendo por agotamiento, ya que estos y otros son derechos divinos inalienables del poder establecido.
617
« en: Viernes 7 de Mayo de 2004, 21:16 »
La verdad que el usuario no percibe la diferencia, no ralentiza para nada leer un archivo de configuración, pero sería mejor si almacena información más relevante. Dar capacidades multilenguaje a cualquier aplicación que no fue diseñada originalmente con ese tema en cuenta es bastante trabajo, pero tiene su justa retribución. Claro que si sólo tienes unos cuantos díalogos y menus no te toma demasiado tiempo. Pero eso de cambiar colores y tipos de letras... no se hasta que punto puede ser práctico, seguro hay muchos "detalles" adicionales que el tipo que sugirio eso "piensa" que deberás incluir. (Personalmente creo que es una majadería que pidan eso sin una justificación bien fundamentada, hay cada animal que pide cada cosa..... ) Otra forma de hacerlo: Incluir en el manual de usuario: Como cambiar los colores y el tipo de letra: " Ir a la ventana de configuración del sistema operativo, elegir el color y la fuente que más le guste. FIN. "
618
« en: Viernes 7 de Mayo de 2004, 01:30 »
1.- Yo use Turbo Pascal 6.algo y posteriores, no se si en el 5 las cosas eran muy distintas, cosa que dudo: program Prg1; var miArchivo:text; i:integer; begin assign(miArchivo,'primos.txt');{assignFile en Delphi} rewrite(miArchivo);{reescribir} for i:=1 to 32000 do if EsPrimo(i) then writeln(miArchivo,i); close(miArchivo);{siempre cerrar!}{closeFile en Delphi} end.
Básicamente este ejemplo, usando una hipotética funcion EsPrimo(), guarda en un archivo los números primos menores a 32000. Si es posible, no siempre es el caso, te sugiero usar delphi, estos tiempos ya no están para volver a inventar la rueda.
619
« en: Jueves 29 de Abril de 2004, 22:17 »
Mi voto es por Matrices de Transformación y rotaciones en torno a ejes arbitrarios.
620
« en: Domingo 18 de Abril de 2004, 21:32 »
opino que ya no es rentable realizar un juego 2D a gran escala (esperando que compita con un Quake, Doom, Unreal o equivalentes) El tipo de juego tiene mucho que ver y los juegos que mencionas son definitivamente para 3D. Ahora que para que un juego 2D sea rentable DEBE ser original para poder competir.
621
« en: Domingo 18 de Abril de 2004, 21:25 »
La programación en el ENSAMBLADOR es la ordalía que todo programador de verdad debe superar.
622
« en: Sábado 17 de Abril de 2004, 16:10 »
¿Se acuerdan de esos libros para hacer juegos en basic, para las amstrad, comodore, las antiguas IBM PC, etc? Aún recuerdo como copiabas letra a letra, signo por signo el código fuente basic y luego te divertías muchísimo con esos juegos en modo texto de 40x25 caracteres o 80x25 en blanco y negro. Sin duda eran juegos totalmente OPEN SOURCE. Yo tenía en esos tiempos una IBM modelo 25, una especie de XT, una disqueteras, bonita máquina, monitor de 12 o 10? pulgadas a color!. Creo que sería bueno que los chicos de hoy tuvieran esas oportunidades...
623
« en: Martes 6 de Abril de 2004, 22:24 »
Aunque en algunos lenguajes de programación el algoritmo para derivadas "simbólicas" se reduce a definir las reglas, la integración es otra cosa. Es necesario recurrir a algunas técnicas de IA de prueba y error, contruir un árbol de búsqueda de la solución y revisarlo con un orden establecido por eurísticas, ahora eso de integrar por partes simbólicamente... dudo que encuentres un algoritmo por ahí gratuito y además open source. Sin duda es un problema de IA.
624
« en: Martes 6 de Abril de 2004, 22:15 »
Lo mejor es que busques un ejemplo simple OPEN SOURCE para el lenguaje de prog. que domines.
Es importante que el tamaño de tus tiles sean potencias de 2 (32x32, 64x32 y 32x16 son los más usados), en serio te ahorrarás problemas!. Aunque es posible que tus tiles tengan las dimensiones que te den la gana, a medida que avances en la creación del juego agradecerás que tengan tamaños "estándar".
625
« en: Viernes 2 de Abril de 2004, 23:26 »
Esta es la dirección actual: http://groups.msn.com/LegadodelasartesarcanasSon archivos en .rar en "documentos", también el enlace para bajar el winrar si aún no lo tienes está en esa página en "enlaces".
Páginas: 1 ... 23 24 [25] 26 27
|
|
|