Comments (4)
The Chess object is stateful and currently doesn't easily support switching colors without making a move. You can use this in a pinch:
const side = "b";
const [position, _, castling] = chess.fen().split(" ");
const fen = `${position} ${side} ${castling} - 0 1`;
chess.load(fen);
console.log(chess.moves());
Keep in mind this code could allow undefined/illegal behavior (e.g. switching sides while one side is in check).
from chess.js.
I appreciate the response. I tried it and it worked. Thank you!
from chess.js.
Hello, I am using the .moves function but it seem not to be getting all the possible moves for a piece at a particular position. This is how am using it:
`__stFunExt.findPossibleMoves = function(type, color, to) {
const board = new Chess();
if(color === "white"){
board.put({type: type, color: 'w'}, to);
}
if(color === "black") {
const side = "b";
const [position, _, castling] = board.fen().split(" ");
const fen = `${position} ${side} ${castling} - 0 1`;
board.load(fen);
board.put({type: type, color: 'b'}, to);
}
const possibleMoves = board.moves({square: to});`
Is there something wrong with how am using it?
from chess.js.
I think I know the issue in my code, When I create an instance of Chess(), a board is initialized and it has the pieces set to their default positions. To correct this I have to use a single instance and update it whenever a move is made, Help me confirm if this is right. Thanks.
from chess.js.
Related Issues (20)
- Chuck
- [Question] After I load a pgn, how can I get the fen after the Nth ply? HOT 1
- isAttacked is not working HOT 4
- Minimalist Chess
- Chess960 - Wrong Move - Possible Castling HOT 1
- Less Strict FEN Validation HOT 8
- detect "chess pieces" had destroyed HOT 1
- unable to set side to move
- [Question]: How to access the various fields in .moves({ verbose: true}) HOT 1
- Using chess.js in Quasar/Vue app has issues with _positionCounts when used in pinia store HOT 2
- Short pawn moves like 'ab', 'de' etc.
- unique id for each piece HOT 1
- Typescript not compiling HOT 1
- Feature Request: halfMove number in getComments()
- `.moves()` can provide moves that throw an "invalid move" error
- Reversed board HOT 1
- How to get the from and to square from SAN? HOT 1
- .attackers() function is not working
- .attackers() function added but not released
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chess.js.