File tree Expand file tree Collapse file tree 1 file changed +22
-12
lines changed Expand file tree Collapse file tree 1 file changed +22
-12
lines changed Original file line number Diff line number Diff line change @@ -174,18 +174,28 @@ class HalfKAv2_hm {
174
174
for (uint8_t us_knight_cannon = 0 ; us_knight_cannon <= 4 ; ++us_knight_cannon)
175
175
for (uint8_t opp_knight_cannon = 0 ; opp_knight_cannon <= 4 ; ++opp_knight_cannon)
176
176
v[us_rook][opp_rook][us_knight_cannon][opp_knight_cannon] = [&] {
177
- if (us_rook == opp_rook)
178
- return us_rook * 4
179
- + int (us_knight_cannon + opp_knight_cannon >= 4 ) * 2
180
- + int (us_knight_cannon == opp_knight_cannon);
181
- else if (us_rook == 2 && opp_rook == 1 )
182
- return 12 ;
183
- else if (us_rook == 1 && opp_rook == 2 )
184
- return 13 ;
185
- else if (us_rook > 0 && opp_rook == 0 )
186
- return 14 ;
187
- else // us_rook == 0 && opp_rook > 0
188
- return 15 ;
177
+ if (us_rook > opp_rook)
178
+ if (us_knight_cannon > opp_knight_cannon)
179
+ return 0 ;
180
+ else if (us_knight_cannon == opp_knight_cannon)
181
+ return 1 ;
182
+ else // us_knight_cannon < opp_knight_cannon
183
+ return 2 ;
184
+ else if (us_rook == opp_rook)
185
+ if (us_knight_cannon > opp_knight_cannon)
186
+ return 3 + us_rook;
187
+ else if (us_knight_cannon == opp_knight_cannon)
188
+ return 6 + us_rook
189
+ + int (us_rook == 0 && us_knight_cannon < 2 ? 3 : 0 );
190
+ else // us_knight_cannon < opp_knight_cannon
191
+ return 10 + us_rook;
192
+ else // us_rook < opp_rook
193
+ if (us_knight_cannon > opp_knight_cannon)
194
+ return 13 ;
195
+ else if (us_knight_cannon == opp_knight_cannon)
196
+ return 14 ;
197
+ else // us_knight_cannon < opp_knight_cannon
198
+ return 15 ;
189
199
}();
190
200
return v;
191
201
}();
You can’t perform that action at this time.
0 commit comments