Skip to content

Commit 3579572

Browse files
authored
Lint
1 parent dddbe32 commit 3579572

1 file changed

Lines changed: 90 additions & 84 deletions

File tree

‎TicTacToe/script.js‎

Lines changed: 90 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
1-
var isX = true;
2-
var isValid = false;
3-
var cells = [];
4-
var player = 1;
5-
var computer = 0;
6-
var currentPlayer = 1;
7-
var result = "";
8-
var intervalId;
1+
let isX = true;
2+
let isValid = false;
3+
let cells = [];
4+
let player = 1;
5+
let computer = 0;
6+
let currentPlayer = 1;
7+
let result = '';
8+
let intervalId;
99

10-
$(document).ready(function () {
11-
$("#dialog").dialog({
10+
$(document).ready(() => {
11+
$('#dialog').dialog({
1212
resizable: false,
1313
height: 160,
1414
modal: true,
1515
buttons: {
16-
"X": function () {
16+
X() {
1717
isX = true;
18-
$(this).dialog("close");
18+
$(this).dialog('close');
1919
startGame();
2020
},
21-
"O": function () {
21+
O() {
2222
isX = false;
23-
$(this).dialog("close");
23+
$(this).dialog('close');
2424
startGame();
2525
}
2626
}
@@ -37,7 +37,7 @@ function startGame() {
3737
computer = 1;
3838
}
3939

40-
var rnd = Math.round(Math.random());
40+
const rnd = Math.round(Math.random());
4141
if (rnd === 1) {
4242
currentPlayer = player;
4343
} else {
@@ -54,12 +54,12 @@ function loop() {
5454
currentPlayer = player;
5555
}
5656

57-
$(".cell").on("click", function () {
57+
$('.cell').on('click', function() {
5858
if (isValid) {
59-
var sign = player === 0 ? "O" : "X";
59+
const sign = player === 0 ? 'O' : 'X';
6060

61-
var i = $(this).attr("id")[1] - 1;
62-
var j = $(this).attr("id")[2] - 1;
61+
const i = $(this).attr('id')[1] - 1;
62+
const j = $(this).attr('id')[2] - 1;
6363
if (cells[i][j] === -1) {
6464
cells[i][j] = player;
6565
$(this).html(sign);
@@ -71,32 +71,30 @@ function loop() {
7171
}
7272
});
7373

74-
var winner = whoWon(cells);
74+
const winner = whoWon(cells);
7575
if (winner) {
76-
if (winner === "computer") {
77-
alert("You Lost, Better Luck Next Time.");
76+
if (winner === 'computer') {
77+
alert('You Lost, Better Luck Next Time.');
7878
} else {
79-
alert("Congratulations! You Won.");
79+
alert('Congratulations! You Won.');
8080
}
8181
result = winner;
82+
} else if (isTableFull(cells)) {
83+
result = 'Tie';
84+
alert('Its a tie');
8285
}
83-
else if (isTableFull(cells)) {
84-
result = "Tie";
85-
alert("Its a tie");
86-
}
87-
if (result !== "") {
86+
if (result !== '') {
8887
clearInterval(intervalId);
89-
result = "";
88+
result = '';
9089
cells = [];
9190
clearTable();
9291
startGame();
9392
}
9493
}
9594

96-
9795
function isTableFull(cells) {
98-
for (var i in cells) {
99-
for (var j in cells[i]) {
96+
for (const i in cells) {
97+
for (const j in cells[i]) {
10098
if (cells[i][j] === -1) {
10199
return false;
102100
}
@@ -108,58 +106,65 @@ function isTableFull(cells) {
108106
function whoWon(cells) {
109107
//horizontal match
110108
for (var i in cells) {
111-
if (cells[i][0] !== -1 &&
109+
if (
110+
cells[i][0] !== -1 &&
112111
cells[i][1] !== -1 &&
113112
cells[i][2] !== -1 &&
114-
cells[i][0] === cells[i][1] && cells[i][0] === cells[i][2]) {
113+
cells[i][0] === cells[i][1] &&
114+
cells[i][0] === cells[i][2]
115+
) {
115116
if (cells[i][0] === player) {
116-
return "player";
117-
}
118-
else {
119-
return "computer";
117+
return 'player';
118+
} else {
119+
return 'computer';
120120
}
121121
}
122122
}
123123
//vertical match
124124
for (var i in cells) {
125-
if (cells[0][i] !== -1 &&
125+
if (
126+
cells[0][i] !== -1 &&
126127
cells[1][i] !== -1 &&
127128
cells[2][i] !== -1 &&
128-
cells[0][i] === cells[1][i] && cells[0][i] === cells[2][i]) {
129+
cells[0][i] === cells[1][i] &&
130+
cells[0][i] === cells[2][i]
131+
) {
129132
if (cells[0][i] === player) {
130-
return "player";
131-
}
132-
else {
133-
return "computer";
133+
return 'player';
134+
} else {
135+
return 'computer';
134136
}
135137
}
136138
}
137139

138140
//diagonal match
139-
if ((cells[0][0] !== -1 &&
140-
cells[1][1] !== -1 &&
141-
cells[2][2] !== -1 &&
142-
cells[0][0] === cells[1][1] && cells[0][0] === cells[2][2]) ||
143-
(cells[0][2] !== -1 &&
141+
if (
142+
(cells[0][0] !== -1 &&
143+
cells[1][1] !== -1 &&
144+
cells[2][2] !== -1 &&
145+
cells[0][0] === cells[1][1] &&
146+
cells[0][0] === cells[2][2]) ||
147+
(cells[0][2] !== -1 &&
144148
cells[1][1] !== -1 &&
145149
cells[2][0] !== -1 &&
146-
cells[0][2] === cells[1][1] && cells[0][2] === cells[2][0])) {
150+
cells[0][2] === cells[1][1] &&
151+
cells[0][2] === cells[2][0])
152+
) {
147153
if (cells[1][1] === player) {
148-
return "player";
149-
}
150-
else {
151-
return "computer";
154+
return 'player';
155+
} else {
156+
return 'computer';
152157
}
153158
}
154159

155160
return false;
156161
}
157162

158163
function computerMove() {
159-
var arr = freeCells();
160-
var arr2 = bestMove();
161-
var sign = computer === 0 ? "O" : "X";
162-
var x = Math.round(Math.random() * arr.length);
164+
const arr = freeCells();
165+
const arr2 = bestMove();
166+
const sign = computer === 0 ? 'O' : 'X';
167+
const x = Math.round(Math.random() * arr.length);
163168

164169
if (arr2.length >= 1) {
165170
var i = arr2[0];
@@ -169,22 +174,22 @@ function computerMove() {
169174
var j = arr[x][1];
170175
}
171176
if ((arr.length >= 1 || arr2.length >= 1) && cells[i][j] === -1) {
172-
var a = parseInt(i) + 1;
173-
var b = parseInt(j) + 1;
174-
new Promise(function (resolve, reject) {
175-
$("#c" + a + b).html(sign);
177+
const a = parseInt(i) + 1;
178+
const b = parseInt(j) + 1;
179+
new Promise((resolve, reject) => {
180+
$('#c' + a + b).html(sign);
176181
resolve();
177-
}).then(function () {
182+
}).then(() => {
178183
cells[i++][j++] = computer;
179-
})
184+
});
180185
return 0;
181186
}
182187
}
183188

184189
function freeCells() {
185-
var arr = [];
186-
for (var i in cells) {
187-
for (var j in cells[i]) {
190+
const arr = [];
191+
for (const i in cells) {
192+
for (const j in cells[i]) {
188193
if (cells[i][j] === -1) {
189194
arr.push([i, j]);
190195
}
@@ -193,14 +198,15 @@ function freeCells() {
193198
return arr;
194199
}
195200

201+
// eslint-disable-next-line complexity
196202
function bestMove() {
197-
var computerInLine = 0;
198-
var playerInLine = 0;
199-
var a = 0;
200-
var maybe = null;
203+
let computerInLine = 0;
204+
let playerInLine = 0;
205+
let a = 0;
206+
let maybe = null;
201207
//check rows
202-
for (var i in cells) {
203-
for (var j in cells[i]) {
208+
for (let i in cells) {
209+
for (let j in cells[i]) {
204210
if (cells[i][j] !== -1) {
205211
if (cells[i][j] === computer) {
206212
computerInLine++;
@@ -222,8 +228,8 @@ function bestMove() {
222228
}
223229

224230
//check columns
225-
for (var j in cells) {
226-
for (var i in cells[i]) {
231+
for (let j in cells) {
232+
for (let i in cells[i]) {
227233
if (cells[i][j] !== -1) {
228234
if (cells[i][j] === computer) {
229235
computerInLine++;
@@ -245,12 +251,12 @@ function bestMove() {
245251
}
246252

247253
//check diagonals
248-
var h = 0;
254+
let h = 0;
249255
a = -1;
250-
var b = -1;
256+
let b = -1;
251257
playerInLine = 0;
252258
computerInLine = 0;
253-
for (var k = 0; k < 3; k++) {
259+
for (let k = 0; k < 3; k++) {
254260
if (cells[k][h] !== -1) {
255261
if (cells[k][h] === computer) {
256262
computerInLine++;
@@ -277,7 +283,7 @@ function bestMove() {
277283
playerInLine = 0;
278284
computerInLine = 0;
279285

280-
for (var k = 2; k >= 0; k--) {
286+
for (let k = 2; k >= 0; k--) {
281287
if (cells[k][h] !== -1) {
282288
if (cells[k][h] === computer) {
283289
computerInLine++;
@@ -303,15 +309,15 @@ function bestMove() {
303309
}
304310

305311
function clearTable() {
306-
for (var a = 1; a <= 3; a++) {
307-
for (var b = 1; b <= 3; b++) {
308-
$("#c" + a + b).html("");
312+
for (let a = 1; a <= 3; a++) {
313+
for (let b = 1; b <= 3; b++) {
314+
$('#c' + a + b).html('');
309315
}
310316
}
311317
}
312318

313319
function emptyCells() {
314-
for (var a = 0; a < 3; a++) {
320+
for (let a = 0; a < 3; a++) {
315321
cells.push([-1, -1, -1]);
316322
}
317-
}
323+
}

0 commit comments

Comments
 (0)