[Résolu] Variable qui ne se réinitialise pas
Publié : mer. 13/janv./2016 21:26
Bonsoir à tous,
j'ai un soucis, car quand je valide la première réponse, le programme valide les autre question avec la même réponse et je ne vois pas où est l'erreur.
Pouvez-vous m'aider, car il ne faisait pas ça avant, je vous en remercie par anticipation.
j'ai un soucis, car quand je valide la première réponse, le programme valide les autre question avec la même réponse et je ne vois pas où est l'erreur.
Pouvez-vous m'aider, car il ne faisait pas ça avant, je vous en remercie par anticipation.
Code : Tout sélectionner
;Capitales.pb
; TODO prévoir un bouton pour revenir au menu
;Thèmes :
;Capitales des nouvelles régions Françaises
;Capitales européennes
;Allemagne
;Royaume-uni
;Belgique
;Irlande
;Luxembourg
;Danemark
;Pays-bas
;Suède
;Espagne
;Portugal
; On peut valider avec le bouton "Valider" ou la touche "entrée"
; On peut quitter avec le bouton "Quitter" ou la touche "Echap"
Global.s ChefLieu, Region, Capitale, Pays
Enumeration Fenetre
#Fenetre_principale
EndEnumeration
Enumeration Gadgets
#Titre
#Question
#tChefLieu
#tIndication
#Reponse
#Bouton_Ok
#Bouton_Quitter
#Bouton_Menu
#Barre_Etat
EndEnumeration
Enumeration sprites
#sprite
EndEnumeration
Enumeration Polices
#Police
#Police1
EndEnumeration
Declare.s RepeterCar(Quantite.i,Caractere.s)
Declare.s RepeterChaine(Chaine.s, Multiplicateur.i)
Declare Bonne_reponse()
Declare Mauvaise_reponse()
Declare.s Reponses()
Declare Questionnaire()
Declare Tirer_au_sort()
Global NewList Question_Deja_Posee()
Global x, Bonne_Reponse, Compteur, Niveau
Global Index = 0, Oui = 1, Non = 0, ListeTerminee = Non, Total, Nb_Questions
Global Choix, Reponse.s, grepondu$, rep1$, Texte$
Global Police = LoadFont(#Police, "Arial" , 15, #PB_Font_Bold)
Global Police1 = LoadFont(#Police1, "Carolingia" , 20, #PB_Font_Bold)
UseJPEGImageDecoder()
UsePNGImageDecoder()
Procedure RemplirTableau()
;Paramètres divers pour le jeu
If Choix = 1 ;Régions françaises
Total = 11
Nb_Questions = 12
ElseIf Choix = 2 ; capitales européennes
Total = 26
Nb_Questions = 27
ElseIf Choix = 3 ; lands allemands
Total = 14
Nb_Questions = 15
ElseIf Choix = 4 ; royaume-uni
Total = 3
Nb_Questions = 4
ElseIf Choix = 5 ;Belgique
Total = 10
Nb_Questions = 11
ElseIf Choix = 6 ;Irlande
Total = 3
Nb_Questions = 4
ElseIf Choix = 7 ;Luxembourg
Total = 2
Nb_Questions = 3
ElseIf Choix = 8 ;Danemark
Total = 5
Nb_Questions = 6
ElseIf Choix = 9 ;Pays bas
Total = 11
Nb_Questions = 12
ElseIf Choix = 10 ;Suède
Total = 24
Nb_Questions = 25
ElseIf Choix = 11 ;Espagne
Total = 48
Nb_Questions = 49
ElseIf Choix = 12 ;Portugal
Total = 4
Nb_Questions = 5
EndIf
Global Dim indice.s(Total,1)
While ListeTerminee = Non
Read.s Region
Read.s ChefLieu
If Region = "STOP" And ChefLieu = "STOP"
ListeTerminee = Oui
Else
ChefLieu = UCase(ChefLieu)
Region = UCase(Region)
indice(index, 0) = Region
indice(index, 1) = ChefLieu
EndIf
Index + 1
Wend
EndProcedure
Procedure Menu()
Protected Ligne = 10, Colonne
#LargEcr = 800
#HautEcr = 600
; Initialiser le sprite et le clavier du système et un écran 800x600, 32 bits
If InitSprite() = 0 Or InitKeyboard() = 0 Or OpenScreen(#LargEcr,#HautEcr,32,"") = 0
MessageRequester("Erreur!", "Impossible d'initialiser l'environnement", #PB_MessageRequester_Ok)
End
EndIf
; Dimensionner notre TableauNom
Global Dim TableauNom.s(11)
; Attribuer nos valeurs au tableau
TableauNom(0) = "A - régions françaises"
TableauNom(1) = "B - union européenne"
TableauNom(2) = "C - régions allemandes"
TableauNom(3) = "D - royaume-uni"
TableauNom(4) = "E - Belgique"
TableauNom(5) = "F - Irlande"
TableauNom(6) = "G - Luxembourg"
TableauNom(7) = "H - Danemark"
TableauNom(8) = "I - Pays-bas"
TableauNom(9) = "J - Suède"
TableauNom(10) = "K - Espagne"
TableauNom(11) = "L - Portugal"
Global CouleurNettoyage
; Maintenant charger le sprite
;LoadSprite(#sprite, "carte_UE_annees_adhesion.png", #PB_Sprite_AlphaBlending)
CouleurNettoyage = $FFFFFF
ClearScreen(CouleurNettoyage) ; vider la mémoire tampon de sortie en vert
;ZoomSprite(#sprite, 800, 600)
;DisplayTransparentSprite(#sprite, 0, 0)
StartDrawing(ScreenOutput())
BackColor(CouleurNettoyage)
DrawingMode(#PB_2DDrawing_Transparent)
DrawingFont(Police1)
; Afficher le texte à l'écran demandant à l'utilisateur l'entrée
Texte$ = "CAPITALES D'EUROPE"
Ligne + TextHeight(" ")
Colonne = (#LargEcr-TextWidth(Texte$))/2
DrawText(Colonne,Ligne, Texte$, $0)
DrawingMode(#PB_2DDrawing_Transparent)
Ligne = 150
For x = 0 To 11
Texte$ = TableauNom(x)
Ligne + TextHeight(" ")
Colonne = 300 ;(#LargEcr-TextWidth(Texte$))/2
DrawText(Colonne, Ligne, Texte$,$0)
Next x
StopDrawing()
FlipBuffers() ; basculer les tampons pour montrer à l'utilisateur la demande
; Initialiser une variable de type chaîne et la définir comme vide
Global.s Reponse = ""
; Maintenant, dire à PB d'attendre jusqu'à ce qu'une touche soit enfoncée avant d'aller plus loin
While Reponse = ""
; Appeler PB pour examiner la fonction clavier pour voir s'il y a une activité du clavier
ExamineKeyboard()
; S'il ya une activité, attribuer à n'importe quelle touche qui a été pressée, notre variable Reponse.s
Reponse = UCase(KeyboardInkey())
Wend
ClearScreen(CouleurNettoyage) ; vider la mémoire tampon de sortie en vert
; Commencer à dessiner dans le tampon de sortie
;DisplayTransparentSprite(#sprite, 0, 0)
StartDrawing(ScreenOutput())
DrawingFont(Police1)
DrawingMode(#PB_2DDrawing_Transparent)
BackColor(CouleurNettoyage)
FrontColor(0)
; vérifier pour voir si l'utilisateur entre un nombre entre 1 et 6 ou non
Ligne = 200
If Reponse = "A"
Texte$ = "Tu as choisi les régions françaises !"
; si c'est le cas, alors écrire le texte à ce sujet
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
ElseIf Reponse = "B"
Texte$ = "Tu as choisi les capitales européennes !"
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
ElseIf Reponse = "C"
Texte$ = "Tu as choisi les lands allemands !"
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
ElseIf Reponse = "D"
Texte$ = "Tu as choisi le royaume-uni !"
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
ElseIf Reponse = "E"
Texte$ = "Tu as choisi la Belgique !"
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
ElseIf Reponse = "F"
Texte$ = "Tu as choisi l'Irlande !"
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
ElseIf Reponse = "G"
Texte$ = "Tu as choisi le Luxembourg !"
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
ElseIf Reponse = "H"
Texte$ = "Tu as choisi le Danemark !"
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
ElseIf Reponse = "I"
Texte$ = "Tu as choisi les Pays-bas !"
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
ElseIf Reponse = "J"
Texte$ = "Tu as choisi la Suède !"
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
ElseIf Reponse = "K"
Texte$ = "Tu as choisi l'Espagne !"
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
ElseIf Reponse = "L"
Texte$ = "Tu as choisi le portugal !"
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
Else
Texte$ = "Tu N'AS PAS fait de choix, ce sera donc:"
; sinon, juste lui dire qu'il n'a pas entré un numéro de question
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
Ligne + TextHeight(" ")
Texte$ = "les régions françaises ! "
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
Ligne + TextHeight(" ")
EndIf
Ligne + TextHeight(" ")
Texte$ = "Appuie sur une >touche fléchée< pour continuer."
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
Ligne + TextHeight(" ")
Texte$ = "ou la >touche Echap< pour annuler."
DrawText((#LargEcr-TextWidth(Texte$))/2,Ligne, Texte$)
StopDrawing()
FlipBuffers() ; basculer le tampon pour montrer le résultat à l'utilisateur
; attendre qu'une touche soit pressée
Repeat
ExamineKeyboard()
If KeyboardReleased(#PB_Key_Down) Or
KeyboardReleased(#PB_Key_Up) Or
KeyboardReleased(#PB_Key_Left) Or
KeyboardReleased(#PB_Key_Right) Or
KeyboardReleased(#PB_Key_Escape)
Resultat = 1
EndIf
Until Resultat = 1
Choix = Asc(Reponse)-64 ;parce que Asc("A") - 64 = 1
If Choix > 12 Or Choix < 1
Choix = 1
EndIf
CloseScreen()
If Choix = 1
Restore Prefectures
RemplirTableau()
ElseIf Choix = 2
Restore Capitales_europeenne
RemplirTableau()
ElseIf Choix = 3
Restore regions_allemandes
RemplirTableau()
ElseIf Choix = 4
Restore Royaume_uni
RemplirTableau()
ElseIf Choix = 5
Restore Belgique
RemplirTableau()
ElseIf Choix = 6
Restore Irlande
RemplirTableau()
ElseIf Choix = 7
Restore luxembourg
RemplirTableau()
ElseIf Choix = 8
Restore Danemark
RemplirTableau()
ElseIf Choix = 9
Restore PaysBas
RemplirTableau()
ElseIf Choix = 10
Restore Suede
RemplirTableau()
ElseIf Choix = 11
Restore Espagne
RemplirTableau()
ElseIf Choix = 12
Restore Portugal
RemplirTableau()
EndIf
ProcedureReturn Choix
EndProcedure
Procedure Questionnaire()
OpenWindow(#Fenetre_principale, 30,30, 760, 220, "Question n°"+Str(Compteur),
#PB_Window_ScreenCentered | #PB_Window_BorderLess)
StickyWindow(#Fenetre_principale, 1)
SetWindowColor(#Fenetre_principale,$D5EE72)
TextGadget(#Titre, 0, 10, WindowWidth(#Fenetre_principale), 30, "Question n°"+Str(Compteur), #PB_Text_Center)
If Choix = 1
TextGadget(#Question, 0, 55, WindowWidth(#Fenetre_principale), 30, "Quelle est la capitale de la région "+indice(Bonne_Reponse, 0),
#PB_Text_Center)
TextGadget(#tIndication, 0, 80, WindowWidth(#Fenetre_principale), 30, Left(indice(Bonne_Reponse, 1),1) +
" " + RepeterChaine("- ",Len(indice(Bonne_Reponse,1))-2) +
LCase(Right(indice(Bonne_Reponse, 1),1)),#PB_Text_Center)
ElseIf Choix = 2
If LCase(Left(indice(Bonne_Reponse, 0), 1)) = "a" Or LCase(Left(indice(Bonne_Reponse, 0), 1)) = "e" Or LCase(Left(indice(Bonne_Reponse, 0), 1)) = "i" Or
LCase(Left(indice(Bonne_Reponse, 0), 1)) = "o" Or LCase(Left(indice(Bonne_Reponse, 0), 1)) = "u"
Texte$ = "de l'"
ElseIf LCase(Left(indice(Bonne_Reponse, 0), 10)) = "republique" Or LCase(indice(Bonne_Reponse, 0)) = "belgique" Or LCase(indice(Bonne_Reponse, 0)) = "suede" Or
LCase(indice(Bonne_Reponse, 0)) = "hongrie" Or LCase(indice(Bonne_Reponse, 0)) = "lettonie" Or LCase(indice(Bonne_Reponse, 0)) = "france" Or
LCase(indice(Bonne_Reponse, 0)) = "grece" Or LCase(indice(Bonne_Reponse, 0)) = "slovaquie" Or LCase(indice(Bonne_Reponse, 0)) = "finlande" Or
LCase(indice(Bonne_Reponse, 0)) = "slovenie" Or LCase(indice(Bonne_Reponse, 0)) = "roumanie" Or LCase(indice(Bonne_Reponse, 0)) = "bulgarie" Or
LCase(indice(Bonne_Reponse, 0)) = "pologne"
Texte$ = "de la "
ElseIf LCase(indice(Bonne_Reponse, 0)) = "chypre" Or LCase(indice(Bonne_Reponse, 0)) = "malte"
Texte$ = "de "
ElseIf LCase(indice(Bonne_Reponse, 0)) = "pays-bas"
Texte$ = "des "
Else
Texte$ = "du "
EndIf
TextGadget(#Question, 0, 55, WindowWidth(#Fenetre_principale), 30, "Quelle est la capitale "+ Texte$ + indice(Bonne_Reponse, 0),
#PB_Text_Center)
TextGadget(#tIndication, 0, 80, WindowWidth(#Fenetre_principale), 30, Left(indice(Bonne_Reponse, 1),1) +
" " + RepeterChaine("- ",Len(indice(Bonne_Reponse,1))-2) +
LCase(Right(indice(Bonne_Reponse, 1),1)),#PB_Text_Center)
ElseIf Choix = 3
Texte$ = "du land "
TextGadget(#Question, 0, 55, WindowWidth(#Fenetre_principale), 30, "Quelle est la capitale "+ Texte$ + indice(Bonne_Reponse, 0),
#PB_Text_Center)
TextGadget(#tIndication, 0, 80, WindowWidth(#Fenetre_principale), 30, Left(indice(Bonne_Reponse, 1),1) +
" " + RepeterChaine("- ",Len(indice(Bonne_Reponse,1))-2) +
LCase(Right(indice(Bonne_Reponse, 1),1)),#PB_Text_Center)
ElseIf Choix = 4
Texte$ = "de la nation "
TextGadget(#Question, 0, 55, WindowWidth(#Fenetre_principale), 30, "Quelle est la capitale "+ Texte$ + indice(Bonne_Reponse, 0),
#PB_Text_Center)
TextGadget(#tIndication, 0, 80, WindowWidth(#Fenetre_principale), 30, Left(indice(Bonne_Reponse, 1),1) +
" " + RepeterChaine("- ",Len(indice(Bonne_Reponse,1))-2) +
LCase(Right(indice(Bonne_Reponse, 1),1)),#PB_Text_Center)
ElseIf Choix = 5
Texte$ = "de la "
TextGadget(#Question, 0, 55, WindowWidth(#Fenetre_principale), 30, "Quelle est la capitale "+ Texte$ + indice(Bonne_Reponse, 0),
#PB_Text_Center)
TextGadget(#tIndication, 0, 80, WindowWidth(#Fenetre_principale), 30, Left(indice(Bonne_Reponse, 1),1) +
" " + RepeterChaine("- ",Len(indice(Bonne_Reponse,1))-2) +
LCase(Right(indice(Bonne_Reponse, 1),1)),#PB_Text_Center)
ElseIf Choix = 6 Or Choix = 7 Or Choix = 8 Or Choix = 9 Or Choix = 10 Or Choix = 11
Texte$ = "de la province "
TextGadget(#Question, 0, 55, WindowWidth(#Fenetre_principale), 30, "Quelle est la capitale "+ Texte$ + indice(Bonne_Reponse, 0),
#PB_Text_Center)
TextGadget(#tIndication, 0, 80, WindowWidth(#Fenetre_principale), 30, Left(indice(Bonne_Reponse, 1),1) +
" " + RepeterChaine("- ",Len(indice(Bonne_Reponse,1))-2) +
LCase(Right(indice(Bonne_Reponse, 1),1)),#PB_Text_Center)
ElseIf Choix = 12
Texte$ = "de la région "
TextGadget(#Question, 0, 55, WindowWidth(#Fenetre_principale), 30, "Quelle est la capitale "+ Texte$ + indice(Bonne_Reponse, 0),
#PB_Text_Center)
TextGadget(#tIndication, 0, 80, WindowWidth(#Fenetre_principale), 30, Left(indice(Bonne_Reponse, 1),1) +
" " + RepeterChaine("- ",Len(indice(Bonne_Reponse,1))-2) +
LCase(Right(indice(Bonne_Reponse, 1),1)),#PB_Text_Center)
EndIf
StringGadget(#Reponse, (WindowWidth(#Fenetre_principale)/2) - 100, 105, 200, 30, "")
ButtonGadget(#Bouton_Ok, (WindowWidth(#Fenetre_principale)/2) - 40, 150, 80, 30, "Valider")
ButtonGadget(#Bouton_Quitter, WindowWidth(#Fenetre_principale) - 90, 10, 80, 30, "Quitter")
;ButtonGadget(#Bouton_Menu, 10, 10, 80, 30, "Menu")
If CreateStatusBar(#Barre_Etat, WindowID(#Fenetre_principale))
AddStatusBarField(370)
StatusBarText(#Barre_Etat,0, "Note: "+Str(Niveau)+"/20")
EndIf
SetGadgetColor(#Titre, #PB_Gadget_BackColor, GetWindowColor(#Fenetre_principale))
SetGadgetFont(#Titre, FontID(#Police))
SetGadgetColor(#Question, #PB_Gadget_BackColor, GetWindowColor(#Fenetre_principale))
SetGadgetFont(#Question, FontID(#Police))
SetGadgetFont(#Reponse, FontID(#Police))
SetGadgetFont(#tIndication, FontID(#Police))
SetGadgetColor(#tIndication, #PB_Gadget_BackColor, GetWindowColor(#Fenetre_principale))
SetGadgetFont(#Bouton_Ok, FontID(#Police))
SetGadgetFont(#Bouton_Quitter, FontID(#Police))
;SetGadgetFont(#Bouton_Menu, FontID(#Police))
AddKeyboardShortcut(#Fenetre_principale, #PB_Shortcut_Return, #Bouton_Ok) ;pour valider avec la touche entrée
AddKeyboardShortcut(#Fenetre_principale, #PB_Shortcut_Escape, #Bouton_Quitter) ;pour sortir en pressant échap
SetActiveGadget(#Reponse)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
;Debug indice(Bonne_Reponse,1) + " " + rep1$
Select EventGadget()
Case #Bouton_Ok
grepondu$="oui"
Case #Bouton_Quitter
CloseWindow(#Fenetre_principale)
End
Case #Bouton_Menu
Choix = 0
Menu()
EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case #Bouton_Ok
grepondu$="oui"
Case #Bouton_Quitter
CloseWindow(#Fenetre_principale)
End
EndSelect
EndSelect
Until grepondu$="oui"
rep1$=GetGadgetText(#Reponse)
If UCase(rep1$) = UCase(indice(Bonne_Reponse, 1))
AddElement(Question_Deja_Posee())
Question_Deja_Posee()= Bonne_Reponse
Niveau+(20 / Nb_Questions)
Else
Mauvaise_reponse()
EndIf
If Niveau=0
;MessageRequester("Pfff...", "Essaie de faire mieux." + #LF$ + "Ce n'est quand même pas si dur.", #MB_ICONQUESTION)
Else
If Niveau < 2
Texte$ = Str(Niveau)+" bonne réponse"
Else
Texte$ = Str(Niveau)+" bonnes réponses"
EndIf
;MessageRequester("Score","Tu as "+Texte$+" sur "+Str(Nb_Questions))
EndIf
EndProcedure
Procedure Tirer_au_sort()
Bonne_Reponse = Random(Total)
ForEach Question_Deja_Posee()
If Question_Deja_Posee() = Bonne_Reponse
Tirer_au_sort()
EndIf
Next
EndProcedure
Procedure Bonne_reponse()
MessageRequester("Cool", "Trop fort !", #MB_OK)
EndProcedure
Procedure Mauvaise_reponse()
MessageRequester("Désolé", "la réponse, c'était " + indice(Bonne_Reponse, 1) +
#LF$ +
"Retiens-le pour la pochaine fois !", #MB_OK)
EndProcedure
Procedure.s Reponses()
Protected Texte.s
Select niveau
Case 0
Texte = "Tu n'as répondu à aucune question"
Case 1 To 3
Texte = " nul"
Case 4 To 8
Texte = " médiocre"
Case 9 To 12
Texte = " moyen"
Case 13 To 15
Texte = " assez bon"
Case 16 To 18
Texte = " très bon"
Case 19 To 20
Texte = " excellent"
EndSelect
MessageRequester("Bilan", "Ta note est de " + Str(Niveau) + "/20" + #LF$ + #LF$ + "Résulat : " + Texte)
EndProcedure
Procedure.s RepeterChaine(Chaine.s, Multiplicateur.i)
; répète une chaîne un nombre donné de fois
Protected Resultat.s
If Multiplicateur > 0
Protected Longueur_chaine.i, Nouvelle_longueur.i, i.i
Protected *Pointeur_resultat
Longueur_chaine = Len(Chaine)
Nouvelle_longueur = Multiplicateur *Longueur_chaine
Resultat = Space(Nouvelle_longueur)
*Pointeur_resultat = @Resultat
For x = 1 To Multiplicateur
PokeS(*Pointeur_resultat, Chaine)
If i < Multiplicateur
CompilerIf #PB_Processor_x64
*Pointeur_resultat + (Longueur_chaine * 2)
CompilerElse
*Pointeur_resultat + Longueur_chaine
CompilerEndIf
EndIf
Next x
Else
Resultat = ""
EndIf
ProcedureReturn Resultat
EndProcedure
Select MessageRequester("Question", "Veux-tu tester tes capacités dans ce questionnaire ?", #PB_MessageRequester_YesNo)
Case #IDYES
Menu()
;-debut du Questionnaire
For Compteur = 1 To Nb_Questions
Tirer_au_sort()
Questionnaire()
Next
Reponses()
Case #IDNO
MessageRequester("A bientôt","Reviens quand même tester tes compétences plus tard!")
End
EndSelect
DataSection
Prefectures:
Data.s "Nord-Pas-de-Calais-Picardie","Lille"
Data.s "Ile de France", "Paris"
Data.s "Champagne-Ardennes-Lorraine-Alsace", "Strasbourg"
Data.s "Bourgogne-Franche-Comté", "Dijon"
Data.s "Centre", "Orléans"
Data.s "Auvergne-Rhône-Alpes", "Lyon"
Data.s "Provence-Alpes-Côtes d'azur", "Marseille"
Data.s "Midi-Pyrénées-Languedoc-Roussillon", "Toulouse"
Data.s "Poitou-Charente-Limousin-Aquitaine", "Bordeaux"
Data.s "Pays de la Loire", "Nantes"
Data.s "Bretagne", "Rennes"
Data.s "Normandie", "Rouen"
Data.s "STOP", "STOP"
Capitales_europeenne:
Data.s "Pays-Bas","Amsterdam"
Data.s "Grece", "Athenes"
Data.s "Allemagne", "Berlin"
Data.s "Slovaquie", "Bratislava"
Data.s "Belgique", "Bruxelles"
Data.s "Roumanie", "Bucarest"
Data.s "Hongrie", "Budapest"
Data.s "Danemark", "Copenhague"
Data.s "Irlande", "Dublin"
Data.s "Finlande", "Helsinki"
Data.s "Malte", "La Valette"
Data.s "Portugal", "Lisbonne"
Data.s "Slovenie", "Ljubljana"
Data.s "Royaume-Uni", "Londres"
Data.s "Luxembourg", "Luxembourg"
Data.s "Espagne", "Madrid"
Data.s "Chypre", "Nicosie"
Data.s "France", "Paris"
Data.s "Republique Tcheque", "Prague"
Data.s "Lettonie", "Riga"
Data.s "Italie", "Rome"
Data.s "Bulgarie", "Sofia"
Data.s "Suede", "Stockholm"
Data.s "Estonie", "Talinn"
Data.s "Pologne", "Varsovie"
Data.s "Autriche", "Vienne"
Data.s "Lituanie", "Vilnius"
Data.s "STOP", "STOP"
regions_allemandes:
Data.s "Bade-Wurtenberg", "Stuttgart"
Data.s "Basse-Saxe", "Hanovre"
Data.s "Bavière", "Munich"
Data.s "Berlin", "Berlin"
Data.s "Brandebourg", "Potsdam"
Data.s "Brême", "Brême"
Data.s "Hambourg", "Hambourg"
Data.s "Hesse", "Wiesbaden"
Data.s "Mecklembourg-Poméranie-Occidentale", "Schwerin"
Data.s "Rhénanie-Palatinat", "Mayence"
Data.s "Sarre", "Sarrebruck"
Data.s "Saxe", "Dresde"
Data.s "Saxe-Anhalt", "Magdebourg"
Data.s "Schleswig-Holstein", "Kiel"
Data.s "Thuringe", "Erfurt"
Data.s "STOP", "STOP"
Royaume_uni:
Data.s "Angleterre", "Londres"
Data.s "Ecosse", "Edimbourg"
Data.s "Pays de galles", "Cardiff"
Data.s "Irlande du Nord", "Belfast"
Data.s "STOP", "STOP"
Belgique:
Data.s "Wallonie Brabant", "Wavre"
Data.s "Wallonie Hainaut", "Mons"
Data.s "Wallonie Liège", "Liège"
Data.s "Wallonie Luxembourg", "Mons"
Data.s "Wallonie Namur", "Namur"
Data.s "Flandre Anvers", "Anvers"
Data.s "Flandre Brabant", "Louvain"
Data.s "Flandre occidentale", "Bruges"
Data.s "Flandre orientale", "Gand"
Data.s "Flandre Limbourg", "Hassell"
Data.s "Belgique", "Bruxelles"
Data.s "STOP", "STOP"
Irlande:
Data.s "Leinster", "Dublin"
Data.s "Munster", "Cork"
Data.s "Connacht", "Galway"
Data.s "Ulster", "Belfast"
Data.s "STOP", "STOP"
Luxembourg:
Data.s "Diekirch", "Diekirch"
Data.s "Grevenmacher", "Grevenmacher"
Data.s "Luxembourg", "Luxembourg"
Data.s "STOP", "STOP"
Danemark:
Data.s "Jutland du nord", "Aalborg"
Data.s "Jutland central", "Viborg"
Data.s "Danemark du sud", "Vejle"
Data.s "Hovedstaden", "Hillerod"
Data.s "Slealland", "Soro"
Data.s "Danemark", "Copenhague"
Data.s "STOP", "STOP"
PaysBas:
Data.s "Brabant du nord", "Bois-le-Duc"
Data.s "Drenthe", "Assen"
Data.s "Flevoland", "Lelystad"
Data.s "Fise", "Leeuwarden"
Data.s "Groningue", "Groningue"
Data.s "Gueldre", "Amhem"
Data.s "Hollande méridionale", "La Haye"
Data.s "Hollande septentrionale", "Haarlem"
Data.s "Limbourg", "Maastricht"
Data.s "Overijssel", "Zwolle"
Data.s "Utrecht", "Utrecht"
Data.s "Zélande", "Middelbourg"
Data.s "STOP", "STOP"
Suede:
Data.s "Bleking", "Karlskrona"
Data.s "Bohuslaen", "Göteborg"
Data.s "Botnie septentrionale", "Lulea"
Data.s "Botnie occidentale", "Umea"
Data.s "Dalécarlie", "Falun"
Data.s "Gothlande", "Visbi"
Data.s "Hallande", "Halmstad"
Data.s "Lempterland", "Östersund"
Data.s "Ostrogothie", "Linköping"
Data.s "Scanie", "Helsingborg"
Data.s "Sudermanie", "Nyköping"
Data.s "Wermelande", "Karlstad"
Data.s "Westmanie", "Västeras"
Data.s "Angermanie", "Hämösand"
Data.s "Dalie", "Amai"
Data.s "Gestriclande", "Gävle"
Data.s "Helsingie", "Söderhamm"
Data.s "Herdalie", ""
Data.s "Laponie", "Kiruna"
Data.s "Madelpadie", "Sundsvall"
Data.s "Néricie", "Örebro"
Data.s "OElande", "Borgholm"
Data.s "Smaulande", "Jönköping"
Data.s "Uplande", "Stockholm"
Data.s "Westrogothie", "Göteborg"
Data.s "STOP", "STOP"
Espagne:
Data.s "Alava", "Vitoria-Gasteiz"
Data.s "Albacete", "Albacete"
Data.s "Alicante", "Alicante"
Data.s "Almeria", "Almeria"
Data.s "Asturies", "Oviedo"
Data.s "Avila", "Avila"
Data.s "Badajoz", "Badajoz"
Data.s "Iles Baléares", "Palma de Majorque"
Data.s "Barcelone", "Barcelone"
Data.s "Biscaye", "Bilbao"
Data.s "Burgos", "Burgos"
Data.s "Caceres", "Caceres"
Data.s "Cadix", "Cadix"
Data.s "Cantabrie", "Santander"
Data.s "Castellon", "Castellon de la Plana"
Data.s "Ciudad Real", "Ciudad Real"
Data.s "Cordoue", "Cordoue"
Data.s "La Corogne", "La Corogne"
Data.s "Cuenca", "Cuenca"
Data.s "Gérone", "Gérone"
Data.s "Grenade", "Grenade"
Data.s "Guadalajara", "Guadalejara"
Data.s "Guipuscoa", "Saint-Sébastien"
Data.s "Huelva", "Huelva"
Data.s "Huesca", "Huesca"
Data.s "Jaen", "Jaen"
Data.s "Leon", "Leon"
Data.s "Lérida", "Lleida"
Data.s "Madrid", "Madrid"
Data.s "Malaga", "Malaga"
Data.s "Murcie", "Murcie"
Data.s "Navarre", "Pampelune"
Data.s "Ourense", "Ourense"
Data.s "Palencia", "Palencia"
Data.s "Las Palmas", "Las Palmas de Gran Canaria"
Data.s "Pontevedra", "Pontevedra"
Data.s "La rioja", "Logroño"
Data.s "Salamanque", "Salamanque"
Data.s "Santa Cruz de ténérife", "Santa Cruz de Ténérife"
Data.s "Saragosse", "Saragosse"
Data.s "Ségovie", "Ségovie"
Data.s "Séville", "Séville"
Data.s "Soria", "Soria"
Data.s "Tarragone", "Tarragone"
Data.s "Teruel", "Teruel"
Data.s "Tolède", "Tolède"
Data.s "Valence", "Valence"
Data.s "Valladolid", "Valladolid"
Data.s "Zamora", "Zamora"
Data.s "STOP", "STOP"
Portugal:
Data.s "Nord", "Porto"
Data.s "Centre", "Coimbra"
Data.s "Lisbonne", "Lisbonne"
Data.s "Alentejo", "Evora"
Data.s "Algarve", "Fara"
Data.s "STOP", "STOP"
EndDataSection