Mots Croisés, Sudoku, Mots fléchés,Scrabble.
Transcription
Mots Croisés, Sudoku, Mots fléchés,Scrabble.
MOTS CROISES, SUDOKU, MOTS FLECHES, SCRABBLE. Objectif: Tout éditer depuis son éditeur de programmes préféré!.. Mots croisés: La dernière version consistait à considérer la grille comme un tableau (n,p) de type string[][] Il suffisait de colorer en noir certaines cases et de remplir (ou pas!)les autres avec des lettres. Dans cette version où la saisie des données est simplifiée, chaque case est une frame et la grille un tableau de frames de type: frame[]. Aussi simplement que pour un tableau on peut colorer et écrire dans les frames. L’édition de ce tableau s’effectue à l’aide de la fonction: edittabfr(...) Pour plus de renseignements sur la création et l’utilisation des frames: Galerie G. Marris (Frames et pictures) La documentation officielle. page46.. pour tester les fonctions associées. Sudoku: Tableau dans une frame. Mots fléchés: Tableau de frames. Scrabble: Tableau de frames. Concernant les programmes: Le listing produisant le .PDF contient du code pour saisir les données, tracer les grilles.. et du code pour éditer en détail les résultats. Pour s’y retrouver plus facilement si vous débutez en programmation Asymptote.. ci-joint des listings simplifiés. Le chargement du module est alors inutile et les lignes concernant les éditions détaillées sont supprimées. Pour tester il suffira de charger les listings, de rentrer vos données aux lignes indiquées et de compiler.. Version simplifiée (en .pdf): MOTS CROISES. Version simplifiée (en .asy) de Mots Croises à tester.. Version simplifiée (en .pdf) du SUDOKU Version simplifiée (en .asy) du Sudoku à tester.. Version simplifiée (en .pdf) de MOTS FLECHES. Version simplifiée (en .asy) de Mots Fléchés à tester.. SCRABBLE en .pdf SCRABBLE en .asy Les frames permettent d’éditer rapidement textes, tableaux, graphiques.. depuis son éditeur de programmes. Ci-joint quelques rappels si intéressé.. .PDF Un complément sur les frames.(Une version sans module à charger.) Version .asy: frametableauframe.asy MOTS CROISES. Extrait de Marianne (7-13 Septembre 2013) Auteur: B. Hannuna. (Définitions et grille.) HORIZONTALEMENT 1) Comme quoi 312 plus 320 peuvent faire 41 2) Ne semble pas devoir perturber l’écervelé 3) Demande une identité • Ne fit aucun bruit si ce n’est un bruit de klaxon • Matières appliquées 4) Son château se mire dans l’Indre • Circule au Nigéria 5) Aimer le piano 6) Graces à Dieu • Terme de propriétaire 7) Mal logé 8) Haut de l’Angleterre • Doublé au cinéma dans un film réaliste • Introduit une certaine discipline 9) Qui a l’air particulièrement grave 10) Peut-on y vivre sans y être? Voilà la question. VERTICALEMENT I) Fait vraiment mauvais effet II) Provisions de bouche • C’est parfois la foire III) Femme protectrice • Element de portée • Bande qui se taille IV) En mer ou en l’air • Sans queue ni tête V) A la même origine que certains fûts • Verts pour le poireau VI) Balayeur asiatique • Mis au pas VII) Montrai en exemple • Terme de propriétaire VIII) Transpire à l’oreille • Est dans la nature • Article courant IX) Il n’y a pas de quoi en faire tout un plat • Bénéficiaire d’un certain crédit X) On peut se le voir reprocher alors qu’on ne fait rien. I 1 2 3 4 5 6 7 8 9 10 II III IV V VI VII VIII IX X La Dépêche du Midi.(21/08/13) Saisie pour l’édition des grilles et grille des solutions. Colonne des saisies: s=Saisie des données: string nomMC=""; int nbligne=12, nbcolonne=12; string grilleMC= "1,3,5,7,9,11 0 1,10 6 1,4,9 6,8,12 1,4 5,11 1,3,7 10 1,5 5,10"; I II III IV V VI VII VIII IX X XI XII I II III IV V VI VII VIII IX X XI XII 1 2 3 4 5 6 7 8 9 10 11 12 string numcolonne="I,II,III,IV,V,VI,VII,VIII,IX,X,XI,XII"; string numligne="1,2,3,4,5,6,7,8,9,10,11,12"; Saisie des solutions: string solutionMC= "CDVSGO VATICINATION TROUPEAUBD MAIRECLASSE SPSITECES STOUTALAD RUAGRAIRES BOXEUSITEE PCLEDESIR CHALUTIERRI EGOTONIFIE ISISESTESS"; 1 2 V 3 4 M 5 6 S 7 8 B 9 10 Rq. les éditions des grilles et grilles des solutions ne sont que des successions de "copier/coller".. Cf. listing. C C I V S G A T I C I N A T T R O U P E A U A I R E C L A S P T E T O R U O X P 11 12 D S U I T A E A I O N B D S S E C E S L A D E G R A I R U S I T E D E S C L E U T I E R H A L E G O T O N I S I S E S T E Codes d’édition (La fonction d’édition est la même pour les deux grilles. Cf. listing.) Grille: fr=grillesolutionMC(12,12,grilleMC,"",numligne,numcolonne);fr=scale(0.8)*fr; Solution: fr=grillesolutionMC(12,12,grilleMC,solutionMC,numligne,numcolonne); O F S E I R R I I E S S AGRANDISSEMENT. Rq.: En cas de problèmes visuels. Les tableaux sortant dans des frames il devient facile de les agrandir en utilisant les transformations. La grille. I 1 2 3 4 5 6 7 8 9 10 11 12 II III IV V VI VII VIII IX X XI XII La grille des solutions. I 1 2 V M 5 6 S 7 8 B 9 10 C I IV V D VI VII V VIII IX S T I C I N A T T R O U P E A U A I R E C L A S P T E T O R U O X S U I T A E A X XI G A P 11 12 III C 3 4 II I XII O O N B D S S E C E S L A D E G R A I R U S I T E D E S C L E U T I E R H A L E G O T O N I S I S E S T E F S E I R R I I E S S La grille des solutions des Mots Fléchés (Le Populaire du centre. Sept.2012) se programme comme une grille solution de Mots Croisés. Saisie des solutions: string solutionMF= "IUVTAA OMOISSIONREPOS PLAISIRENTES TAINENIGMETA TETARDOPERA MINETROUEIS ESTRESSPARI TNTEHASIEAH TERNESERRES RESIDAITASTER TORLAPSITE ARENICOLEPOTE HESSEORGANE FESSPENCERSC TCAENENAPO RENANCARESSE UNITANARTUE PRENEUSEADORE"; La saisie clavier des numéros des cases de définition et la saisie des solutions permettent d’éditer facilement cette grille. (cf. listing.) 1 1. 2. O T 5. 6. M 7. 8. T R A 13. 14. F 15. 16. 17. 18. P 6 7 V 8 9 10 I T 11 12 13 A 14 A I S S I O N R E P O S P L A I S I R E N T E S A I N E N I G M E T A T E T A R D O P E A S I N E T E S T R E H R R O U E S S A S I E E R R E S A S T E R I T E P O T E E I P A N T T E R N E S E S I D A I T T O R L A P R E N I C O L E H E S S E O R G A N E S S P E N C E R S C A E N E N A S T R 5 M 11. 12. 4 U E 9. 10. 3 I 3. 4. 2 S E N A N C A R E U N I T A N A R R E N E S E U A D S R I A H C P O S E R T U E O R E nbligne=18;nbcolonne=14; string numligne="1.,2.,3.,4.,5.,6.,7.,8.,9.,10.,11.,12.,13.,14.,15.,16.,17.,18."; string numcolonne="1,2,3,4,5,6,7,8,9,10,11,12,13,14"; Codes d’édition fr=scale(0.8)*fr; Solution: fr=grillesolutionMC(nbligne,nbcolonne,grilleMC,solutionMF,numligne,numcolonne); SUDOKU. Saisie des données. string snumcase="2-4,6-6,8-8 2-3,4-7,8-9 3-5,4-1,9-2 7-3 4-6,6-9 2-6,6-2 1-3,7-4 1-1,4-5,7-7 2-2,6-8,9-6"; Code d’édition: frame fr0=sudoku0(snumcase);add(fr0,position); Grille de SUDOKU. 6 4 3 8 7 9 5 1 2 3 6 6 9 2 3 4 1 5 2 7 8 6 AGRANDISSEMENT. Grille de SUDOKU. 6 4 3 8 7 9 5 1 2 3 6 6 9 2 3 4 5 1 2 7 8 6 MOTS FLECHES. Saisie des données. string sdonnees="1, Voyait*En ville,flbfld;3,Allai à l’Eau*Gardas,fldptb; 5,Attachai*Mark en Sigle,fldptb;7,Tourne Mal,fld 0 1, Grec*Tête, flbptd ; 7, Dépense,ptb 5, Poisson*Enchanté,ptbptd 1, Chef russe*Ici,flbfld ; 6,Dans*Ile en GB, ptbptd 3, Pied*En pente,ptbptd 1,Dans*Rejointe,flbptd ; 4,Pour une/pantoufle,ptd 0"; Codage: Huit lignes et sur chaque ligne les définitions des colonnes: séparateur de colonne : ";" (on peut modifier: cf.listing.) numéro de colonne , définition(s), type de case Séparateur des valeurs dans une colonne: "," (modifiable.) Si ligne vide, numéro de colonne : 0 Code d’édition du tableau: frame fr=editionmotfleche(sdonnees,penfondcase=rgb(1,0.84,0)); fr=scale(0.7)*fr; add(fr,position); //Si on veut en palegrey:frame fr=editionmotfleche(sdonnees); Mots Fléchés. 96/Marianne/7-13 sept. 2013 Voyait Allai à l’Eau En ville Gardas Attachai Mark en Sigle Tourne Mal Grec Dépense Tête Poisson Enchanté Chef russe Dans Ici Ile en GB Pied En pente Dans Rejointe Pour une pantoufle AGRANDISSEMENT. Voyait Allai à l’Eau En ville Gardas Attachai Mark en Sigle Tourne Mal Grec Dépense Tête Poisson Enchanté Chef russe Dans Ici Ile en GB Pied En pente Dans Rejointe Pour une pantoufle CREATION d’une Gille Colorée. (Sans quitter son éditeur de programmes..) Ajout d’une fonction de création de grille. Utilisation de la même fonction pour les grilles colorées et Mots Croisés. B C D I C U L E R I O M B I L E R A L C I E E L S E V E N T R O P E R A L U Z E R N E C I P E U P A S T I R E N E R E I S A D R E I string sgrillevide= "————–5———-5– –5———-5—-5 ——5— -5—–5– —5-5———–5—–5—-"; A S P I E M A R I N E T E T E A T A N G E E T string sgrille= "VENTRICULE OPERA5RIOM LUZERNE5BI CI5PEUPLER ASTI5REAL5 NEREIS5CIE I5ADRET5EL SPI5E5ANSE MARINAGE5I ETETE5ETES"; I E S Grille colorée avec quelques lettres.. A B C D E F G H I J K X Y Z T Il resterait entre autre... L’amélioration du graphisme et des couleurs...L’ajout des textes dans les cases colorées.. Mais là, il vaut mieux utiliser les classiques! PS,Gimp..avec les calques à la place des frames!) Tout cela est sans grand intérêt sauf à montrer si vous débutez en programmation Asymptote: L’utilité de la fonction textefr(..) pour éditer rapidement un texte de plusieurs nlignes... l’utilité de la fonctions split(..) pour saisir les données.. L’utilité de la fonction edittabfr(..) pour "rentrer" un tableau de frames dans une frame. L’utilité de la fonction editVtfr(..) pour gérer les éditions des frames et les newpage().. Et finalement!.. qu’il n’est pas trop compliqué de créer et d’éditer des frames qui peuvent contenir (comme déjà signalé)des textes, des tableaux, des graphiques, des figures.. et même les 4 à la fois!.. Si intéressé... quelques rappels. .PDF Un complément sur les frames.(Une version sans module à charger.) Version .asy frametableauframe.asy