Advertisement
Guest User

Untitled

a guest
May 25th, 2017
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. # writing the silly evaluation function for our chess engine
  2.  
  3. import chess
  4.  
  5. pawntable = [
  6. 0, 0, 0, 0, 0, 0, 0, 0,
  7. 50, 50, 50, 50, 50, 50, 50, 50,
  8. 10, 10, 20, 30, 30, 20, 10, 10,
  9. 5, 5, 10, 25, 25, 10, 5, 5,
  10. 0, 0, 0, 20, 20, 0, 0, 0,
  11. 5, -5, -10, 0, 0, -10, -5, 5,
  12. 5, 10, 10, -20, -20, 10, 10, 5,
  13. 0, 0, 0, 0, 0, 0, 0, 0]
  14.  
  15. knighttable = [
  16. -50, -40, -30, -30, -30, -30, -40, -50,
  17. -40, -20, 0, 0, 0, 0, -20, -40,
  18. -30, 0, 10, 15, 15, 10, 0, -30,
  19. -30, 5, 15, 20, 20, 15, 5, -30,
  20. -30, 0, 15, 20, 20, 15, 0, -30,
  21. -30, 5, 10, 15, 15, 10, 5, -30,
  22. -40, -20, 0, 5, 5, 0, -20, -40,
  23. -50, -40, -30, -30, -30, -30, -40, -50,
  24. ]
  25.  
  26. bishoptable = [
  27. -20, -10, -10, -10, -10, -10, -10, -20,
  28. -10, 0, 0, 0, 0, 0, 0, -10,
  29. -10, 0, 5, 10, 10, 5, 0, -10,
  30. -10, 5, 5, 10, 10, 5, 5, -10,
  31. -10, 0, 10, 10, 10, 10, 0, -10,
  32. -10, 10, 10, 10, 10, 10, 10, -10,
  33. -10, 5, 0, 0, 0, 0, 5, -10,
  34. -20, -10, -10, -10, -10, -10, -10, -20,
  35. ]
  36.  
  37. rooktable = [
  38. -20, -10, -10, -10, -10, -10, -10, -20,
  39. -10, 0, 0, 0, 0, 0, 0, -10,
  40. -10, 0, 5, 10, 10, 5, 0, -10,
  41. -10, 5, 5, 10, 10, 5, 5, -10,
  42. -10, 0, 10, 10, 10, 10, 0, -10,
  43. -10, 10, 10, 10, 10, 10, 10, -10,
  44. -10, 5, 0, 0, 0, 0, 5, -10,
  45. -20, -10, -10, -10, -10, -10, -10, -20,
  46. ]
  47.  
  48. queentable = [
  49. -20, -10, -10, -5, -5, -10, -10, -20,
  50. -10, 0, 0, 0, 0, 0, 0, -10,
  51. -10, 0, 5, 5, 5, 5, 0, -10,
  52. -5, 0, 5, 5, 5, 5, 0, -5,
  53. 0, 0, 5, 5, 5, 5, 0, -5,
  54. -10, 5, 5, 5, 5, 5, 0, -10,
  55. -10, 0, 5, 0, 0, 0, 0, -10,
  56. -20, -10, -10, -5, -5, -10, -10, -20
  57. ]
  58.  
  59.  
  60. def eval(board, white):
  61. 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)))
  62. if not white:
  63. return -score
  64. else:
  65. return score
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement