-
Notifications
You must be signed in to change notification settings - Fork 0
/
controller.js
113 lines (91 loc) · 3.36 KB
/
controller.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
var myApp = angular.module('myApp', []);
myApp.controller('controller', function($scope, $timeout) {
$scope.board =
[
[ { value: '-'}, { value: '-'}, { value: '-'} ],
[ { value: '-' }, { value: '-' }, { value: '-' } ],
[ { value: '-' }, { value: '-' }, { value: '-' } ]
];
var round = 0;
$scope.winningPlayer = 0;
$scope.reset = function() {
$scope.change();
round = 0;
$scope.currentPlayer = 'X';
$scope.winner = false;
$scope.cat = false;
$scope.isTaken = function(cell) {
return $scope.disabled= false;
};
$scope.isTaken = function(cell) {
return cell.value !== '-';
};
$scope.showWin = false;
$scope.showTye = false;
};
$scope.change = function() {
var x, y;
var appElement = document.querySelector('[ng-app=myApp]');
$timeout(function() {
$scope.$apply(function() {
for (x = 0; x <= 2; x++)
for (y = 0; y <= 2; y++) {
$scope.board[x][y].value = '-';
}
});
}, 0);
}
$scope.reset();
$scope.isTaken = function(cell) {
return cell.value !== '-';
};
var checkForMatch = function(cell1, cell2, cell3) {
return cell1.value === cell2.value &&
cell1.value === cell3.value &&
cell1.value !== '-';
};
var blockButtons = function()
{
$scope.isTaken = function(cell) {
return cell.value !== '-' || cell.value === '-';
};
}
//horizontal
var checkForEndOfGame = function() {
for (var y = 0; y <= 2; y++)
for (var x = 0; x <= 2; x++)
if ($scope.board[x][0].value == 'X' && $scope.board[x][1].value == 'X' && $scope.board[x][2].value == 'X' ||
$scope.board[0][y].value == 'X' && $scope.board[1][y].value == 'X' && $scope.board[2][y].value == 'X' ||
$scope.board[0][0].value == 'X' && $scope.board[1][1].value == 'X' && $scope.board[2][2].value == 'X' ||
$scope.board[2][0].value == 'X' && $scope.board[1][1].value == 'X' && $scope.board[0][2].value == 'X'
) {
$scope.winningPlayer = "X";
blockButtons();
$scope.showWin = true;
}
for (var y = 0; y <= 2; y++)
for (var x = 0; x <= 2; x++)
if ($scope.board[x][0].value == 'O' && $scope.board[x][1].value == 'O' && $scope.board[x][2].value == 'O' ||
$scope.board[0][y].value == 'O' && $scope.board[1][y].value == 'O' && $scope.board[2][y].value == 'O' ||
$scope.board[0][0].value == 'O' && $scope.board[1][1].value == 'O' && $scope.board[2][2].value == 'O' ||
$scope.board[2][0].value == 'O' && $scope.board[1][1].value == 'O' && $scope.board[0][2].value == 'O'
) {
$scope.winningPlayer = "O";
$scope.showWin = true;
// $scope.showTye = true;
}
if(round ==8 && $scope.showWin == false)
{
$scope.showTye = true;
}
return $scope.winner || $scope.cat;
};
$scope.move = function(cell) {
cell.value = $scope.currentPlayer;
if (checkForEndOfGame() === false) {
$scope.currentPlayer = $scope.currentPlayer === 'X' ? 'O' : 'X';
$scope.round = round++;
console.log($scope.round);
}
};
});