equal
deleted
inserted
replaced
79 for (var i = 0; i < 4; i++) |
79 for (var i = 0; i < 4; i++) |
80 for (var j = 0; j < 4; j++) |
80 for (var j = 0; j < 4; j++) |
81 brd.brd[i][j] = this.brd[i][j]; |
81 brd.brd[i][j] = this.brd[i][j]; |
82 return brd; |
82 return brd; |
83 } |
83 } |
|
84 BoardArr2d.prototype.free = function() { |
|
85 var cnt = 0; |
|
86 for (var i = 0; i < 4; i++) |
|
87 for (var j = 0; j < 4; j++) |
|
88 if (this.brd[i][j] === 0) |
|
89 cnt++; |
|
90 return cnt; |
|
91 } |
84 BoardArr2d.prototype.score = function() { |
92 BoardArr2d.prototype.score = function() { |
85 var score = 0; |
93 var score = 0; |
86 for (var i = 0; i < 4; i++) { |
94 for (var i = 0; i < 4; i++) { |
87 for (var j = 0; j < 4; j++) { |
95 for (var j = 0; j < 4; j++) { |
88 var v = this.brd[i][j]; |
96 var v = this.brd[i][j]; |
98 for (var j = 0; j < 4; j++) { |
106 for (var j = 0; j < 4; j++) { |
99 max = Math.max(max, this.brd[i][j]); |
107 max = Math.max(max, this.brd[i][j]); |
100 } |
108 } |
101 } |
109 } |
102 return max; |
110 return max; |
|
111 } |
|
112 BoardArr2d.prototype.find = function(val) { |
|
113 var xy = []; |
|
114 for (var i = 0; i < 4; i++) { |
|
115 for (var j = 0; j < 4; j++) { |
|
116 if (this.brd[i][j] === val) |
|
117 xy.push([i,j]); |
|
118 } |
|
119 } |
|
120 return xy; |
|
121 } |
|
122 BoardArr2d.prototype.atEdge = function(val) { |
|
123 var brd = this.brd; |
|
124 return (brd[0][0] === val) || (brd[0][1] === val) || (brd[0][2] === val) || (brd[0][3] === val) |
|
125 || (brd[1][0] === val) || (brd[1][3] === val) |
|
126 || (brd[2][0] === val) || (brd[2][3] === val) |
|
127 || (brd[3][0] === val) || (brd[3][1] === val) || (brd[3][2] === val) || (brd[3][3] === val); |
|
128 } |
|
129 BoardArr2d.prototype.atCorner = function(val) { |
|
130 var brd = this.brd; |
|
131 return (brd[0][0] === val) || (brd[0][3] === val) || (brd[3][0] === val) || (brd[3][3] === val); |
103 } |
132 } |
104 |
133 |
105 BoardArr2d.prototype.canRight = function() { |
134 BoardArr2d.prototype.canRight = function() { |
106 for (var i = 0; i < 4; i++) { |
135 for (var i = 0; i < 4; i++) { |
107 var f0 = this.brd[i][0], f1 = this.brd[i][1], f2 = this.brd[i][2], f3 = this.brd[i][3]; |
136 var f0 = this.brd[i][0], f1 = this.brd[i][1], f2 = this.brd[i][2], f3 = this.brd[i][3]; |