Tic tac toe question

Hassoun123 Messages postés 6 Date d'inscription samedi 25 avril 2015 Statut Membre Dernière intervention 26 mai 2015 - 29 avril 2015 à 18:27
Hassoun123 Messages postés 6 Date d'inscription samedi 25 avril 2015 Statut Membre Dernière intervention 26 mai 2015 - 30 avril 2015 à 04:18
Bonjour,
j'ai ce code et je veux changer mes images a chaque fois qu'il détectent que c'est un tic tac toe

merci
<HTML>

<HEAD>

<TITLE>Tic tac toe</TITLE>
<meta charset="UTF-8">
<SCRIPT Language="JavaScript">
var xImg = "XN.png",
oImg = "ON.png";
var vide = "VN.png";
var XG = "XG.png";//nouvel image
var OG = "OG.png";
var joueur1 = true;
var fin = false;
var ligne = true;
var diag = true;
var scoreX = 0;
var scoreO = 0;
var scoreNull = 0;
const NUM_CELLS = 9;
var j=0;

//1 probleme.
function placerSigne(element) {

if (nomFichier(element.src) == vide) { // Pour commencer, vérifions si la case où on veut mettre un signe est vide

if (joueur1 == true) {

statutPartie.innerHTML = "joueur 2 c'est votre tour...";
element.src = "images/" + xImg;
joueur1 = false;

if (gagne(xImg)) {
//Lorsqu'une partie est remportée, les symboles qui forment le TicTacToe deviennent verts.



if (confirm("Joueur 1 a gagné! voulez vous recommencer?") == true) {
scoreX++;
gEBI("case").innerHTML = scoreX;
document.getElementById("demo").innerHTML = reset();

} else {
scoreX++;
gEBI("case").innerHTML = scoreX;
for (i = 0; i <= 2; i++)
for (j = 0; j <= 2; j++)
gEBI("box" + i + "_" + j).disabled = true;

}
}


} else {

statutPartie.innerHTML = "joueur 1 c'est votre tour";
joueur1 = true;
element.src = "images/" + oImg;
if (gagne(oImg)) {

if (confirm("Joueur 2 a gagné! voulez vous recommencer?") == true) {
scoreO++;
gEBI("case2").innerHTML = scoreO;
document.getElementById("demo").innerHTML = reset();

} else {
scoreO++;
gEBI("case2").innerHTML = scoreO;
for (i = 0; i <= 2; i++)
for (j = 0; j <= 2; j++)
gEBI("box" + i + "_" + j).disabled = true;
}
}


}

}
if (jeuComplet()) {
if (confirm("draw! voulez vous recommencer?") == true) {
score0++;
gEBI("case3").innerHTML = score0;
document.getElementById("demo").innerHTML = reset();
} else {
score0++;
gEBI("case3").innerHTML = score0;

}
}

}

function jeuComplet() //Fonction pour vérifier si le jeu est complet. Elle consiste à s'assurer qu'il n'y a aucunecase vide.
{

rempli = true;
i = 0;
while (i <= 2 && rempli) {
j = 0;
while (j <= 2 && rempli) {
boxSrc = nomFichier(gEBI("box" + i + "_" + j).src); //
if (boxSrc != xImg && boxSrc != oImg)
rempli = false;
else
j++;
}
i++;
}

return rempli;

}

function nomFichier(chemin) { //ici je fait une fonction qui recupere le nom du l'image.
return chemin.substring(chemin.lastIndexOf("/") + 1, chemin.length);
}

function reset() {
for (i = 0; i <= 2; i++)
for (j = 0; j <= 2; j++)
gEBI("box" + i + "_" + j).src = "images/VN.png";
joueur1 = true;
statutPartie.innerHTML = "joueur 1 c'est votre tour...";
}


function gEBI(id) { //
return document.getElementById(id);
}

function ligneH(nomImage) {
ligne = false;
i = 0;
while (i <= 2 && !ligne) {
ligne = true;
j = 0;
while (j <= 2 && ligne) {

var CaseSrc = nomFichier(gEBI("box" + i + "_" + j).src); //permet de recuperer l'attribut src
//de l'element boxi_j et le transmet à la fonction nomFichier
//box0_0 si i et j egale 0

if ( CaseSrc != nomImage)//si elle nr fait pas la ligne.
ligne = false;


if ( CaseSrc == nomImage) { //on compare le nom de cette image avec notre image et si elles sont identiques
//on increment de 1 les variables i et j.

j++;



}

i++;

}

return ligne;
}







function gagne(nomImage) {
if (ligneH(nomImage)) {
return true;
} else {
return false;
}
}

function Score() {
scoreX = 0;
gEBI("case").innerHTML = 0;
scoreO = 0;
gEBI("case2").innerHTML = 0;
score0 = 0;
gEBI("case3").innerHTML = 0;
}
</script>
</HEAD>
<style>

</style>

<body bgcolor="#EDB818">
<center>

<table cellspacing=0 cellpadding=0 style="border:1px solid black">
<tr>
<td style="border:1px solid black"><img id="box0_0" src=images/VN.png onclick=placerSigne(this) style="width:100px;height:100px;"></td>
<td style="border:1px solid black"><img id="box0_1" src=images/VN.png onclick=placerSigne(this) style="width:100px;height:100px;"></td>
<td style="border:1px solid black"><img id="box0_2" src=images/VN.png onclick=placerSigne(this) style="width:100px;height:100px;"></td>
</tr>
<tr>
<td style="border:1px solid black"><img id="box1_0" src=images/VN.png onclick=placerSigne(this) style="width:100px;height:100px;"></td>
<td style="border:1px solid black"><img id="box1_1" src=images/VN.png onclick=placerSigne(this) style="width:100px;height:100px;"></td>
<td style="border:1px solid black"><img id="box1_2" src=images/VN.png onclick=placerSigne(this) style="width:100px;height:100px;"></td>
</tr>
<tr>
<td style="border:1px solid black"><img id="box2_0" src=images/VN.png onclick=placerSigne(this) style="width:100px;height:100px;"></td>
<td style="border:1px solid black"><img id="box2_1" src=images/VN.png onclick=placerSigne(this) style="width:100px;height:100px;"></td>
<td style="border:1px solid black"><img id="box2_2" src=images/VN.png onclick=placerSigne(this) style="width:100px;height:100px;"></td>
</tr>
</table>
</center>
<tr>
<h4><span id=statutPartie>Joueur 1 c'est votre tour..</span></h4></tr>
<TABLE BORDER="1" WIDTH=100 HEIGHT=100>
<input type="button" value=" recommencer" onclick="reset();Score()">
<TR>
<TD>X</TD>
<TD id="case">0</TD>
</TR>
<TR>
<TD>O</TD>
<TD id="case2">0</TD>
</TR>
<TR>
<TD>null</TD>
<TD id="case3">0</TD>
</TR>
</input>
</TABLE>
</BODY>

</HTML>

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
29 avril 2015 à 23:18
Bonjour,
Tu nous indique ce que tu aimerais faire ...certes... mais quelle est la question ?
Sur quelle partie du code bloques tu ?

As tu regardé dans les outils de debogage de ton navigateur internet (je te conseille d'installer et d'utiliser FIREBUG pour firefox) si tu avais des messages d'erreur dans la console ?


0
Hassoun123 Messages postés 6 Date d'inscription samedi 25 avril 2015 Statut Membre Dernière intervention 26 mai 2015
30 avril 2015 à 03:08
La fonction Ligne H je n'arrive pas a changer les images quand je gagne.
cordialement
0
Hassoun123 Messages postés 6 Date d'inscription samedi 25 avril 2015 Statut Membre Dernière intervention 26 mai 2015
30 avril 2015 à 04:18
si c'est ligne horizontal change les images et met des nouveaux,je sais ce qui faut faire mais j arrive pas a l'ecrire en javascript
0
Rejoignez-nous