Frontend Marciano
Macarro
view post Escrito el 12/12/2005, 02:17 by: Macarro
Avatar

El karma existe... por desgracia.

Grupo: Moderadores generales
Mensajes: 8657


Status: Offline: ultima azione eseguita il 15/1/2007, 20:10


Yo lo estaba programando en Blitzplus. Es un lenguaje más o menos sencillo, aunque con características avanzadas para la creación de juegos. Ya incorpora funciones multimedia de todo tipo (reproducción de video, audio, manejo de imágenes, etc...). El front-end funcionaba perfectamente y no consumía demasiados recursos. Iba a 30imágenes por segundo (limitado pro mi) en un amd500 sin problema alguno y consumiendo un 20% de procesador (si no recuerdo mal).

Posteriormente han seguido sacando versiones nuevas del lenguaje, blitz3d (permite manejo de polígonos y demás) y hace muy poco han sacado blitzmax, que es multiplataforma (MAC, linux y windows).

El lenguaje, como ya te he dicho, es muy sencillo y se parece mucho al basic. Si has programado en otros lenguajes, no deberías tener problema alguno con este.

Mira, te añado un poco del código de mi front-end para que veas qué simple es:

CODE

;FUNCION QUE ESCRIBE EL LISTADO DE JUEGOS -------------------------------
Function fList_Games()
Local sOutput_Text$

For i=0 To GAME_LIST_MAXITEMS-1         ;EL NÚMERO MAX DE JUEGOS Q CABEN EN PANTALLA CON EL TAMAÑO DE FUENTE ELEGIDA
 
 If (i+iGAMES_Start_Game)<iGAMES_Filtered_Number Then
  sOutput_Text = GAMES_Full_List.game(GAMES_Current_List%(i+iGAMES_Start_Game))\Name
 
  If GAMES_Full_List.game (GAMES_Current_List%(iGAMES_Active_Game))\Avaliable%=1 Then
   fShadowed_Text(4,15*i,sOutput_Text,0,0,tOwned_Game_Color.rgb)
  Else
   fShadowed_Text(4,15*i,sOutput_Text,0,0,tMiss_Game_Color.rgb)
  EndIf
 
 EndIf
Next

End Function
;FUNCIÓN QUE ESCRIBE INFORMACIÓN DEBUG EN PANTALLA PRINCIPAL ------------
Function fDEBUG()
Color 0,255,0

If iMode_Active = 0 Then
 Text 400,50,"INFORMACIÓN DEBUG"
 Text 400,60,"MODO ACTIVO: " + iMode_Active
 Text 400,80,"Número de juegos totales: " + iGAMES_Total_Number
 Text 400,90,"Número de juegos filtrados: " + iGAMES_Filtered_Number
 Text 400,100,"Juego Activo:" + iGAMES_Active_Game
 Text 400,110,"Rating: " + GAMES_Full_List(GAMES_Current_List(iGAMES_Active_Game))\Rating
 Text 400,120,"Media type: " + iGAMES_Media_Type
 Text 400,130,"Puntero video: " + iGAMES_Media_Pointer
 Text 400,140,"Nombre del fichero multimedia: " + sGAMES_Media_File
 Text 400,150,"Género del juego activo: " + GAMES_Full_List.game (GAMES_Current_List%(iGAMES_Active_Game))\Genre%
 Text 400,160,"Vista del juego activo: " + GAMES_Full_List.game (GAMES_Current_List%(iGAMES_Active_Game))\View%
EndIf
End Function




AÑADO
-------------

El modo que tenía yo de generar la lista era con un vector. Primero definía un tipo de datos llamado "juego" de modo que tenía varias características: nombre, año, genero, puntuación, etc.... Y luego creaba un vector de juegos. Esa era la lista completa de juegos, luego, dependiendo del filtro activo, creaba un nuevo vector donde solo se copiaban los elementos que cumplian determinada condición, por ejemplo de tal año, de tal género, etc...

Los datos de juegos, por comodidad, los leía de un .csv. No llegué a extraerlos del xml, pero supongo que no costaría demasiado hacerlo. Y el arranque del programa era casi inmediato, eso si, creo que el máximo número de juegos que usé fueron cincuenta y pico.
37 respuesta(s) desde el 10/12/2005, 20:10