Can fit:
1. d6 b4
2. f4 d2
3. c4 e3
4. f6 f2
5. b6xd2 d2
6. d5 (Bad move 39)
f5/a1/b2/d1/g1 is Good move.
Test Result:
2 2/3 X
3 OK
4 2/3 X
5 OK
6 2/3 X
7 OK
8 OK
9 X
10 X
20 OK
Both this and f3b7afc are OK:
5/7/8
The reason to raise this maximum is because for the following game.
1. f4 d2
2. b4 d6
3. d1 d5
4. d7 c4
5. g1 a1
6. g4 e4
7. g7xe4 e4
8. a7xe4 e4
9. d3 a4
10. d3-c3 d5-e5
11. c3-d3 e5-d5
12. d3-e3 c4-c5
13. f4-f2 e4-f4
14. b4-c4 d5-e5
15. e3-e4 c5-d5
16. c4-c5 d2-b2
17. d1-d2 a1-d1
18. d2-d3 b2-b4 (bad move 39. Should be a4-b4)
Set skill level to 24 and set thinking time to 0 (means infinite) can do the right move.
1. d6 f4
2. b4 d2
3. d3 e4
4. g4 d5
5. a4 c4
6. f6 (bad 35)
Test Result:
3. X
4 OK (Unique b6)
5 OK (c3/e3)
6-9 OK (Unique b6)
10. half X
11. half X
16. half X
20. OK
e67dfc5645 was invalidated by a change
in the parent commit, so it was reworked.
If first 4 moves is placing at star point, move 5 temporarily use depth 1 search
in order to make sure white player do not attack and try to block black.
(For 9ms, star point is b4/d6/f4/d2)
This changed the white's moves.
For nine men's morris:
If first 4 moves is:
1. b4 d6
2. f4 d2
Next move, white will place at a4/c4/e4/g4,
now changed to place at d7/d5/d3/d1
If first 4 moves is:
1. b4 f4
2. d6 d2
Next move, white will place at b6, it is not wrong,
Note: This is the difference between e67dfc56.
Play 100 games against with v1.1.27, Result:
27% : 11% : 62%
8% : 32% : 60%
Sum: 29.5% : 9.5% : 61%
When MTD(f) is disabled, played 1000 games, Win Rate:
New Vs. Old
25.7% : 17.1% : 57.2%
Old Vs. New
12.9% : 28.3% : 58.8%
When MTD(f) is enabled, played 250 games, Win Rate:
New Vs. Old
28.4% : 14.8% : 56.8%
Old Vs. New
10.8% : 32.0% : 57.2%
end_of_path: Changing format state of stream os for categories uppercase, basefield, fill without later restoring it.
end_of_path: Changing format state of stream std::cout for categories floatfield, precision without later restoring it.
uninit_member: Non-static class member callsCnt is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member stopOnPonderhit is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member ponder._M_base is not initialized in this constructor nor in any functions that it calls.
Fix CID 338441: Pointless string comparison (CONSTANT_EXPRESSION_RESULT)
pointless_string_compare: strcmp(rule.name, rule.name) is always 0 because rule.name is compared against itself.