Tuesday, April 22, 2014

Ingredients for a Chess Engine

I've been fantasizing about starting to write a chess engine based on human-like thought processes, not brute-forcing move trees like normal engines. I obviously don't have the time for that, but I did think about some essential modules and code fragments that might go into it. If anybody wants to write such a thing, here's a good place to start? I imagine starting out with it just picking a random legal move.

  • Board class
  • Move struct
  • IsLegalMove method
  • IsInCheck method
  • GetAllLegalMoves method
  • GetPieceMoves method
  • IsAttacking method
  • IsDefended method
This clearly is not very thoroughly thought out. Hopefully, for the sake of my sanity, this won't turn into a project.

No comments:

Post a Comment