Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| CARRÉ SUPER-HYPER-EXTRA MAGIQUE | |
| | Auteur | Message |
---|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: CARRÉ SUPER-HYPER-EXTRA MAGIQUE Dim 8 Mai 2022 - 4:12 | |
| - Code:
-
rem ============================================================================ rem CARRÉ SUPER-HYPER-EXTRA MAGIQUE rem Papydall le 08 / 05 / 2022 rem ============================================================================
Init() Grille()
end rem ============================================================================ SUB Init() dim somme, t$ ,w label choix , change color 0,200,100,20 w = 80 t$ = "CARRÉ SUPER-HYPER-EXTRA MAGIQUE" application_title t$ caption 0,t$ button 20 : top 20,50 : left 20,500 : caption 20,"Info" : on_click 20,choix alpha 25 : top 25,350 : left 25,480 : caption 25,"Somme :" spin 30 : top 30,350 : left 30,530 : width 30,50 : min 30,22 : max 30,99 position 30,50 : on_change 30,change hint 30,"Somme magique entre [22 ... 99]" somme = val(text$(30)) button 40 : top 40,380 : left 40,500 caption 40,"Générer" : on_click 40,choix button 50 : top 50,100 : left 50,500 : caption 50,"Quitter" : on_click 50,choix alpha 60 : top 60,380 : left 60, 50 : font_bold 60 : font_size 60,12 font_color 60,255,255,255 END_SUB rem ============================================================================ Change: somme = val(text$(30)) return rem ============================================================================ Choix: select number_click case 20 : info() case 40 : Generer_Carre(somme) case 50 : Quitter() end_select return rem ============================================================================ SUB Grille() dim_local ligne, colonne, objet for ligne = 1 to 4 for colonne = 1 to 4 objet = (ligne-1)*4 + colonne memo objet : width objet,w : height objet,w top objet,20+(ligne-1)*w : left objet,20+(colonne-1)*w color objet,100,250,200 : font_color objet, 255,0, 0 font_size objet,40 next colonne next ligne END_SUB rem ============================================================================ SUB Generer_Carre(somme) dim_local x,col,lig,obj,p,i,t inactive 40 : inactive 30 x = somme - 20 : p = 5 text 1,"8" : text 2,"11" : text 3,str$(x) : text 4,"1" text 5,str$(x-1) : text 6,"2" : text 7,"7" : text 8,"12" text 9,"3" : text 10,str$(x+2) : text 11,"9" : text 12,"6" text 13,"10" : text 14,"5" : text 15,"4" : text 16,str$(x+1) for lig = 1 to 4 for col = 1 to 4 : obj = (lig-1)*4 + col : next col next lig caption 60,"Somme magique = " + str$(somme) Animer(1,2,3,4) : Animer(5,6,7,8) Animer(9,10,11,12) : Animer(13,14,15,16) Animer(1,5,9,13) : Animer(2,6,10,14) Animer(3,7,11,15) : Animer(4,8,12,16) Animer(1,6,11,16) : Animer(4,7,10,13) Animer(1,4,13,16) : Animer(2,3,14,15) : Animer(5,9,8,12) Animer(1,2,5,6) : Animer(2,3,6,7) : Animer(3,4,7,8) Animer(6,7,10,11) : Animer(9,10,13,14) : Animer(11,12,15,16) active 40 : active 30 END_SUB rem ============================================================================ SUB Animer(c1,c2,c3,c4) dim_local i,p p = 200 for i = 1 to 10 color c1,200,250,100 : color c2,200,250,100 color c3,200,250,100 : color c4,200,250,100 pause p color c1,100,250,200 : color c2,100,250,200 color c3,100,250,200 : color c4,100,250,200 pause p next i pause 2*p END_SUB rem ============================================================================ SUB Quitter() if message_information_yes_no("Vous voulez vraiment quitter ?") = 1 message "!!! Au revoir !!!" terminate end_if END_SUB rem ============================================================================ SUB Info() dim_local t$ t$ = "Le carré super-hyper-extra magique est un carré de 4 x 4 cases dont la somme" + chr$(13) t$ = t$ + "de chaque ligne, de chaque colonne, de chaque diagonale est égale à un nombre"+chr$(13) t$ = t$ + "choisi par l'utilisateur entre 22 et 99 (bornes incluses)."+chr$(13) t$ = t$ + "En plus, la somme des quatre coins du carré, ainsi que la somme de toute"+chr$(13) t$ = t$ + "combinaison de quatre cases formant un carré est toujours la même."+chr$(13) t$ = t$ + "Il faut imaginer que la grille est dessinée sur un tore. Autrement dit"+chr$(13) t$ = t$ + "les deux cases centrales de la première ligne et les deux cases centrales"+chr$(13) t$ = t$ + "de la quatrième ligne forment aussi un carré dont la somme est toujours la même."+chr$(13) t$ = t$ + "Aussi les deux cases centrales de la première colonne et les deux cases centrales"+chr$(13) t$ = t$ + "de la quatrième colonne forment aussi un carré ayant la même somme."+chr$(13)+chr$(13) t$ = t$ + "Les deux exceptions, ce sont le carré formé par les 4 cases (7,8,11,12)" + chr$(13) t$ = t$ + "qui ont pour valeurs respectives 7, 12, 9 et 6 et dont la somme est toujours égale à 34" + chr$(13) t$ = t$ + "et le carré formé par les 4 cases (5,6,9,10)" + chr$(13) t$ = t$ + "C'est bien l'exception qui confirme la règle, non ?" + chr$(13) + chr$(13) t$ = t$ + "C'est SUPER-HYPER-EXTRA MAGIQUE, n'est-ce pas ?!" message t$
END_SUB rem ============================================================================
| |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: CARRÉ SUPER-HYPER-EXTRA MAGIQUE Dim 8 Mai 2022 - 8:21 | |
| Merci Papydall pour ce Carré Super-Hyper-Extra magique ! Ligne 50 : Je propose de remplacer les MEMOs par des PANELs. Puis de remplacer toutes les instructions TEXT da la SUB Generer_Carre(somme) par CAPTION. Cela permettra d'obtenir un centrage automatique des nombres dans chaque case du carré magique. - Code:
-
rem ============================================================================ rem CARRÉ SUPER-HYPER-EXTRA MAGIQUE rem Papydall le 08 / 05 / 2022 rem ============================================================================
Init() Grille()
end rem ============================================================================ SUB Init() dim somme, t$ ,w label choix , change color 0,200,100,20 w = 80 t$ = "CARRÉ SUPER-HYPER-EXTRA MAGIQUE" application_title t$ caption 0,t$ button 20 : top 20,50 : left 20,500 : caption 20,"Info" : on_click 20,choix alpha 25 : top 25,350 : left 25,480 : caption 25,"Somme :" spin 30 : top 30,350 : left 30,530 : width 30,50 : min 30,22 : max 30,99 position 30,50 : on_change 30,change hint 30,"Somme magique entre [22 ... 99]" somme = val(text$(30)) button 40 : top 40,380 : left 40,500 caption 40,"Générer" : on_click 40,choix button 50 : top 50,100 : left 50,500 : caption 50,"Quitter" : on_click 50,choix alpha 60 : top 60,380 : left 60, 50 : font_bold 60 : font_size 60,12 font_color 60,255,255,255 END_SUB rem ============================================================================ Change: somme = val(text$(30)) return rem ============================================================================ Choix: select number_click case 20 : info() case 40 : Generer_Carre(somme) case 50 : Quitter() end_select return rem ============================================================================ SUB Grille() dim_local ligne, colonne, objet for ligne = 1 to 4 for colonne = 1 to 4 objet = (ligne-1)*4 + colonne panel objet : width objet,w : height objet,w top objet,20+(ligne-1)*w : left objet,20+(colonne-1)*w color objet,100,250,200 : font_color objet, 255,0, 0 font_size objet,40 next colonne next ligne END_SUB rem ============================================================================ SUB Generer_Carre(somme) dim_local x,col,lig,obj,p,i,t inactive 40 : inactive 30 x = somme - 20 : p = 5 caption 1,"8" : caption 2,"11" : caption 3,str$(x) : caption 4,"1" caption 5,str$(x-1) : caption 6,"2" : caption 7,"7" : caption 8,"12" caption 9,"3" : caption 10,str$(x+2) : caption 11,"9" : caption 12,"6" caption 13,"10" : caption 14,"5" : caption 15,"4" : caption 16,str$(x+1) for lig = 1 to 4 for col = 1 to 4 : obj = (lig-1)*4 + col : next col next lig caption 60,"Somme magique = " + str$(somme) Animer(1,2,3,4) : Animer(5,6,7,8) Animer(9,10,11,12) : Animer(13,14,15,16) Animer(1,5,9,13) : Animer(2,6,10,14) Animer(3,7,11,15) : Animer(4,8,12,16) Animer(1,6,11,16) : Animer(4,7,10,13) Animer(1,4,13,16) : Animer(2,3,14,15) : Animer(5,9,8,12) Animer(1,2,5,6) : Animer(2,3,6,7) : Animer(3,4,7,8) Animer(6,7,10,11) : Animer(9,10,13,14) : Animer(11,12,15,16) active 40 : active 30 END_SUB rem ============================================================================ SUB Animer(c1,c2,c3,c4) dim_local i,p p = 200 for i = 1 to 10 color c1,200,250,100 : color c2,200,250,100 color c3,200,250,100 : color c4,200,250,100 pause p color c1,100,250,200 : color c2,100,250,200 color c3,100,250,200 : color c4,100,250,200 pause p next i pause 2*p END_SUB rem ============================================================================ SUB Quitter() if message_information_yes_no("Vous voulez vraiment quitter ?") = 1 message "!!! Au revoir !!!" terminate end_if END_SUB rem ============================================================================ SUB Info() dim_local t$ t$ = "Le carré super-hyper-extra magique est un carré de 4 x 4 cases dont la somme" + chr$(13) t$ = t$ + "de chaque ligne, de chaque colonne, de chaque diagonale est égale à un nombre"+chr$(13) t$ = t$ + "choisi par l'utilisateur entre 22 et 99 (bornes incluses)."+chr$(13) t$ = t$ + "En plus, la somme des quatre coins du carré, ainsi que la somme de toute"+chr$(13) t$ = t$ + "combinaison de quatre cases formant un carré est toujours la même."+chr$(13) t$ = t$ + "Il faut imaginer que la grille est dessinée sur un tore. Autrement dit"+chr$(13) t$ = t$ + "les deux cases centrales de la première ligne et les deux cases centrales"+chr$(13) t$ = t$ + "de la quatrième ligne forment aussi un carré dont la somme est toujours la même."+chr$(13) t$ = t$ + "Aussi les deux cases centrales de la première colonne et les deux cases centrales"+chr$(13) t$ = t$ + "de la quatrième colonne forment aussi un carré ayant la même somme."+chr$(13)+chr$(13) t$ = t$ + "Les deux exceptions, ce sont le carré formé par les 4 cases (7,8,11,12)" + chr$(13) t$ = t$ + "qui ont pour valeurs respectives 7, 12, 9 et 6 et dont la somme est toujours égale à 34" + chr$(13) t$ = t$ + "et le carré formé par les 4 cases (5,6,9,10)" + chr$(13) t$ = t$ + "C'est bien l'exception qui confirme la règle, non ?" + chr$(13) + chr$(13) t$ = t$ + "C'est SUPER-HYPER-EXTRA MAGIQUE, n'est-ce pas ?!" message t$
END_SUB rem ============================================================================ Bonne journée ensoleillée ! | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: CARRÉ SUPER-HYPER-EXTRA MAGIQUE Dim 8 Mai 2022 - 10:25 | |
|
Dernière édition par Minibug le Dim 8 Mai 2022 - 11:30, édité 3 fois | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: CARRÉ SUPER-HYPER-EXTRA MAGIQUE Dim 8 Mai 2022 - 10:26 | |
| | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: CARRÉ SUPER-HYPER-EXTRA MAGIQUE Dim 8 Mai 2022 - 10:58 | |
| Merci Marc pour ton idée des PANEL. J'adopte avec plaisir.
Merci Minibug pour ton intervention. | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Re: CARRÉ SUPER-HYPER-EXTRA MAGIQUE Lun 9 Mai 2022 - 12:09 | |
| Eh, c'est + que magique ! C'est mathémagique ! Bravo ! | |
| | | Contenu sponsorisé
| Sujet: Re: CARRÉ SUPER-HYPER-EXTRA MAGIQUE | |
| |
| | | | CARRÉ SUPER-HYPER-EXTRA MAGIQUE | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |