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

No hay comentarios:

Publicar un comentario

Gracias por tus comentarios