diff --git a/src/index.js b/src/index.js
index 2c31cf8..520c855 100644
--- a/src/index.js
+++ b/src/index.js
@@ -67,19 +67,18 @@ function isKing(piece) {
}
function Square(props) {
- let bg = {
- backgroundImage: `url(${Images[props.value]})`,
- backgroundSize: `100%`,
- backgroundColor: props.bg,
- };
- return (
-
- );
+ return (
+
+ );
}
class Board extends React.Component {
@@ -92,7 +91,6 @@ class Board extends React.Component {
heldPiece: null,
},
};
- this.reset();
}
setHand(hand) {
@@ -138,7 +136,7 @@ class Board extends React.Component {
return [x, y];
}
- squareAt(x, y) {
+ pieceAt(x, y) {
let i = x + (y * 8);
if (i < 64 && x < 8 && y < 8) {
return this.state.squares[x + (y * 8)];
@@ -148,19 +146,19 @@ class Board extends React.Component {
}
whiteAt(x, y) {
- let square = this.squareAt(x, y);
+ let square = this.pieceAt(x, y);
if (square == null) {
return false;
}
- return square < Pieces.BlackPawn;
+ return isWhite(square);
}
blackAt(x, y) {
- let square = this.squareAt(x, y);
+ let square = this.pieceAt(x, y);
if (square == null) {
return false;
}
- return square >= Pieces.BlackPawn;
+ return isBlack(square);
}
isEnemyOf(piece, x, y) {
@@ -172,7 +170,7 @@ class Board extends React.Component {
var i;
var moves = [];
let tryAddMove = (x, y) => {
- if (this.squareAt(x, y) == null) {
+ if (this.pieceAt(x, y) == null) {
moves.push([x, y]);
// Keep searching
return 0;
@@ -188,9 +186,9 @@ class Board extends React.Component {
let shift = pieceIsBlack ? -1 : 1;
let startLine = pieceIsBlack ? 6 : 1;
- if (this.squareAt(x, y + shift) == null) {
+ if (this.pieceAt(x, y + shift) == null) {
moves.push([x, y + shift]);
- if (y === startLine && this.squareAt(x, y + (shift * 2)) == null) {
+ if (y === startLine && this.pieceAt(x, y + (shift * 2)) == null) {
moves.push([x, y + (shift * 2)]);
}
}
@@ -295,14 +293,14 @@ class Board extends React.Component {
let moves = this.getValidMoves(i);
for(var j = 0; j < moves.length; j++) {
if(moves[j][0] === blackKing[0] && moves[j][1] === blackKing[1]) {
- return true;
+ return Pieces.BlackKing;
} else if(moves[j][0] === whiteKing[0] && moves[j][1] === whiteKing[1]) {
- return true;
+ return Pieces.WhiteKing;
}
}
}
- return false;
+ return null;
}
checkmate() {
@@ -382,7 +380,7 @@ class Board extends React.Component {
this.handleClick(i)}
- bg={bgColor}
+ bgColor={bgColor}
/>
);
}
@@ -404,10 +402,8 @@ class Board extends React.Component {
}
render() {
- const winner = calculateWinner(this.state.squares);
let checkMsg = this.inCheck() ? "Check! " : "";
- let status = winner ?
- 'Winner: ' + winner :
+ const status =
checkMsg + (this.state.blackIsNext ? 'Black' : 'White') + "'s Turn";
var texttext =
@@ -421,7 +417,6 @@ class Board extends React.Component {
{this.row(5)}
{this.row(6)}
{this.row(7)}
- {this.inCheck()}
;
@@ -453,23 +448,3 @@ ReactDOM.render(
,
document.getElementById('root')
);
-
-function calculateWinner(squares) {
- const lines = [
- [0, 1, 2],
- [3, 4, 5],
- [6, 7, 8],
- [0, 3, 6],
- [1, 4, 7],
- [2, 5, 8],
- [0, 4, 8],
- [2, 4, 6],
- ];
- for (let i = 0; i < lines.length; i++) {
- const [a, b, c] = lines[i];
- if (squares[a] && squares[a] === squares[b] && squares[a] === squares[c]) {
- return squares[a];
- }
- }
- return null;
-}