JSFiddle - React, Tailwind, and code Playground

scrabble - ce qui est donné aux élèves

by M.V. 414

HTML

<div id='aff'>

</div>

CSS

table td{ border:1px solid blue; width:50px; text-align:center; }

JavaScript

// FONCTIONS GENERALISTES DONNEES PAR LE PROFESSEUR
// Fonction de création d'un tableau de taille m x n contenant la valeur val.
var CreationTableau_m_n_val = function(m,n,val){
    var a, i, j, mat=[];
    for(i=0; i<m; i+=1){
        a=[];
        for(j=0; j<n; j+=1){
            a[j]=val;
        }
        mat[i]=a;
    }
    return mat;
};
// Fonction d'affichage partiel d'un array d'objets jsons 
// sous la forme d'une table html
function affichage_partiel_array2D(array,nbrlig,nbrcol){
   var arraystring="<table>";
   for (i = 0; i < Math.min(nbrlig,array.length); i++) {
       arraystring +="<tr>";
       for (j = 0; j < Math.min(nbrcol,array[i].length); j++) {
				  var contenu = (array[i][j]['l']==="")?"&nbsp;":array[i][j]['l'];
          arraystring +="<td>"+contenu+"</td>";		
       }
       arraystring +="</tr>";
   }
   arraystring +="</table>";
   return arraystring;
}

// DEFINITION DES VARIABLES GLOBALES
var jeu = CreationTableau_m_n_val(15,15,{'l':'','b':1});
var bonus = [{l:0,c:4,v:2},{l:2,c:6,v:2},{l:3,c:0,v:2},{l:3,c:7,v:2},{l:6,c:2,v:2},{l:6,c:6,v:2},{l:7,c:3,v:2}, // 2
             {l:1,c:5,v:3},{l:5,c:1,v:3},{l:5,c:5,v:3},                                                         // 3
             {l:1,c:1,v:4},{l:2,c:2,v:4},{l:3,c:3,v:4},{l:4,c:4,v:4},{l:7,c:7,v:4},                             // 4
             {l:0,c:0,v:5},{l:0,c:7,v:5},{l:7,c:0,v:5}];                                                        // 5
// On exploite les symétries du plateau de jeu pour indiquer les bonus des autres cases :
bonus.forEach(function (value, i) {
    jeu[value.l][value.c]={'l':'','b':value.v};
    jeu[14-value.l][value.c]={'l':'','b':value.v};
    jeu[value.l][14-value.c]={'l':'','b':value.v};
    jeu[14-value.l][14-value.c]={'l':'','b':value.v};
});

var lettres = [ {lett:'*', pts:0, nbr: 2},
                {lett:'E', pts:1, nbr: 15},{lett:'A', pts:1, nbr: 9},{lett:'I', pts:1, nbr: 8},{lett:'N', pts:1, nbr: 6},{lett:'O', pts:1, nbr: 6},
            ...