User Tag List

Página 2 de 6 PrimerPrimer 123456 ÚltimoÚltimo
Resultados 16 al 30 de 81

Tema: Ayuda con problemilla básico de Arrays JAVA (SPOILER: Soy muy malo)

  1. #16

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    9,849
    Mencionado
    84 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    250
    Agradecer Thanks Received 
    1,391
    Thanked in
    Agradecido 727 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Drumpi Ver mensaje
    Emmm, no estoy seguro de que eso sea más eficiente.
    Supongo que depende del lenguaje, pero en algunos la operación módulo es bastante "ineficiente", ya que no hay un mnemónico que ejecute la operación en un ciclo, y los he visto que tardan más de 4.
    Irrelevante por varios motivos:

    - El más importante: estoy casi seguro de que selecter25 no estaba pensando en la eficiencia cuando escribió ese condicional, sino que no ha entendido la operación módulo así que la corrección la estimo apropiada.

    Además:

    - No hay que hacer programación eficiente antes de tiempo. Si no detectas un problema de eficiencia, no lo arregles antes de tiempo.
    - en CPUs modernas, la operación módulo es mejor que el condicional si el branch perdictor de la CPU se equivoca en qué rama te bifurcarás. Por cierto, no tengo ninguna duda de que selecter nos podrá dar una clase magistral con las CPUs con el mejor branch predictor del mercado actual.
    - Curiosamente, si el array "lower" tiene longitud 32 en vez de 26 (es decir, si le añade 6 caracteres al final cualesquiera porque el algoritmo no debería llegar a ellos nunca), el compilador traducirá la operación módulo por un AND, que es muy superior a cualquier if/then. Los compiladores saben escribir código eficiente mucho mejor que nosotros.
    - Miles de cosas que no sabemos. Enlace relevante para C, no sé hasta qué punto aplica al JIT de Java: https://stackoverflow.com/questions/...-when-possible

    Y es que no hay que escribir código eficiente, hay que escribir código legible y dejar a los expertos que lo hagan eficiente... si es que es necesario.
    "Todo es absolutamente falso, salvo alguna cosa"

  2. Los siguientes 2 usuarios agradecen a juanvvc este post:

    selecter25 (13/01/2022), swapd0 (13/01/2022)

  3. #17

    Fecha de ingreso
    Aug 2003
    Mensajes
    666
    Mencionado
    4 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    12
    Agradecer Thanks Received 
    78
    Thanked in
    Agradecido 46 veces en [ARG:2 UNDEFINED] posts
    En el mundo de la programación competitiva (lo poco que he visto, en lo personal sólo he empezado a hacer alguna cosa básica) se evalúa, casi únicamente, la eficiencia de los algoritmos (con la típica notación BigO) y normalmente este tipo de "problemas de eficiencia" de mod vs if se consideran irrelevantes. Lo importante es dividir el problema en partes más pequeñas, y diseñar soluciones donde en la medida de lo posible no se aniden bucles que pasen por colecciones grandes. El problema de las soluciones más eficientes es siempre el mismo, no las entiende ni dios aunque sean una sóla linea de código.

    Un ejemplo muy curioso de este tipo de optimizaciones que no las entiende casi nadie, pero mágicamente funcionan: https://betterexplained.com/articles...e-square-root/

  4. #18

    Fecha de ingreso
    Sep 2005
    Mensajes
    13,501
    Mencionado
    221 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    409
    Agradecer Thanks Received 
    1,078
    Thanked in
    Agradecido 774 veces en [ARG:2 UNDEFINED] posts
    Gracias por las aclaraciones.

    No, si yo entiendo que es una tontería, que eso hoy día un ordenador ni se entera... pero a nosotros nos hicieron programar en ensamblador en su día, y la eficiencia del Echo en Wiz aún la tengo demasiado presente, y por tanto, tengo incrustado en la cabeza lo de hacer el código más eficiente desde el minuto 1, con todos los conocimientos que tengo.
    Es más, seguro que yo mismo he usado el módulo cientos de veces sin preocuparme si es más efectivo un IF... pero es que este caso me ha recordado directamente a las optimizaciones del motor de scroll tileado, y ese cambio del mod al if+suma supuso un pequeño empujoncito.

    De cara a entenderlo, la corrección está bien, por eso preguntaba si, al margen del ejercicio, mi propuesta era más eficiente o no, para saberlo a título personal. Siempre es bueno repasar algunas cosas de las bases.
    Fíjate que en ese enlace para C que pasas, juanvvc, hay varias respuestas que me dan la razón... pero claro, hablamos de una diferencia, en el peor de los casos, de unas decenas de ciclos de los miles de millones por segundo, y que realmente no sabemos lo que pasa en las cocinas de los compiladores (ni ganas de saberlo, oiga ).
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  5. #19

    Fecha de ingreso
    Jun 2021
    Mensajes
    67
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5
    Agradecer Thanks Received 
    11
    Thanked in
    Agradecido 10 veces en [ARG:2 UNDEFINED] posts
    Los foros de dudas de programacion siempre terminan en opiniones acerca de lenguages o si yo lo hago mejor que tu

  6. El siguiente usuario agradece a MasterGame este mensaje:

    pakoito (13/01/2022)

  7. #20

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    6,648
    Mencionado
    43 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,229
    Agradecer Thanks Received 
    1,303
    Thanked in
    Agradecido 897 veces en [ARG:2 UNDEFINED] posts
    En un ordenador moderno es mejor optimizar los accesos a memoria para que no se produzcan fallos de cache que optimizar cosas como el modulo de un numero.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  8. #21

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    5,706
    Mencionado
    156 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,602
    Agradecer Thanks Received 
    1,854
    Thanked in
    Agradecido 1,064 veces en [ARG:2 UNDEFINED] posts
    Vuelvo a la carga con otro problemilla de noob, esta vez manejando archivos de texto con las clases FileWriter y PrintWriter.

    El ejercicio a priori es sencillo ,partimos de una clase Punto con constructores y métodos ya definidos.

    Spoiler: Ver
    Código:
    import java.io.Serializable;
    public class Punto implements Serializable
    {
     private int coordX;
     private int coordY;
     private double distOrigen;
     private String color;
     public Punto(int cx, int cy, String colorp)
     {
     coordX = cx;
     coordY = cy;
     distOrigen = Math.sqrt(cx*cx + cy*cy);
     color = colorp;
     }
     public int obtenerCoordX()
     {
     return coordX;
     }
     public int obtenerCoordY()
     {
     return coordY;
     }
     public double obtenerDistOrigen()
     {
     return distOrigen;
     }
     public String obtenerColor(){
     return color;
     }
     @Override
     public String toString()
     {
     String resul = "";
     resul += "(" + coordX + "," + coordY + ") Dist: " + distOrigen + " Color: " + color;
     return resul;
     }
    }


    La idea es hacer:

    - Un Arraylist de objetos de tipo punto (atributos int cx, int cy, String colorp) en método main. Hecho
    - Un método para escribir txt que recibe por parámetro el Arraylist de objetos de tipo Punto y la ruta/nombre de un txt a crear. El método escribe en un txt los valores del arraylist de objetos usando el método write(), añadiendo separadores entre coordenadas "#" y "\n" al final de línea (se tratan como caracteres unicode, esto lo hace para que use el método split, por putear,vamos). Hecho


    - Un segundo método para leer txt que recibe ruta y nombre de archivo, y que devuelve un Arraylist de objetos de tipo Punto. Se debe utilizar un buffer (BufferedReader) y acceder al fichero con el método readLine() (hasta aquí hecho), separando las coordenadas con el método split y casteándolas a int. Luego en el método main habría que usar el método tostring con el Arraylist<Punto> devuelto.


    Esto es lo que tengo hecho hasta ahora:

    Spoiler: Ver

    package puntosud10;

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.logging.Level;
    import java.util.logging.Logger;

    public class Puntosud10 {

    public static void main(String[] args) {

    try {
    String path = "D:/prueba/";
    String name = "puntos1.txt";

    ArrayList<Punto> ptList = new ArrayList();

    Punto pt1 = new Punto(1, 2, "rojo");
    Punto pt2 = new Punto(1, 2, "rojo");
    Punto pt3 = new Punto(1, 2, "rojo");

    ptList.add(pt1);
    ptList.add(pt2);
    ptList.add(pt3);

    almacenarColPuntosEnArchivo(path, name, ptList);

    } catch (IOException ex) {
    Logger.getLogger(Puntosud10.class.getName()).log(L evel.SEVERE, null, ex);
    }

    }

    public static void almacenarColPuntosEnArchivo(String path, String name, ArrayList<Punto> ptList) throws IOException {
    File ptFile = new File(path + name);
    FileWriter fw = new FileWriter(ptFile);

    for (int i = 0; i < ptList.size(); i++) {
    if (i != ptList.size()) {
    fw.write(ptList.get(i).obtenerCoordX() + "#");
    fw.write(ptList.get(i).obtenerCoordY() + "#");
    fw.write(ptList.get(i).obtenerColor() + "\n");
    } else {
    fw.write("");
    }
    }
    fw.close();

    }

    public static ArrayList<Punto> obtenerColPuntostDeArchivo(String path, String name) throws IOException {

    File ptFile = new File(path + name);
    BufferedReader ptBuff = new BufferedReader(new FileReader(ptFile));

    String linea = ptBuff.readLine();
    ptBuff.close();

    return null;

    }

    }


    He probado varias cosas y ninguna me ha funcionado del todo bien. Si fuese un String array lo que devuelve, le metía un return linea.split("_"); y me quedaba tan a gusto, pero al tener que devolver un Arraylist de tipo punto (con atributos de tipo int y String) y manejar el método readLine() líneas completas de String, me quedo un poco macareno.

    Alguien me sugiere algo? Jrasias de hantevrazo.

  9. #22

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    6,648
    Mencionado
    43 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,229
    Agradecer Thanks Received 
    1,303
    Thanked in
    Agradecido 897 veces en [ARG:2 UNDEFINED] posts
    Unas ideas.

    A la hora de escribir los puntos a un fichero podrías tener un método que "empaquete" todos los datos a guardar a un String, como el método toString que tienes. Asi para guardar el array de puntos solo tienes que llamar a ese método del punto, guardar el string que te devuelve a un fichero y después le metes un salto de linea, en vez de tener esa función separada.


    Código:
    // esto en la clase Punto
    public String serialize()
    {
        return String(coordX) + " " + String(coordY) + " " + color;
    }
    
    // mas o menos, no se las funciones de java
    public Punto deserialize(String str)
    {
       int x = StrToInt(str);
       // habría que avanzar hasta el primer espacio
       int y = StrToInt(str + primerEspacio);
      // avanzamos hasta el segundo espacio
       string color = StrToInt(str + segundoEspacio);
      return new Punto(x, y, color);
    }
    
    public static void almacenarColPuntosEnArchivo(String path, String name, ArrayList<Punto> ptList) throws IOException
    {
        FileWriter fw = new FileWriter(new File(path + name));
    
        for (int i = 0; i < ptList.size(); i++)
            fw.write(ptList.get(i).serialize() + "\n");
    
        fw.close();
    }
    
    // mas o menos algo asi
    public static ArrayList<Punto> leePuntos(String path, String name) throws IOException
    {
       FileReader in = new FileWriter(new File(path + name));
    
       ArrayList<Punto> array;
       while ( !in.eof() )
    {
        in.ReadLine(linea);
       array.add(Punto::deserializa(linea));
    }
       in.close();
       return array;
    
    }
    Para leer los puntos tendrías que hacer el método contrario, que dado un string te devuelva un punto. Para leer el fichero de puntos, abrirlas el fichero, lees una linea, llamas a este método (podria ser un método de clase que devuelva un nuevo punto) y metes el punto creado en un array. así hasta que se termine el fichero y devuelves el array.

    PD: el if que haces al guardar los puntos sobra.
    Última edición por swapd0; 06/04/2022 a las 19:27
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  10. El siguiente usuario agradece a swapd0 este mensaje:

    selecter25 (06/04/2022)

  11. #23

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    5,706
    Mencionado
    156 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,602
    Agradecer Thanks Received 
    1,854
    Thanked in
    Agradecido 1,064 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    Unas ideas.
    PD: el if que haces al guardar los puntos sobra.
    Mil gracias por las ideas y por contestar tan rápido, has tardado menos en contestar que yo en escribir el post . Eliminado el if, cierto es que no pintaba nada.

    En cuanto al ejercicio, imagino que cualquier profesor normal daría por válida la solución que propones, pero como ya pasó en el anterior, este hombre es un maniaco. A título personal voy a probarlo, prefiero aprender que cumplir, llevo todo el curso aprendiendo más por mi cuenta que en el FP. Sus directrices para este ejercicio:

    - No puedo modificar absolutamente nada en la clase Punto.
    - No puedo modificar nombres de variables, métodos, etc. facilitados por el profesor.
    - No puedo introducir nada que no se especifique explícitamente en el enunciado, ni utilizar métodos que no se hayan visto en clase o estén en los apuntes del temario.

    Estas cosas las manda vía mail para cada ejercicio del tema, si no cumples las directrices, 0 (de hecho si lo entrego con el actual nombre de clase, me lo tira para atrás).

    Dejo el enunciado para que se vea lo que pide:

    Spoiler: Ver


    Mil gracias de nuevo por el tiempo que te has tomado

  12. #24

    Fecha de ingreso
    Sep 2005
    Mensajes
    13,501
    Mencionado
    221 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    409
    Agradecer Thanks Received 
    1,078
    Thanked in
    Agradecido 774 veces en [ARG:2 UNDEFINED] posts
    Vale, tengo bastante oxidado el tema de acceso a ficheros en Java, pero creo que tienes un buen inicio de función.
    La idea es similar a lo que dice swapd0: es ir leyendo línea por línea, separar los datos, y guardarlos en un nuevo objeto "punto" que añadirás a la lista.

    No sé si meteré la pata con la sintaxis o con otra cosa, o si estaré mezclando código de C#, pero creo que a modo de pseudocódigo lo pillarás:

    Código:
    public static ArrayList<Punto> obtenerColPuntostDeArchivo(String path, String name) throws IOException {
    
    ArrayList<Punto> miLista = new ArrayList<Punto>();  //Dato a devolver
    
    File ptFile = new File(path + name);
    BufferedReader ptBuff = new BufferedReader(new FileReader(ptFile));
    
    String linea;
    String[] datosLeidos;
    Punto tempPunto;
    
    while (!ptBuff.Eof) {
       linea = ptBuff.readLine();  //leemos una línea
       datosLeidos = linea.split('#', linea);   //separamos los tres datos de la línea en diversas strings
       tempPunto = new Punto (int.parse(datosLeidos[0]), int.Parse(datosLeidos[1]), datosLeidos[2]);  //Creamos UN nuevo punto con los datos de esta línea
       miLista.Add(tempPunto);  //Guardamos el punto en la lista, y pasamos a la siguiente línea
    }
    ptBuff.close();
    
    return miLista;
    
    }
    Lo cierto es que el \n siempre me trae por la calle de la amargura, porque nunca sé si es \n o \r\n, o si hay que gestionar ambos... Tengo que manejar dos BBDD diferentes y una usa un tipo de fin de línea y el otro la otra, y cuando los confundo empiezan a salirme errores de sintaxis y...
    Volviendo al ejercicio. Pues creo que esa sería la cosa: lees una línea, extraes sus datos, creas un punto, lo guardas en la lista, y a por otra línea. No sé por qué no usas join para escribir en una sola línea del fichero, pero yo he usado split porque es lo que uso Ya tú sabrás si tienes que leer byte a byte buscando # o lo que sea.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  13. El siguiente usuario agradece a Drumpi este mensaje:

    selecter25 (06/04/2022)

  14. #25

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    5,706
    Mencionado
    156 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,602
    Agradecer Thanks Received 
    1,854
    Thanked in
    Agradecido 1,064 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Drumpi Ver mensaje
    Vale, tengo bastante oxidado el tema de acceso a ficheros en Java, pero creo que tienes un buen inicio de función.
    La idea es similar a lo que dice swapd0: es ir leyendo línea por línea, separar los datos, y guardarlos en un nuevo objeto "punto" que añadirás a la lista.

    No sé si meteré la pata con la sintaxis o con otra cosa, o si estaré mezclando código de C#, pero creo que a modo de pseudocódigo lo pillarás:
    Lo cierto es que el \n siempre me trae por la calle de la amargura, porque nunca sé si es \n o \r\n, o si hay que gestionar ambos... Tengo que manejar dos BBDD diferentes y una usa un tipo de fin de línea y el otro la otra, y cuando los confundo empiezan a salirme errores de sintaxis y...
    Volviendo al ejercicio. Pues creo que esa sería la cosa: lees una línea, extraes sus datos, creas un punto, lo guardas en la lista, y a por otra línea. No sé por qué no usas join para escribir en una sola línea del fichero, pero yo he usado split porque es lo que uso Ya tú sabrás si tienes que leer byte a byte buscando # o lo que sea.
    Gracias Drumpi!! Sintaxis aparte esta parece una solución que apañaría al señor psicópata. En salir del curro lo apañaré y probaré, mañana reportaré con el resultado.

  15. #26

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    6,648
    Mencionado
    43 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,229
    Agradecer Thanks Received 
    1,303
    Thanked in
    Agradecido 897 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Drumpi Ver mensaje
    Lo cierto es que el \n siempre me trae por la calle de la amargura, porque nunca sé si es \n o \r\n, o si hay que gestionar ambos... Tengo que manejar dos BBDD diferentes y una usa un tipo de fin de línea y el otro la otra, y cuando los confundo empiezan a salirme errores de sintaxis y...
    Volviendo al ejercicio. Pues creo que esa sería la cosa: lees una línea, extraes sus datos, creas un punto, lo guardas en la lista, y a por otra línea. No sé por qué no usas join para escribir en una sola línea del fichero, pero yo he usado split porque es lo que uso Ya tú sabrás si tienes que leer byte a byte buscando # o lo que sea.
    Yo siempre busco \n ya que si aparece \r estará antes y me lo habré "comido", IIRC en el único sitio donde he buscado \r\n es haciendo una petición https que te devuelve los datos con la cabecera (un montón de mierda) y tienes que buscar \r\n\r\n (dos saltos de linea seguidos) para encontrar los datos de respuesta.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  16. #27

    Fecha de ingreso
    Sep 2005
    Mensajes
    13,501
    Mencionado
    221 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    409
    Agradecer Thanks Received 
    1,078
    Thanked in
    Agradecido 774 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    Yo siempre busco \n ya que si aparece \r estará antes y me lo habré "comido", IIRC en el único sitio donde he buscado \r\n es haciendo una petición https que te devuelve los datos con la cabecera (un montón de mierda) y tienes que buscar \r\n\r\n (dos saltos de linea seguidos) para encontrar los datos de respuesta.
    Ya, para buscar, pues guay, pero como \r es un carácter que suelo necesitar quitar por alguna razón, pues me tengo que pelear. En BennuGD he aprendido a lidiar con ello, porque funciona diferente en Windows o Linux, y en C# aún me estoy peleando y nunca recuerdo en qué proyecto metí el método que lidia con ello por mi

    Nota pro: si tienes un problema recurrente, créate un método o función que lo resuelva por ti, guárdalo en un sitio como "código útil", y lo usas en lugar de tener que enfrentarte de nuevo al problema. Se te olvidará cómo resolverlo y no podrás hacerlo cuando no tengas el código a mano, pero compensa la cantidad de quebraderos de cabeza que te quitas cuando sí.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  17. #28

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    6,648
    Mencionado
    43 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,229
    Agradecer Thanks Received 
    1,303
    Thanked in
    Agradecido 897 veces en [ARG:2 UNDEFINED] posts
    Ya, el tipico directorio de "utilidades" o "herramientas" donde metes funciones a coscoporro, pero si empiezas a meter bastantes funciones de un tipo o que hacen cosas bastante parecidas, lo suyo es que las quites de ahi y crees una librería con ellas.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  18. #29

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    5,706
    Mencionado
    156 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,602
    Agradecer Thanks Received 
    1,854
    Thanked in
    Agradecido 1,064 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    Ya, el tipico directorio de "utilidades" o "herramientas" donde metes funciones a coscoporro, pero si empiezas a meter bastantes funciones de un tipo o que hacen cosas bastante parecidas, lo suyo es que las quites de ahi y crees una librería con ellas.
    +1, al habla el presidente oficial del fanclub "olvidé dónde guardé todas mis cosas útiles".

    PD: Finalmente conseguí hacerlo funcionar modificando el código de Drumpi, a título personal también desarrollé la idea de swapd0, con buen resultado. Gracias a ambos por la ayuda .

    Siguiente tema: AWT y Swing, nos vemos en próximas entregas de "noob millenial meets Java".
    Última edición por selecter25; 07/04/2022 a las 14:30

  19. #30

    Fecha de ingreso
    Sep 2005
    Mensajes
    13,501
    Mencionado
    221 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    409
    Agradecer Thanks Received 
    1,078
    Thanked in
    Agradecido 774 veces en [ARG:2 UNDEFINED] posts
    Al menos, las guardáis
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

Página 2 de 6 PrimerPrimer 123456 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •