Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # writing the silly evaluation function for our chess engine
- import chess
- pawntable = [
- 0, 0, 0, 0, 0, 0, 0, 0,
- 50, 50, 50, 50, 50, 50, 50, 50,
- 10, 10, 20, 30, 30, 20, 10, 10,
- 5, 5, 10, 25, 25, 10, 5, 5,
- 0, 0, 0, 20, 20, 0, 0, 0,
- 5, -5, -10, 0, 0, -10, -5, 5,
- 5, 10, 10, -20, -20, 10, 10, 5,
- 0, 0, 0, 0, 0, 0, 0, 0]
- knighttable = [
- -50, -40, -30, -30, -30, -30, -40, -50,
- -40, -20, 0, 0, 0, 0, -20, -40,
- -30, 0, 10, 15, 15, 10, 0, -30,
- -30, 5, 15, 20, 20, 15, 5, -30,
- -30, 0, 15, 20, 20, 15, 0, -30,
- -30, 5, 10, 15, 15, 10, 5, -30,
- -40, -20, 0, 5, 5, 0, -20, -40,
- -50, -40, -30, -30, -30, -30, -40, -50,
- ]
- bishoptable = [
- -20, -10, -10, -10, -10, -10, -10, -20,
- -10, 0, 0, 0, 0, 0, 0, -10,
- -10, 0, 5, 10, 10, 5, 0, -10,
- -10, 5, 5, 10, 10, 5, 5, -10,
- -10, 0, 10, 10, 10, 10, 0, -10,
- -10, 10, 10, 10, 10, 10, 10, -10,
- -10, 5, 0, 0, 0, 0, 5, -10,
- -20, -10, -10, -10, -10, -10, -10, -20,
- ]
- rooktable = [
- -20, -10, -10, -10, -10, -10, -10, -20,
- -10, 0, 0, 0, 0, 0, 0, -10,
- -10, 0, 5, 10, 10, 5, 0, -10,
- -10, 5, 5, 10, 10, 5, 5, -10,
- -10, 0, 10, 10, 10, 10, 0, -10,
- -10, 10, 10, 10, 10, 10, 10, -10,
- -10, 5, 0, 0, 0, 0, 5, -10,
- -20, -10, -10, -10, -10, -10, -10, -20,
- ]
- queentable = [
- -20, -10, -10, -5, -5, -10, -10, -20,
- -10, 0, 0, 0, 0, 0, 0, -10,
- -10, 0, 5, 5, 5, 5, 0, -10,
- -5, 0, 5, 5, 5, 5, 0, -5,
- 0, 0, 5, 5, 5, 5, 0, -5,
- -10, 5, 5, 5, 5, 5, 0, -10,
- -10, 0, 5, 0, 0, 0, 0, -10,
- -20, -10, -10, -5, -5, -10, -10, -20
- ]
- def eval(board, white):
- score = 900 * (len(board.pieces(6, 1)) - len(board.pieces(6, 0))) + 90 * (len(board.pieces(5, 1)) - len(board.pieces(5, 0))) + 50 * (len(board.pieces(4, 1)) - len(board.pieces(4, 0))) + 30.25 * (len(board.pieces(3, 1)) - len(board.pieces(3, 0))) + 30 * (len(board.pieces(2, 1)) - len(board.pieces(2, 0))) + 10 * (len(board.pieces(1, 1)) - len(board.pieces(1, 0)))
- if not white:
- return -score
- else:
- return score
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement