public void generateMoves(Piece[][] squares, ArrayList<Move> validMoves, ArrayList<Move> validCaptures) {
		// for each possible direction (NE, SE, SW, NW)
		int xPos;
		int yPos;

		for (int direction = 0; direction < xMoves.length; direction++) {
			xPos = xPosition + xMoves[direction];
			yPos = yPosition + yMoves[direction];

			//Make sure the move would still be inside the board
			if (0 <= xPos && xPos <= 7 && 0 <= yPos && yPos <= 7) {

				if (squares[xPos][yPos] == null) {
					//if the square is empty
					validMoves.add(new Move(xPosition, yPosition, xPos, yPos));
				} else {
					//if the square contains a piece
					if (squares[xPos][yPos].colour == this.colour) {
						//if the square contains a friendly piece do nothing
					} else {
						validCaptures.add(new Move(xPosition, yPosition, xPos, yPos));
						//if the square contains an enemy piece
					}
				}
			}
		}
	}