papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Enigme : Un trio de touristes Jeu 13 Juil 2017 - 3:45 | |
| - Code:
-
rem ============================================================================ rem Enigme rem TRIO DE TOURISTES rem ============================================================================
Le_trio_De_Touriste()
end rem ============================================================================ SUB Le_trio_De_Touriste() label Valider, Solution, Quitter dim i,t$ application_title "TRIO DE TOURISTES" width 0,800 : height 0,650 : color 0,150,100,50 left 0,(screen_x - width(0))/2 : top 0,(screen_y - height(0))/2 alpha 10 : top 10,50 : left 10,100 : font_bold 10 : font_size 10,12 font_color 10,255,255,255 : font_name 10,"arial" panel 15 : top 15, 300 : left 15,50 : width 15, 700 : height 15,200 for i = 20 to 40 step 10 alpha i : top i,25+(i-18)*5 : left i,10 : font_bold i : font_size i,20 font_name i,"Arial" : parent i,15 next i caption 20,"Clientes" : caption 30,"Hôtels" : caption 40,"Chambres" for i = 21 to 23 edit i : parent i,15 : top i,30 : left i,(i-20)*160 : width i,150 font_bold i : font_size i,16 : font_name i,"arial" next i for i = 31 to 33 edit i : parent i,15 : top i,80 : left i,(i-30)*160 : width i,150 font_bold i : font_size i,16 : font_name i,"arial" next i for i = 41 to 43 edit i : parent i,15 : top i,130 : left i,(i-40)*160 : width i,150 font_bold i : font_size i,16 : font_name i,"arial" next i button 50 : top 50,550 : left 50,50 : font_bold 50 : width 50,100 font_size 50,16 : caption 50,"Valider" : on_click 50,valider button 60 : top 60,550 : left 60,250 : font_bold 60 : width 60,300 font_size 60,16 : caption 60,"Je donne ma langue au chat" : on_click 60,Solution button 70 : top 70,550 : left 70,650 : font_bold 70 : width 70,100 font_size 70,16 : caption 70,"Quitter" : on_click 70,Quitter Enonces() end_sub rem ============================================================================ SUB Enonces() t$ = t$ + "Jocelyne, Lucie et Paule ont visité des hôtels différents."+chr$(13) t$ = t$ + "Les numéros de chambres sont aussi différents." + chr$(13) +chr$(13) t$ = t$ + "Hôtels : Cabotin, Logis, Noctambule" + chr$(13) t$ = t$ + "Numéros des chambres : 305, 419, 538" +chr$(13) + chr$(13) t$ = t$ + "1. La cliente du Noctambule quitte sa chambre, la 419, pour aller faire des emplettes." +chr$(13) t$ = t$ + "2. Une heure plus tard, elle va rencontrer Lucie qui loge au Cabotin." + chr$(13) t$ = t$ + "3. Pendant ce temps, Paule écoute la télévision dans sa chambre, la 538." + chr$(13) + chr$(13) t$ = t$ + "Déterminez le nom de l’hôtel et le numéro de chambre de chaque cliente." caption 10,t$ END_SUB rem ============================================================================ Valider: if text$(21) = "" or text$(22) = "" or text$(23) = "" message "Veuillez compléter le tableau, SVP !" : return end_if if text$(31) = "" or text$(32) = "" or text$(33) = "" message "Veuillez compléter le tableau, SVP !" : return end_if if text$(41) = "" or text$(42) = "" or text$(43) = "" message "Veuillez compléter le tableau, SVP !" end_if Verifier_Solution() return rem ============================================================================ Solution: if message_confirmation_yes_no("Tu es sûr que tu ne veux plus réfléchir un instant de plus ?") = 1 inactive 50 text 21,"Jocelyne" : text 22,"Lucie" : text 23,"Paule" text 31,"Noctambule" : text 32,"Cabotin" : text 33,"Logis" text 41,"419" : text 42,"305" : text 43,"538" t$ = "" t$ = t$ + "Lucie loge au Cabotin (indice 2). Comme elle n’est pas la cliente du Noctambule," + chr$(13) t$ = t$ + "elle ne loge pas à la chambre 419 (indice 1). Aussi, elle n’habite pas la chambre 538"+chr$(13) t$ = t$ + "car c’est Paule qui est là (indice 3). D’où, Lucie habite la chambre 305." + chr$(13) t$ = t$ + "Jocelyne loge au Noctambule (indice 3). Sa chambre est la 419 (indice 1)."+chr$(13) t$ = t$ + "D’où, Paule est cliente du Logis et habite la chambre 538." message t$ inactive 60 end_if return rem ============================================================================ SUB Verifier_Solution() dim_local t1$,t2$,t3$,t4$,t5$,t6$,t7$,t8$,t9$ t1$ = upper$(text$(21)) : t2$ = upper$(text$(22)) : t3$ = upper$(text$(23)) t4$ = upper$(text$(31)) : t5$ = upper$(text$(32)) : t6$ = upper$(text$(33)) t7$ = upper$(text$(41)) : t8$ = upper$(text$(42)) : t9$ = upper$(text$(43)) if (t1$ <> reverse$("ENYLECOJ")) or (t2$ <> reverse$("EICUL")) or (t3$ <> reverse$("ELUAP")) message "Désolé ! Ce n'est pas la bonne réponse !" : exit_sub end_if if (t4$ <> reverse$("ELUBMATCON")) or (t5$ <> reverse$("NITOBAC")) or (t6$ <> reverse$("SIGOL")) message "Désolé ! Ce n'est pas la bonne réponse !" : exit_sub end_if if (t7$ <> reverse$("914")) or (t8$ <> reverse$("503")) or (t9$ <> reverse$("835")) message "Désolé ! Ce n'est pas la bonne réponse !" : exit_sub end_if message "BRAVO !!! Tu es un champion !!!" END_SUB rem ============================================================================ Quitter: terminate rem ============================================================================
| |
|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Enigme : Un trio de touristes Jeu 13 Juil 2017 - 7:58 | |
| Bonjour, C'est assez facile, j'ai trouvé du premier coup. Voilà une belle démonstration pour apprendre, à un élève, à résoudre le problème en utilisant un tableau. A+ PS: - Code:
-
if (t1$ <> reverse$("ENYLECOJ")) ....
Pourquoi cette méthode ? Y a t'il une raison ? Moi j'aurais écrit: if t1$ <> "JOCELYNE". | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Enigme : Un trio de touristes Jeu 13 Juil 2017 - 17:22 | |
| Salut Jean Claude - JC a écrit:
- C'est assez facile, j'ai trouvé du premier coup.
On n’est pas tous aussi doué que toi ! - JC a écrit:
- … pour apprendre, à un élève, …
Et même pour un maître aussi ! - JC a écrit:
- Pourquoi cette méthode ? Y a t'il une raison ?
J’ai voulu faire le malin, pour qu’un petit malin ne voie pas du premier coup la solution dans le code, mais c’est raté ! On peut crypter la solution, mais ce n’était pas mon but. Le jeu en lui-même n’a que peu d’intérêt, c’est pourquoi il est dans les inutilitaires. Le code pourrait servir pour ceux qui viennent d’un autre Basic pour se familiariser avec les ALPHA, les EDIT, les BUTTON et autre PANEL. Si je retourne dans les années 80 du siècle précédent, je coderais ce programme à coup de PRINT, de INPUT et d’une série infinie de IF … THEN … GOTO … Bref, je m’ennuyais, alors j’ai fait le code et je l’ai partagé. | |
|
Contenu sponsorisé
| Sujet: Re: Enigme : Un trio de touristes | |
| |
|