Skip to content

Releases: Alberto-Hache/the-crown

Code and documentation refactored

22 May 15:34
Compare
Choose a tag to compare
v0.5.0

Improve doc with game rules a bit.

Fix quiesce() to report 'None' move when 'stand pat' is chosen

02 May 11:00
Compare
Choose a tag to compare

Fix quiesce() bug when 'stand pat' is chosen; the move reported wasn't None.
Now fixed.

Fine tuned position evaluation (mid- and end-game)

01 May 15:18
Compare
Choose a tag to compare
v0.4.0

Fine tuned eval. function; refine moves preeval

Restore old position_attacked()

13 Apr 21:03
Compare
Choose a tag to compare

The new version tried performed worse than the previous one.

Optimize position_attacked()

12 Apr 17:51
Compare
Choose a tag to compare

Now avoiding for loop through itemgetter() and dropwhile().
Piece moves taken from new flat moves lists in utils.py.

Killer moves for quiesce() [depth 20]

12 Apr 19:17
Compare
Choose a tag to compare

Extend killer moves till depth 20

Killer moves added to negamax()

10 Apr 11:38
Compare
Choose a tag to compare

Killer moves:

  • Two quiet moves per ply.
  • Tried after "good looking / neutral" captures and before normal moves.
  • Only for negamax nodes (quiesce should only explore dynamic moves).
  • Kept after each move for reuse during match.

Bugs fixed:

  • Enable "game trace" to manage long matches by progressive extension of its list.

Pre-evaluation:

  • Include killer moves (see above).
  • Skip array reversion after evaluation by using negative values (lower is better).

Reuse Transposition Table from previous move(s)

06 Apr 20:55
Compare
Choose a tag to compare
v0.3.12

Reuse Transposition Table from previous move(s)

Iterative deepening (first version)

05 Apr 10:14
Compare
Choose a tag to compare
v0.3.11

Update backlog

Reuse check detections from make_pseudomove() in quiesce()

02 Apr 19:53
Compare
Choose a tag to compare
v0.3.10

Reuse check detections from make_pm() in quiesce()