// // AVENTURA 2.0 // (c)2000 Login: // // jsjlogin@jet.es // http://personales.jet.es/jsjlogin // // ********** CONSTANTES ********** Declare(CR) CR:="\[R]" Declare(TRUE) TRUE:=1 Declare(FALSE) FALSE:=0 // ********** CONFIGURACION ********** Declare(turnos) // turnos de juego turnos:=1 Declare(pant_info) // ventana de estado Declare(pant_grf) // ventana de gráficos Declare(musica_fondo) // para referenciar a la música de fondo (ver USR_MusicaFondo) Declare(tipo_letra) // ---------- tipo de letra normal tipo_letra:="\[Arial]\[10]" Declare(tipo_letra_info) // ---------- tipo de letra de barra de estado tipo_letra_info:="\[Times New Roman]\[10]" Declare(color_fondo) // ---------- color de fondo de ventana de texto color_fondo:="\[RGBF(000030)]" Declare(color_info) // ---------- color de fondo y texto de línea de estado color_info:="\[RGBF(FFFFFF)]\[RGB(000000)]" Declare(color_letra) // ---------- color de letra normal color_letra:="\[RGB(FFFFFF)]" Declare(dialogo_psi1) // ---------- se imprime antes de lo que dice el PSI Declare(dialogo_psi2) // ---------- se imprime después de lo que dice el PSI dialogo_psi1:="\[Courier New]\[10]\[RGB(00AACC)]--- " dialogo_psi2:=" ---" Declare(hay_graficos) // ---------- indica si la aventura tiene gráficos hay_graficos:=FALSE Declare(hay_sonido) // ---------- indica si la aventura tiene sonido hay_sonido:=FALSE Declare(todapantalla) // ---------- indica si la ventana principal ocupará toda la pantalla todapantalla:=FALSE // si es TRUE se ignorarán 'tamx', 'tamy', 'posx', 'posy' Declare(tamx) // ---------- ancho de la ventana Declare(tamy) // ---------- alto de la ventana Declare(posx) // ---------- posición X de la ventana Declare(posy) // ---------- posición Y de la ventana Declare(tamy_info) // ---------- altura de la ventana de estado Declare(tamy_grf) // ---------- altura de la ventana de gráficos tamx:=640 tamy:=420 posx:=10 posy:=10 tamy_info:=20 tamy_grf:=200 Declare(prompt) // ---------- prompt del input prompt:="> " Declare(titulo) // ---------- título de la aventura (se muestra en el título de la ventana) titulo:="Aventura" Declare(version) // ---------- versión de la aventura version:="2.0" // ********** CODIGO DE INICIALIZACION ********** // estilo de la ventana principal If todapantalla Then WindowStyle(0,titulo) tamx:=ResX tamy:=ResY posx:=0 posy:=0 Else WindowStyle(1,titulo) EndIf // creamos una pantalla para información (desc. corta, turnos...) Declare(ajustex) Declare(ajustey) If todapantalla Then ajustex:=0 ajustey:=0 Else ajustex:=6 ajustey:=25 EndIf pant_info:=CreateScreen() ScreenPos(pant_info,0,0) ScreenSize(pant_info,tamx-ajustex,tamy_info) ScreenScroll(pant_info,2) Screen(pant_info) Print(color_info + tipo_letra) // creamos una pantalla para gráficos If hay_graficos Then pant_grf:=CreateScreen() ScreenPos(pant_grf,0,tamy_info) ScreenSize(pant_grf,tamx-ajustex,tamy_grf) Screen(pant_grf) Print("\[RGBF(000000)]") EndIf // definimos la pantalla 0 (la usaremos para texto) ScreenScroll(0,0) If hay_graficos Then ScreenPos(0,0,tamy_info+tamy_grf) ScreenSize(0,tamx-ajustex,tamy-tamy_info-tamy_grf-ajustey) Else ScreenPos(0,0,tamy_info) ScreenSize(0,tamx-ajustex,tamy-tamy_info-ajustey) EndIf Screen(0) Print(color_fondo + color_letra + tipo_letra) // después de inicializar el aspecto de la pantalla // la mostramos y así evitamos molestos efectos de "parpadeo" // NOTA: siempre debe existir un WindowPos o un WindowSize ya que // sino la ventana principal quedaría oculta WindowPos(posx,posy) WindowSize(tamx,tamy) Principal()