]>
git.immae.eu Git - perso/Denise/bingo.git/blob - static/outilspage.js
1 /* Calcul des scores */
2 var points_par_case
= 1 ;
3 var points_par_ligne
= 10 ;
8 var couleur_base
= "rgb(238, 238, 238)" ;
9 var couleur_valide
= 'rgb(255, 136, 136)' ;
12 // Valide la case et la colore en rouge
13 function validecase(elem
) {
14 elem
.style
.backgroundColor
= couleur_valide
;
20 function effacegrille() {
21 var table
=document
.getElementById("grille") ;
22 var listetd
= table
.getElementsByTagName("td") ;
23 for (var i
=0; i
< listetd
.length
; i
++){
24 listetd
[i
].style
.backgroundColor
= couleur_base
;
29 // mettre à jour le score si on veut
30 function metscore(score
) {
31 document
.getElementById("score").innerHTML
= score
;
34 // Compte les lignes, colonnes et diagonales de la grille et met à jour le score
35 function detectelignes(elem
) {
36 var table
=document
.getElementById("grille") ;
37 var listelignes
= table
.getElementsByTagName("tr") ;
38 var nblignes
= listelignes
.length
;
39 var nbcolonnes
= listelignes
[0].children
.length
;
43 var nb_lignes_completes
= 0 ;
45 for(i
=0; i
<nblignes
; i
++) {
47 for(j
=0; j
<nbcolonnes
; j
++) {
49 //alert(listelignes[i].children[j].style.backgroundColor) ;
50 if(listelignes
[i
].children
[j
].style
.backgroundColor
!= couleur_valide
) {
51 // c'est pas une ligne, dommage
53 //alert("la ligne "+i+"n'est pas remplie, vu à la colonne "+j) ;
58 nb_lignes_completes
+=1 ;
63 var nb_colonnes_completes
= 0 ;
64 for(j
=0; j
<nbcolonnes
; j
++) {
66 for (i
=0; i
<nblignes
; i
++) {
67 if(listelignes
[i
].children
[j
].style
.backgroundColor
!= couleur_valide
) {
68 // c'est pas une colonne, dommage
74 nb_colonnes_completes
+=1 ;
79 var nb_diagonales_1
= 0 ;
80 var nb_diagonales_2
= 0 ;
81 if(nblignes
<= nbcolonnes
) {
82 // Les diagonales se comptent horizontalement : "\\\" et "///"
83 for(i
=0; i
<nbcolonnes
- nblignes
+1; i
++) {
86 for(j
=0; j
<nblignes
; j
++) {
87 if(listelignes
[j
].children
[i
+j
].style
.backgroundColor
!= couleur_valide
) {
98 for(j
=0; j
<nblignes
; j
++) {
99 if(listelignes
[j
].children
[nbcolonnes
-i
-j
-1].style
.backgroundColor
!= couleur_valide
) {
109 } else { // les diagonales vont se compter "verticalement"
110 for(i
=0; i
<nblignes
- nbcolonnes
+1; i
++) {
113 for(j
=0; j
<nbcolonnes
; j
++) {
114 if(listelignes
[i
+j
].children
[j
].style
.backgroundColor
!= couleur_valide
) {
125 for(j
=0; j
<nbcolonnes
; j
++) {
126 if(listelignes
[nblignes
-i
-j
-1].children
[j
].style
.backgroundColor
!= couleur_valide
) {
138 // Compter les cases utilisées
140 for(i
=0; i
<nblignes
; i
++) {
141 for(j
=0; j
<nbcolonnes
; j
++) {
142 if (listelignes
[i
].children
[j
].style
.backgroundColor
== couleur_valide
) {
150 // Mettre le score à jour
151 score
= (nb_lignes_completes
+ nb_colonnes_completes
+ nb_diagonales_1
+ nb_diagonales_2
) *points_par_ligne
+ nbcases
;