Доброго времени суток уважаемые Знатоки!
Помогите пожалуйста разобраться почему в функции VerificationEnsemble не добавляет очко игроку.
<!DOCTYPE html>
<html>
<head>
<script>
var namePlayer = prompt("What is your name:","Player");
var timeFixe = 1000*prompt("Give the time for the tour(in secondes):","100");
var pointsPlayer = 0;
var pointsComp = 0;
</script>
</head>
<body>
<script>
var doCartes = function() {
var element = ["A","B","C"];
var compteur = 0;
for (var i=0; i<numValeur; i++) {
for (var j=0; j<numValeur; j++) {
for (var k=0; k<numValeur; k++) {
for (var l=0; l<numValeur; l++) {
cartes[compteur] = element[i]+element[j]+element[k]+element[l];
compteur++;
}
}
}
}
};
var shuffleCartes = function(cartes)//эта функция перемешивает карты но почему то не работает
{
if (cartes && cartes.length) {
for (var i=0; i<cartes.length; ++i) {
var j = Math.floor(Math.random() * cartes.length);
if (i !== j)
swap(cartes,i,j);
}
}
return cartes;
};
var carteOnClick = function(cell) {
tab = document.getElementById("ensemble");
if (cell.style.background == "") { // добавляют карту к сет
for (var i = 0; i < 3; i++) {
if (tab[i].value == "") {
tab[i].value = cell.innerText;
cell.style.background = "aqua";
break;
}
}
} else if (cell.style.background == "aqua") { // уберают карту из сета
cell.style.background = "";
for (var i = 0; i < 3; i++) {
if (tab[i].value == cell.innerText) {
for (var j=i+1; j<3; j++) tab[j-1].value = tab[j].value;
break;
}
}
tab[2].value = "";
}
};
<!-- этот код генерирует таблицу с элементами то есть картами. -->
function genererPlateauCartes() {
// get the reference for the body
var body = document.getElementsByTagName("body")[0];
// creates a <table> element and a <tbody> element
var tbl = document.createElement("table");
var tblBody = document.createElement("tbody");
// creating all cells
for (var i = 0; i < 4; i++) {
// creates a table row
var row = document.createElement("tr");
for (var j = 0; j < 3; j++) {
// Create a <td> element and a text node, make the text
// node the contents of the <td>, and put the <td> at
// the end of the table row
var cell = document.createElement("td");
var cellText = document.createTextNode(cartes[prochaineCarte++]);
cell.onclick = function() { carteOnClick(this) };
cell.appendChild(cellText);
row.appendChild(cell);
}
// add the row to the end of the table body
tblBody.appendChild(row);
}
// put the <tbody> in the <table>
tbl.appendChild(tblBody);
// appends <table> into <body>
body.appendChild(tbl);
// sets the border attribute of tbl to 1;
tbl.setAttribute("border", "3");
};
</script>
<h1> Set! </h1>
<h2 id="timer"> оставшиеся время</h2>
<script>
<!-- определяет таблицу карт. Имеются 81 карта. -->
var numFacteur = 4;
var numValeur = 3;
var numCartes = Math.pow(3,4);
var cartes = Array(numCartes);
var prochaineCarte = 0;
doCartes();
shuffleCartes();
genererPlateauCartes();
var od = Date.now()+timeFixe;
var myVar = setInterval(function(){myTimer()},1000);
var endOfRound = setInterval(function(){finTour()},timeFixe);
var myTimer = function() {
var d=Date.now();
// var t=d.toLocaleTimeString();
var timerSeconds = Math.round((od-d)/1000);
if (timerSeconds >= 0) {
document.getElementById("timer").innerHTML= "Time left for this tour: "+timerSeconds;
}
};
var tourOfComp = function() {
/*Если это возможно то компьютер должен выбрать Сет (то есть карты которые
* состовляют Сет) и добавить себе очко и выбрать карты из колоды что бы
* заполнить недостающие в таблице
* Если же это невозможно сделать то тогда выбрать карты наугад и
* добавить карты из колоды и заменить избранные при этом очки компьютеру
* не добавляются*/
};
var finTour = function() {
// выполнить роль компьютера
// возобновить время
od = Date.now()+timeFixe;
};
var verificationEnsemble = function() {
var tab = document.getElementById("ensemble");
var mot0= tab.children[0].value;
var mot1= tab.children[1].value;
var mot2= tab.children[2].value;
if ((mot0.charAt(0)==mot1.charAt(0)&& mot0.charAt(0)==mot2.charAt(0)||
mot0.charAt(0)!=mot1.charAt(0)&& mot0.charAt(0)!= mot2.charAt(0)&&
mot1.charAt(0)!=mot2.charAt(0))&&(mot0.charAt(1)==mot1.charAt(1)
&& mot0.charAt(1)==mot2.charAt(1)||mot0.charAt(1)!=mot1.charAt(1)
&&mot0.charAt(1)!=mot2.charAt(1)&&mot1.charAt(1)!=mot2.charAt(1))
&&(mot0.charAt(2)==mot1.charAt(2)&&mot0.charAt(2)==mot2.charAt(2)
||mot0.charAt(2)!=mot1.charAt(2)&&mot0.charAt(2)!=mot2.charAt(2)
&&mot1.charAt(2)!=mot2.charAt(2))&&(mot0.charAt(3)==mot1.charAt(3)
&&mot0.charAt(3)==mot2.charAt(3)||mot0.charAt(3)!=mot1.charAt(3)
&&mot0.charAt(3)!=mot2.charAt(3)&&mot1.charAt(3)!=mot2.charAt(3)))
//alert("Bravo!");
pointsPlayer++;
else
(pointsPlayer --);
return (pointsPlayer);
/* В этой функции нужно проверит есть ли Сет ну это я уже проверила
Uncaught SyntaxError: Unexpected token ILLEGAL
* Если Сет есть то нужно добавить очко игроку (но оно не добавляется
* почему то) а также выбрать три другие карты из колоды что бы заменить
* взятые карты
* Затем если нету Сет то теперь компьютер выбирает карты
};
</script>
<br>
<!-- Voici les cartes choisi pour l'ensemble -->
<!-- ils sont accessibles par id "ensemble", voit le fonction carteOnClick --
-- pour un exemple comment utiliser -->
<h4> Ensemble: </h4>
<form id="ensemble">
<input type=text maxlength=4 size=4 readOnly=true />
<input type=text maxlength=4 size=4 readOnly=true />
<input type=text maxlength=4 size=4 readOnly=true />
<input type="button" value="Verifier!" onclick="verificationEnsemble()" />
</form>
<br>
<h2> Les Points </h2>
<h3 id="points">
<script>
document.write(namePlayer + ": " + pointsPlayer + "<br>")
document.write("Computer: " + pointsComp)
</script>
</h3>
</body>