• Martes 7 de Mayo de 2024, 22:27

Mostrar Mensajes

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 - budoky

Páginas: [1]
1
C/C++ / Estructura y eficiencia del codigo
« en: Lunes 24 de Enero de 2011, 00:52 »
Hola, como he comentado en el subforo de visual c++ estoy pensando en hacer un editor de partidas guardadas, el problema que se me plantea es estructurar y leer de una forma sencilla el fichero de entrada que tiene un formato similar a:

Código: Text
  1. date="1415.4.8"
  2. player="DAN"
  3. monarch=7126
  4. cardinal=65
  5. leader=2050
  6. advisor=1937
  7. rebel=1808
  8. unit=1627
  9. flags=
  10. {
  11. }
  12. gameplaysettings=
  13. {
  14.     setgameplayoptions=
  15.     {
  16. 0 0 0 0 0 0 0 0 0 1 0 0 0   }
  17. }
  18. start_date="1399.10.14"
  19. id=
  20. {
  21.     id=14246
  22.     type=4713
  23. }
  24. rebel_faction=
  25. {
  26.     id=
  27.     {
  28.         id=229
  29.         type=40
  30.     }
  31.     type="particularist_rebels"
  32.     name="Swahili Particularists"
  33.     heretic="Ahmadi"
  34.     country="ZAN"
  35.     independence="---"
  36.     culture="swahili"
  37.     religion="sunni"
  38.     government="tribal_federation"
  39.     province=1196
  40.     leader=
  41.     {
  42.         id=1458
  43.         type=38
  44.     }
  45.     army=
  46.     {
  47.         id=230
  48.         type=40
  49.     }
  50.     provinces=
  51.     {
  52.         1186 1191   }
  53. }
  54. rebel_faction=
  55. {
  56.     id=
  57.     {
  58.         id=280
  59.         type=40
  60.     }
  61.     type="particularist_rebels"
  62.     name="Milanese Particularists"
  63.     heretic="Hussite"
  64.     country="MLO"
  65.     independence="---"
  66.     culture="lombard"
  67.     religion="catholic"
  68.     government="despotic_monarchy"
  69.     province=117
  70.     leader=
  71.     {
  72.         id=1474
  73.         type=38
  74.     }
  75.     army=
  76.     {
  77.         id=281
  78.         type=40
  79.     }
  80.     provinces=
  81.     {
  82.         115     }
  83. }
  84.  
  85.  

Se trata de un solo fichero de texto muy extenso, en texto plano puede llegar a ocupar unos 100Mb. Hasta ahora lo que hacia era leer cada linea y buscar cada componente con el strtok, de modo que por ejemplo para player="DAN", lo almaceno en una variable llamada player, mientras que me creo un objeto para los tipos rebel_faction y dentro pueden existir tambien otros objetos. Lo planteo como si fuese un arbol. El problema que se me presenta es que al leer así es que puede ser muy lento a la larga además del hecho de tener que almacenar tantísimas variables no se si es viable.  ¿Algún consejo sobre como leer y almacenar los datos de una forma más eficiente?

Como ejemplo un archivo de unos 10Mb supone aproximadamente 7 millones de lineas aunque he visto que pueden llegar a ocupar 12 millones de lineas. Aunque después no sea necesario almacenarlas todas.

Edito: Desconozco si hay alguna forma de editar el fichero buscando un compnente exacto para editarlo, de modo que solo se cache una parte del fichero.

2
Visual C++ / Re: Interfaz gráfica
« en: Domingo 23 de Enero de 2011, 15:19 »
Gracias por la ayuda, voy a probar con QT, ahora me queda la parte mas tediosa, leer tutoriales y documentación hasta ir empapandome poco a poco.

Un saludo y gracias de nuevo.

3
Visual C++ / Re: Interfaz gráfica
« en: Domingo 23 de Enero de 2011, 13:42 »
No tengo ninguna predisposición por ninguna, más que nada porque me tocaría empezar de 0 con cualquiera de ellos. Me decantaría por el tenga más documentación con tutoriales y ejemplos o bien que sea más adecuado para la tarea que tengo pensada. Acepto sugerencias por tanto xD

P.D: Hasta ahora he estado probando con Microsof Visual c++

4
C/C++ / Re: Pregunta sobre listas
« en: Domingo 23 de Enero de 2011, 13:05 »
Es perfectamente posible crear una lista de los elementos que tu quieras, hay multiples formas de hacerlo, te recomiendo usar la libreria vector, en ella encontraras el template de la clase vector. Acabo de registrarme y no puedo publicar enlaces pero si buscas en google [libreria vector c++] o algo similar encontraras facilmente documentación sobre ella.

Un Saludo.

5
Visual C++ / Interfaz gráfica
« en: Domingo 23 de Enero de 2011, 12:54 »
Hola a todos,
llevo un tiempo pensado en hacer un editor de partidas guardadas para el EU3 (Un juego de estrategia) y de paso tomar contacto con la plataforma de visual c++.

La idea es hacer un mapa de provincias, similar a (no se me permite publicar enlaces todavia, basicamente un mapa de provincias cualquiera) donde se pueda hacer click sobre una provincia y ejecutar determinados eventos, como por ejemplo cambiar el color de esa provincia. También me gustaría que tuviera zoom y desplazamiento pero eso no se si será demasiado complicado de implementar.

Bueno eso, que no tengo ni idea de por donde empezar o tan siquiera que tutoriales seguir para hacerlo, he estado buscando durante varios dias en google y no he encontrado nada que se asemeje.

Páginas: [1]