Notes on Chess Piece Class I have following this tutorial http://www.chessbin.com/post/Chess-Piece-Representation to build simple chess engine right now .

at the very first step of Chess Piece Class there are many things confuse me.

why do we need many values to evaluate a chess piece for example :

pieceValue , pieceActionValue, AttackingValue, DefendingValue.

and is there any standard numerical values for evaluating chess pieces ?

Thanks
Chess engine algorithms are implementation dependent, thus there is no such thing as "standard numerical values". Unfortunately, you will need to come up with your own values. However, you can apply some common sense such as the piece value for a queen must be higher than a rook. If you're confused, please take a look at the TSCP source code. It's a very simple chess engine.

Everything you mention is standard in chess. When you play chess, you do look the attacking/defending pieces, right?

Please take a read on:


https://chessprogramming.wikispaces.com/Evaluation


Modern chess engines such as Stockfish has many more evaluation terms. The difficulty in coding a evaluation function is the main motivation for machine learning (neural networks).