« Utilisateur:Adrien » : différence entre les versions
Aller à la navigation
Aller à la recherche
(→Code) |
|||
Ligne 165 : | Ligne 165 : | ||
} | } | ||
</pre> | </pre> | ||
===Exemples=== | ===Exemples=== | ||
=====Ruban===== | =====Ruban===== | ||
====Grille==== | ====Grille==== | ||
<pre> | <pre> | ||
</pre> | </pre> | ||
====Comparaison lexicale==== | ====Comparaison lexicale==== |
Version du 18 novembre 2010 à 22:12
Le projet au --Adrien 13 novembre 2010 à 12:53 (UTC)
Projet Lausanne 2011
But du jeu
Algorithme
Pseudo-code
Grille
- initialiser la grille (11x5x5 objets-cellules)
- charger un mot, le décomposer en caractères
- pour chaque caractère, sélectionner le motif correspondant (un motif est un tableau bi-dimensionnel 5x5 comportant les coordonnées (ensemble de paires ordonnées) de chaque cellule à illuminer)
- copier le motif dans chaque sous-grille
- parcourir chaque sous grille: pour chaque cellule reconnue, attribuer une valeur (i.e. 'true') et incrémenter indice d'usure
- parcourir la grille: pour chaque cellule 'true' ayant un indice d'usure inférieur à 11, afficher cette cellule en blanc; sinon, l'afficher en gris (rvb=211,211,211)
Ruban
- charger un texte depuis un fichier externe
- afficher, faire défiler
- biffer (comment?)
- pour tout mot biffé: lorsque ce mot est sorti du champ, le comparer au lexique
- afficher le mot le plus similaire dans la grille
Code
Embryon de code pour la grille entière. Reste à rendre autonome chaque sous-grille.
String ruban ="La ville est un palimpseste."; String[] ruban_array={ruban}; PFont f; float x; int i=0; int corps=72; char c='*'; // Cell[][][] grille; //tableau d'objets-cellules int nb=11; int cols=5; int rows=5; int larg=854; int haut=480; boolean[] motif={true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true}; boolean[] motifA={false,false,true,false,false,false,false,true,false,false,false,true,false,true,false,true,true,true,true,true,true,false,false,false,true}; boolean[] motifB={true,true,true,true,true,true,false,false,false,true,true,true,true,true,true,true,false,false,false,true,true,true,true,true,true}; boolean[] motifC={true,true,true,true,true,true,false,false,false,false,true,false,false,false,false,true,false,false,false,false,true,true,true,true,true}; boolean[] motifE={true,true,true,true,true,true,false,false,false,false,true,true,true,true,true,true,false,false,false,false,true,true,true,true,true}; boolean[] motifF={true,true,true,true,true,true,false,false,false,false,true,true,true,true,true,true,false,false,false,false,true,false,false,false,false}; boolean[] motifI={false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,true,false,false}; boolean[] motifL={true,false,false,false,false,true,false,false,false,false,true,false,false,false,false,true,false,false,false,false,true,true,true,true,true}; boolean[] motifM={true,false,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,false,true,}; boolean[] motifN={true,false,false,false,true,true,true,false,false,true,true,false,true,false,true,true,false,false,true,true,true,false,false,false,true}; boolean[] motifP={true,true,true,true,true,true,false,false,false,true,true,true,true,true,true,true,false,false,false,false,true,false,false,false,false}; boolean[] motifS={true,true,true,true,true,true,false,false,false,false,true,true,true,true,true,false,false,false,false,true,true,true,true,true,true}; boolean[] motifT={true,true,true,true,true,false,false,true,false,false,false,false,true,false,false,false,false,true,false,false,false,false,true,false,false}; boolean[] motifU={true,false,false,false,true,true,false,false,false,true,true,false,false,false,true,true,false,false,false,true,false,true,true,true,false}; boolean[] motifV={true,false,false,false,true,true,false,false,false,true,true,false,false,false,true,false,true,false,true,false,false,false,true,false,false}; boolean[] motifX={true,false,false,false,true,false,true,false,true,false,false,false,true,false,false,false,true,false,true,false,true,false,false,false,true}; //int bloc=0; //SETUP boolean[][] ordre ={motifB,motifO}; void setup() { f = createFont("Tw Cen MT Condensed Extra Bold",corps); x = larg; size(larg,haut); grille = new Cell[nb][cols][rows]; for (int h=0; h < nb; h++) { for (int i = 0; i < cols; i++) { for (int j = 0; j < rows; j++) { grille[h][i][j] = new Cell(i*10+25+h*75,j*10,10,10); } } } } //DRAW void draw() { background(0); //fond noir fill(255); textFont(f,16); textAlign(LEFT); text(ruban_array[i],x,400); x = x - 3; float w = textWidth(ruban_array[i]); if (x < -w) { x = larg; i = (i + 1) % ruban_array.length; } // boolean []motifcourant; for (int h=0; h < nb; h++) { int n=0; motifcourant = ordre[h]; for (int i = 0; i < cols; i++) { for (int j = 0; j < rows; j++) { //if (bloc<=nb) { h=bloc; } else { bloc=0; } if (motif[n]) { grille[h][j][i].allumer(); } else { grille[h][j][i].eteindre(); } n++; } } } } //CELLULES class Cell { float x,y; float w,h; Cell(float tempX, float tempY, float tempW, float tempH) { x = tempX; y = tempY; w = tempW; h = tempH; } void allumer() { stroke (0); //contour noir fill (255); //interieur blanc rect(x,y,w,h); //dessine les cellules } void eteindre() { stroke (0); fill (0); rect(x,y,w,h); } } //MAJ void keyPressed() { switch (key) { case 'a': arrayCopy(motifA,motif); break; case 'b': arrayCopy(motifB,motif); break; case 'c': arrayCopy(motifC,motif); break; case 'e': arrayCopy(motifE,motif); break; case 'f': arrayCopy(motifF,motif); break; case 'i': arrayCopy(motifI,motif); break; case 'l': arrayCopy(motifL,motif); break; case 'm': arrayCopy(motifM,motif); break; case 'n': arrayCopy(motifN,motif); break; case 'p': arrayCopy(motifP,motif); break; case 's': arrayCopy(motifS,motif); break; case 't': arrayCopy(motifT,motif); break; case 'v': arrayCopy(motifV,motif); break; case 'u': arrayCopy(motifU,motif); break; case 'x': arrayCopy(motifX,motif); break; } // String nouveau=ruban_array[0].replace(key,c); ruban_array[0]=nouveau; println(ruban_array); //bloc++; }