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.
buffer_size_warning: Calling strncpy with a maximum size argument of 1024 bytes on destination array <unnamed>::StartFEN of size 1024 bytes might leave the destination string unterminated.