В строке 13 выполняется функция startGame(). Как только это сделано, игра успешно перезапущена: доска очищена, а новая игра начата.
Ниже представлена функция checkForWin():
1 function checkForWin(){
2 var win =false;
3 var letter =null;
4 if (piece1_1.letter ==piece2_1.letter &&
.piece2_1.letter ==piece3_1.letter){
5 var letter =piece1_1.letter;
6 }
7 if (piece1_2.letter ==piece2_2.letter &&
.piece2_2.letter ==piece3_2.letter){
8 var letter =piece1_2.letter;
9 }
10 if (piece1_3.letter ==piece2_3.letter &&
.piece2_3.letter ==1 piece3_3.letter){
11 var letter =piece1_3.letter;
12 }
13 if (piece1_1.letter ==piece1_2.letter &&
.piece1_2.letter ==piece1_3.letter){
14 var letter =piece1_1.letter;
15 }
16 if (piece2_1.letter ==piece2_2.letter &&
.piece2_2.letter ==piece2_3.letter){
17 var letter =piece2_1.letter;
18 }
19 if (piece3_1.letter ==piece3_2.letter &&
.piece3_2.letter ==piece3_3.letter){
20 var letter =piece3_1.letter;
21 }
22 if (piece1_1.letter ==piece2_2.letter &&
.piece2_2.letter ==piece3_3.letter){
23 var letter =piece1_1.letter;
24 }
25 if (piece3_1.letter ==piece2_2.letter &&
.piece2_2.letter ==piece1_3.letter){
26 var letter =piece3_1.letter;
27 }
28 if (letter !=null){
29 if (letter ==myLetter){
30 gameOver(true);
31 }else {
32 gameOver(false);
33 }
34 }else if (letter ==null &&moves ==9){
35 gameOver("tie");
36 }
37 }
Несмотря на длину, эта функция очень проста: она проверяет, есть ли победитель или игра закончена, а победителя нет. В крестиках-ноликах победить можно восемью возможными способами. Вы можете выставить три символа вертикально в любой из трех колонок (это три возможности). Вы можете выставить три символа горизонтально в любой из трех строк (это другие три возможности)