Mostrando entradas con la etiqueta coordenadas de ventana gráfica. Mostrar todas las entradas
Mostrando entradas con la etiqueta coordenadas de ventana gráfica. Mostrar todas las entradas

miércoles, 14 de octubre de 1998

Ejercicio de programación con WinLogo (LOGO) para elaborar un mapa interactivo (empleando listas de coordenadas de ventana gráfica)

; ---------------------------------------------------------
;    Mapa interactiu
;
; Mapa interactiu de la Comunitat E. Europea (1998).
; El programa carrega els fitxers: europa2.gif i europa.frm 
; que prèviament cal ubicar al directori del winlogo

;    © Joan Aranes Clua, 1998
                CC BY 4.0
                
; Referencies: Curs sobre el llenguatge de programació Logo
;              y llurs aplicacions didàctiques (del PIE),
;              en el qual vaig participar com a alumne
;              curs 1997-1998  
; ---------------------------------------------------------

procediment Posa.llistes
  ; llista de les posicions de les capitals "punts
  posa.a "posicions 
    [
      [-107 -52][-35 2][-25 32][-51 62] «
      [18 -91][57 -34][51 12][53 41][93 71] «
      [131 71][-143 -46][-4 14] «
      [8 29][90 -144][0 0] 
    ]

  ; llista de països
  posa.a "països 
    [Espanya França GB Irlanda Itàlia Àustria  Alemanya 
     Dinamarca Suècia Findlàndia Portugal Bèlgica PB Grècia Luxemburg]

  ; llista de les capitals corresponents als països 
  posa.a "capitals 
    [Madrid Paris Londres Dublin Roma Viena Berlin 
    Copenhaguen Estocolm Helsinki Lisboa Brussel.les Amsterdam Atenes Luxemburg]
fi

procediment Prepara.finestra.text
  Anomena.finestra "Text "Qüestions
  mou.finestra "Text [360 0]
  fes.mida.finestra "Text [280 400]
  fes.color.paper 8
  fes.fons 8
  fes.fons.text 8
  fes.color.text 5
  esborra.text
fi

procediment Prepara.mapa
  mou.finestra "Gràfics [0 0]
  fes.mida.finestra "Gràfics [360 400]
  inicia.dibuix
  recupera.decorat "c:\winlogo\europa2.gif
  ajusta.decorat
  recupera.formes "c:\winlogo\europa.frm
  fes.forma 1
  no.llapis
fi

procediment Qüestió
  posa.a "posició.aleatòria (atzar 16)
  ;tria a l'atzar un nombre entre 1..15
  
  ;situa la tortuga sobre el punt corresponent    
  posa't element :posició.aleatòria :posicions

  ;realitza les preguntes:
  Fes.pregunta.país 
  Qüestió
fi
       

procediment Fes.pregunta.país 
  esborra.text
  mou.cursor [3 2]
  escriu [Quin país és ?]
  mou.cursor [3 3]
  posa.a "resposta.país paraula.llegida
  comprova :resposta.país = element :posició.aleatòria :països 
  si.ver [Fes.pregunta.capital :posició.aleatòria]
  si.fals [Fes.pregunta.país :posició.aleatòria]
fi

procediment Fes.pregunta.capital :posició.aleatòria
      mou.cursor [3 4]
      escriu [Quina es la capital?]
      mou.cursor [3 5]
      posa.a "resposta.capital paraula.llegida
      comprova :resposta.capital = element :posició.aleatòria :capitals      
      si.ver [Qüestió]
      si.fals [Fes.pregunta.capital :posició.aleatòria]   
fi

procediment Europa
  Prepara.mapa
  Prepara.finestra.text
  Posa.llistes
  Qüestió
  ;aquest procediment (Qüestió) crida al procediment "Fes.pregunta.país" 
  ;i, al seu torn, aquest crida a "Fes.pregunta.capital"
fi
; ---------------------------------------------------------
% Europa ;... per engegar el programa