Browse by Tags

All Tags » Chess » Games4 .NET (RSS)

Visualizations help, so I've uploaded a BitBoard viewer for the chess algorithms to Project Distributor

Yeah, yeah, yeah, I'm still pimping out Project Distributor, but it really is a great little tool. We should be able to go live and take new users/groups soon, and the source code may get posted up as a project as well so you can host your very own toolbox...
Posted by Justin Rogers | 11 comment(s)
Filed under: ,

I had some awful rook move generation code before, but I refactored that into an interesting bit-shift algorithm.

There are basically two interesting ways to create rook moves. The first is what I call striping, and it involves creating data points for each rank and file on the board. This requires you create 16 longs and can be done very quickly. In fact creating...
Posted by Justin Rogers | with no comments
Filed under: ,

Move generation for a chess engine is more crucial than I originally thought. Thankfully, it is easy.

Given any location on the board, the valid destinations for a specific piece are always able to be precalculated. That means given an array of long values (BitBoards) you can store all possible moves for a specific piece by creating a 64 element array...
Posted by Justin Rogers | with no comments
Filed under: ,

Focusing back on the chess engine in order to get a chess web service up and running...

Alrighty, I'm back on the chess engine I think. I got sidetracked a bit with some other ideas, some of which I'll be hanging onto through the weekend, but the chess engine is definitely a priority. I had figured the entire process would be a bit easier...

Quickly vaidating chess moves, a mixture of performance and ingenuity. [Edit: 6:45 Oct 5th]

Validating a chess move you need the source location and the destination location. That way you can do some basic boundary checks. We'll assume that your source and destination fall in a specific and validated range on the board. For a 0 offset array...
More Posts