Différencier 2 clics de sourie
Résolu/Fermé
unknow69250
Messages postés
10
Date d'inscription
vendredi 1 mars 2019
Statut
Membre
Dernière intervention
9 mars 2019
-
4 mars 2019 à 18:50
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 4 mars 2019 à 20:35
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 4 mars 2019 à 20:35
A voir également:
- Différencier 2 clics de sourie
- Word numéro de page 1/2 - Guide
- 2 ecran pc - Guide
- Xsarius pure 2 mode d'emploi - Forum TV & Vidéo
- France 2 uhd - Accueil - TV & Vidéo
- Formate de perver 2 ✓ - Forum Vos droits sur internet
2 réponses
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 718
Modifié le 4 mars 2019 à 20:08
Modifié le 4 mars 2019 à 20:08
Bonjour,
Sur le principe.. ton code est juste.
Voici un exemple de ce qui peut être fait :
NB: J'ai laissé la vérification des colonnes et des diagonales à ta charge
NB² : J'ai utilisé l'écriture ternaire pour certains IF
par exemple :
Qui peut s'écrire plus traditionnellement
C'est juste pour la "beauté du code et la réduction du nombre de lignes à écrire...
Voilou
Sur le principe.. ton code est juste.
Voici un exemple de ce qui peut être fait :
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>TEST</title> <style> table{ width:150px; height:150px; } table td{ width:50px; height:50px; text-align:center; } td.odd{ background-color:#ffaa11; } td.even{ background-color:#123fff; } </style> </head> <body> <table id="tbl"></table> <script type="text/javascript"> var clic = 'X'; var HTMLTableElement = document.getElementById('tbl'); function initGame(){ for(var l = 0 ; l<=2 ; l++){ var HTMLTableRowElement = HTMLTableElement.insertRow(); for(var c = 0 ; c<=2 ; c++){ var newCell = HTMLTableRowElement.insertCell(c); newCell.id = 'td_' + l + '_' + c ; newCell.onclick = function(){placeSymbole(this);}; newCell.className = (c+l)%2 ? 'odd' : 'even'; } } } function placeSymbole(elm){ cell = elm.id; console.log('Joueur a cliqué sur la cellule : ',cell); if(elm.innerHTML == ""){ elm.innerHTML = (clic == "X" ) ? "X" : "O"; //ecriture ternaire (sorte de IF/ELSE ) clic = (clic == "X" ) ? "O" : "X"; //ecriture ternaire (sorte de IF/ELSE ) verifGagne(); }else{ alert('Vous ne pouvez pas modifier une cellule déjà remplie !'); } } function verifGagne(){ var lignes = HTMLTableElement.getElementsByTagName ("tr"); //on boucle sur chaque ligne for (l=0; l<lignes.length ; l++){ var Maligne = lignes[l]; var cells = Maligne.getElementsByTagName('TD'); if(cells[0].innerHTML !="" && cells[0].innerHTML == cells[1].innerHTML && cells[1].innerHTML == cells[2].innerHTML ){ console.log('Les 3 cellules sont identiques'); alert (' Le joueur : ' + cells[0].innerHTML + ' a gagné !'); } } //faut ensuite faire la même chose pour les colonnes // puis faudra vérifier les diagonales } // Lancement du jeu initGame(); </script> </body> </html>
NB: J'ai laissé la vérification des colonnes et des diagonales à ta charge
NB² : J'ai utilisé l'écriture ternaire pour certains IF
par exemple :
elm.innerHTML = (clic == "X" ) ? "X" : "O"; //ecriture ternaire (sorte de IF/ELSE ) clic = (clic == "X" ) ? "O" : "X"; //ecriture ternaire (sorte de IF/ELSE )
Qui peut s'écrire plus traditionnellement
if(clic == "X" ){ elm.innerHTML = "X"; clic = "O"; }else{ elm.innerHTML= "O"; clic = "X"; }
C'est juste pour la "beauté du code et la réduction du nombre de lignes à écrire...
Voilou
unknow69250
Messages postés
10
Date d'inscription
vendredi 1 mars 2019
Statut
Membre
Dernière intervention
9 mars 2019
4 mars 2019 à 20:28
4 mars 2019 à 20:28
Merci de ta réponse mais je n'en demandé pas temps^^
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 718
4 mars 2019 à 20:35
4 mars 2019 à 20:35
oui je sais bien... mais j'étais inspiré.. :-)
N'oublie pas :
https://www.commentcamarche.net/infos/25917-marquer-un-fil-de-discussion-comme-etant-resolu/
N'oublie pas :
https://www.commentcamarche.net/infos/25917-marquer-un-fil-de-discussion-comme-etant-resolu/